pygplates.ResolveTopologyParameters

class pygplates.ResolveTopologyParameters

Bases: instance

Parameters used to resolve topologies.

These parameters affect how topologies are resolved (when using TopologicalModel, TopologicalSnapshot or resolve_topologies()).

Currently these parameters only affect resolved topological networks. These parameters include:

ResolveTopologyParameters are equality (==, !=) comparable (but not hashable - cannot be used as a key in a dict).

A ResolveTopologyParameters can also be pickled.

Added in version 0.31.

Changed in version 0.42: Added pickle support.

Changed in version 0.49: Added a class attribute for each parameter.

__init__([enable_strain_rate_clamping=False][, max_clamped_strain_rate=5e-15][, strain_rate_smoothing=pygplates.StrainRateSmoothing.natural_neighbour][, rift_exponential_stretching_constant=1][, rift_strain_rate_resolution=5e-17][, rift_edge_length_threshold_degrees=0.1])

Specify the parameters used to resolve topologies.

Parameters:
  • enable_strain_rate_clamping (bool) – Whether to enable clamping of strain rate. Defaults to False. See enable_strain_rate_clamping.

  • max_clamped_strain_rate (float) – Maximum total strain rate (in units of \(second^{-1}\)). This is only used if enable_strain_rate_clamping is true. Default value is 5e-15 \(second^{-1}\). See max_clamped_strain_rate.

  • strain_rate_smoothing (pygplates.StrainRateSmoothing.none, pygplates.StrainRateSmoothing.barycentric or pygplates.StrainRateSmoothing.natural_neighbour) – How deformation strain rates are smoothed (if at all). This can be no smoothing, barycentric smoothing or natural neighbour smoothing. Default value is pygplates.StrainRateSmoothing.natural_neighbour. See strain_rate_smoothing.

  • rift_exponential_stretching_constant (float) – Controls the curvature of the exponential variation of stretching across a rift profile in a network triangulation. Default value is 1. See rift_exponential_stretching_constant.

  • rift_strain_rate_resolution (float) – Controls how accurately the strain rate curve (across rift profile) matches exponential curve (in units of \(second^{-1}\)). Default value is 5e-17. See rift_strain_rate_resolution.

  • rift_edge_length_threshold_degrees (float) – Rift edges in network triangulation shorter than this length (in degrees) will not be further sub-divided. Default value is 0.1. See rift_edge_length_threshold_degrees.

Changed in version 0.49: Added arguments strain_rate_smoothing, rift_exponential_stretching_constant, rift_strain_rate_resolution and rift_edge_length_threshold

Methods

__init__(...)

Specify the parameters used to resolve topologies.

Attributes

enable_strain_rate_clamping

Whether deformation strain rates are clamped.

max_clamped_strain_rate

The maximum value that the total strain rate is clamped to (in units of \(second^{-1}\)).

rift_edge_length_threshold_degrees

Rift edges in network triangulation shorter than this length (in degrees) will not be further sub-divided.

rift_exponential_stretching_constant

Controls the curvature of the exponential variation of stretching across a rift profile in a network triangulation.

rift_strain_rate_resolution

Controls how accurately the strain rate curve (across rift profile) matches exponential curve (in units of \(second^{-1}\)).

strain_rate_smoothing

How deformation strain rates are smoothed (if at all) when queried at arbitrary locations (in deforming network).

property enable_strain_rate_clamping

Whether deformation strain rates are clamped.

Type:

bool

This is useful to avoid excessive extension/compression in deforming networks (depending on how the deforming networks were built).

See also

Strain rate clamping in the Primer documentation.

Added in version 0.49.

property max_clamped_strain_rate

The maximum value that the total strain rate is clamped to (in units of \(second^{-1}\)).

Type:

float

Note

This only applies if enable_strain_rate_clamping is True.

See also

Strain rate clamping in the Primer documentation.

Added in version 0.49.

property rift_edge_length_threshold_degrees

Rift edges in network triangulation shorter than this length (in degrees) will not be further sub-divided.

Type:

float

Rifts edges in network triangulation are sub-divided to fit an exponential strain rate profile in the rift stretching direction.

Note

Sub-division is also limited by rift_strain_rate_resolution.

See also

Exponential rift stretching profile in the Primer documentation.

Added in version 0.49.

property rift_exponential_stretching_constant

Controls the curvature of the exponential variation of stretching across a rift profile in a network triangulation.

Type:

float

See also

Exponential rift stretching profile in the Primer documentation.

Added in version 0.49.

property rift_strain_rate_resolution

Controls how accurately the strain rate curve (across rift profile) matches exponential curve (in units of \(second^{-1}\)).

Type:

float

Rift edges in the network triangulation are sub-divided until the strain rate matches the exponential curve (within this tolerance).

Note

Sub-division is also limited by rift_edge_length_threshold_degrees.

See also

Exponential rift stretching profile in the Primer documentation.

Added in version 0.49.

property strain_rate_smoothing

How deformation strain rates are smoothed (if at all) when queried at arbitrary locations (in deforming network).

Type:

pygplates.StrainRateSmoothing.none, pygplates.StrainRateSmoothing.barycentric or pygplates.StrainRateSmoothing.natural_neighbour

This can be no smoothing, barycentric smoothing or natural neighbour smoothing.

See also

Strain rate smoothing in the Primer documentation.

Added in version 0.49.