Markers

EarthBox.ModelDataContainer.MarkerContainer.MarkersType
Markers <: CollectionContainer

Data structure containing parameter and array collections for markers.

Fields

  • parameters::Parameters: Parameter groups for marker including distribution, advection, diffusion, and recycling settings
  • arrays::Arrays: Array groups for marker arrays containing material properties, state variables, and location information
source
EarthBox.ModelDataContainer.MarkerContainer.ParameterCollection.DistributionGroup.DistributionType
Distribution <: AbstractParameterGroup

Parameter group for marker distribution configuration.

Fields

  • iuse_random::ParameterInt: Randomize initial marker distribution: 0 off; 1 on
  • dx_marker::ParameterFloat: Initial average marker spacing in horizontal direction in meters
  • dy_marker::ParameterFloat: Initial average marker spacing in vertical direction in meters
  • nmarkers_cell_x::ParameterFloat: Number of markers per cell in horizontal direction
  • nmarkers_cell_y::ParameterFloat: Number of markers per cell in vertical direction
  • mxnum::ParameterInt: Total number of markers in horizontal direction
  • mynum::ParameterInt: Total number of markers in vertical direction
  • marknum::ParameterInt: Number of markers
  • mxstep::ParameterFloat: Distance between markers in horizontal direction in meters
  • mystep::ParameterFloat: Distance between markers in vertical direction in meters
  • obj_list::Vector{Union{ParameterFloat, ParameterInt}}: List of parameter objects.

Nested Dot Access

  • iuse_random = model.markers.parameters.distribution.iuse_random.value
  • dx_marker = model.markers.parameters.distribution.dx_marker.value
  • dy_marker = model.markers.parameters.distribution.dy_marker.value
  • nmarkers_cell_x = model.markers.parameters.distribution.nmarkers_cell_x.value
  • nmarkers_cell_y = model.markers.parameters.distribution.nmarkers_cell_y.value
  • mxnum = model.markers.parameters.distribution.mxnum.value
  • mynum = model.markers.parameters.distribution.mynum.value
  • marknum = model.markers.parameters.distribution.marknum.value
  • mxstep = model.markers.parameters.distribution.mxstep.value
  • mystep = model.markers.parameters.distribution.mystep.value

Constructor

Distribution(marker_parameters::NamedTuple)

Initializes marker distribution parameters from the provided named tuple.

Arguments

  • marker_parameters::NamedTuple: Named tuple containing marker distribution parameters.

The named tuple marker_parameters must contain the following parameters:

  • dx_marker: Initial average marker spacing in horizontal direction in meters.
  • dy_marker: Initial average marker spacing in vertical direction in meters.
  • nmarkers_cell_x: Number of markers per cell in horizontal direction.
  • nmarkers_cell_y: Number of markers per cell in vertical direction.
  • mynum: Total number of markers in vertical direction.
  • mxnum: Total number of markers in horizontal direction.
  • marknum: Total number of markers.
  • mystep: Distance between markers in vertical direction in meters.
  • mxstep: Distance between markers in horizontal direction in meters.

Returns

  • A new Distribution struct with the given marker parameters.
source
EarthBox.ModelDataContainer.MarkerContainer.ParameterCollection.AdvectionGroup.AdvectionType
Advection <: AbstractParameterGroup

Parameter group for marker advection configuration.

Fields

  • marker_cell_displ_max::ParameterFloat: Maximum marker displacement as a fraction of cell size in meters
  • itype_move_markers::ParameterInt: Displacement Options: 0 no motion 1 simp. advection; 4 4-th order Runge-Kutta
  • stype_move_markers::ParameterStr: Displacement options name
  • iuse_local_adaptive_time_stepping::ParameterInt: Activate local adaptive time stepping where displacement is calculated at staggered grid nodes. The default value is 0 (off). If deactivated then adaptive time stepping using average grid spacing.
  • obj_list::Vector{Union{ParameterFloat, ParameterInt}}: List of parameter objects.

Nested Dot Access

  • marker_cell_displ_max = model.markers.parameters.advection.marker_cell_displ_max.value
  • itype_move_markers = model.markers.parameters.advection.itype_move_markers.value
  • stype_move_markers = model.markers.parameters.advection.stype_move_markers.value
  • iuse_local_adaptive_time_stepping = model.markers.parameters.advection.iuse_local_adaptive_time_stepping.value

Constructor

Advection()

Returns

  • A new Advection struct with the given marker parameters.
source
EarthBox.ModelDataContainer.MarkerContainer.ParameterCollection.SubgridDiffusionGroup.SubgridDiffusionType
SubgridDiffusion <: AbstractParameterGroup

Parameter group for subgrid diffusion coefficients.

Fields

  • subgrid_diff_coef_stress::ParameterFloat: Numerical subgrid stress diffusion coefficient
  • subgrid_diff_coef_temp::ParameterFloat: Numerical subgrid temperature diffusion coefficient
  • obj_list::Vector{ParameterFloat}: List of parameter objects.

Nested Dot Access

  • subgrid_diff_coef_stress = model.markers.parameters.subgrid_diffusion.subgrid_diff_coef_stress.value
  • subgrid_diff_coef_temp = model.markers.parameters.subgrid_diffusion.subgrid_diff_coef_temp.value

Constructor

SubgridDiffusion()

Returns

  • A new SubgridDiffusion struct with the given marker parameters.
source
EarthBox.ModelDataContainer.MarkerContainer.ParameterCollection.RecyclingGroup.RecyclingType
Recycling <: AbstractParameterGroup

Parameter group for marker recycling configuration.

Fields

  • imantle::ParameterInt: Material ID of the mantle. This is no longer used and will be removed in the future
  • obj_list::Vector{ParameterInt}: List of numerical parameter objects

Nested Dot Access

  • imantle = model.markers.parameters.recycling.imantle.value

Constructor

Recycling()

Returns

  • A new Recycling struct with the given marker parameters.
source
EarthBox.ModelDataContainer.MarkerContainer.ArrayCollection.ArraysType
Arrays <: AbstractArrayCollection

Collection of marker arrays.

Fields

source
EarthBox.ModelDataContainer.MarkerContainer.ArrayCollection.StratigraphyGroup.StratigraphyType
Stratigraphy <: AbstractArrayGroup

Array group for marker stratigraphic properties.

Fields

Nested Dot Access

  • marker_age = model.markers.arrays.stratigraphy.marker_age.array

Constructor

Stratigraphy(marknum::Int)

Initializes marker age array with zero values.

Arguments

  • marknum::Int: Number of markers

Returns

  • A new Stratigraphy struct with the given marker parameters.
source
EarthBox.ModelDataContainer.MarkerContainer.ArrayCollection.RheologyGroup.RheologyType
Rheology <: AbstractArrayGroup

Array group for marker rheological properties.

Fields

Nested Dot Access

  • marker_eta = model.markers.arrays.rheology.marker_eta.array
  • marker_fric_ini = model.markers.arrays.rheology.marker_fric_ini.array
  • marker_fric = model.markers.arrays.rheology.marker_fric.array
  • marker_cohesion = model.markers.arrays.rheology.marker_cohesion.array
  • marker_preexp = model.markers.arrays.rheology.marker_preexp.array
  • marker_pfailure = model.markers.arrays.rheology.marker_pfailure.array
  • marker_eta_flow = model.markers.arrays.rheology.marker_eta_flow.array
  • marker_dilatation_angle = model.markers.arrays.rheology.marker_dilatation_angle.array

Constructor

Rheology(marknum::Int)

Arguments

  • marknum::Int: Number of markers

Returns

  • A new Rheology struct with the given marker parameters.
source
EarthBox.ModelDataContainer.MarkerContainer.ArrayCollection.ThermalGroup.ThermalType
Thermal <: AbstractArrayGroup

Array group for marker thermal properties.

Fields

Nested Dot Access

  • marker_TK = model.markers.arrays.thermal.marker_TK.array
  • marker_rhocp = model.markers.arrays.thermal.marker_rhocp.array
  • marker_kt = model.markers.arrays.thermal.marker_kt.array
  • marker_ha = model.markers.arrays.thermal.marker_ha.array

Constructor

Thermal(marknum::Int)

Arguments

  • marknum::Int: Number of markers

Returns

  • A new Thermal struct with the given marker parameters.
source
EarthBox.ModelDataContainer.MarkerContainer.ArrayCollection.MaterialGroup.MaterialType
Material <: AbstractArrayGroup

Array group for marker material properties.

Fields

Nested Dot Access

  • marker_matid = model.markers.arrays.material.marker_matid.array
  • marker_rho = model.markers.arrays.material.marker_rho.array
  • marker_porosity_initial = model.markers.arrays.material.marker_porosity_initial.array
  • marker_decay_depth = model.markers.arrays.material.marker_decay_depth.array
  • marker_max_burial_depth = model.markers.arrays.material.marker_max_burial_depth.array
  • marker_serpentinization = model.markers.arrays.material.marker_serpentinization.array
  • marker_serpentinization_heat_production = model.markers.arrays.material.marker_serpentinization_heat_production.array

Constructor

Material(marknum::Int)

Arguments

  • marknum::Int: Number of markers

Returns

  • A new Material struct with the given marker parameters.
source
EarthBox.ModelDataContainer.MarkerContainer.ArrayCollection.StressGroup.StressType
Stress <: AbstractArrayGroup

Array group for marker stress components.

Fields

Nested Dot Access

  • marker_sxx = model.markers.arrays.stress.marker_sxx.array
  • marker_sxy = model.markers.arrays.stress.marker_sxy.array

Constructor

Stress(marknum::Int)

Initializes marker stress arrays with zero values.

Arguments

  • marknum::Int: Number of markers

Returns

  • A new Stress struct with the given marker parameters.
source
EarthBox.ModelDataContainer.MarkerContainer.ArrayCollection.StrainGroup.StrainType
Strain <: AbstractArrayGroup

Array group for marker strain and strain rate.

Fields

Nested Dot Access

  • marker_GII = model.markers.arrays.strain.marker_GII.array
  • marker_strain_plastic = model.markers.arrays.strain.marker_strain_plastic.array
  • marker_exx = model.markers.arrays.strain.marker_exx.array
  • marker_exy = model.markers.arrays.strain.marker_exy.array
  • marker_sr_ratio = model.markers.arrays.strain.marker_sr_ratio.array
  • marker_strain_rate_plastic = model.markers.arrays.strain.marker_strain_rate_plastic.array
  • marker_melt_damage = model.markers.arrays.strain.marker_melt_damage.array

Constructor

Strain(marknum::Int)

Arguments

  • marknum::Int: Number of markers

Returns

  • A new Strain struct with the given marker parameters.
source
EarthBox.ModelDataContainer.MarkerContainer.ArrayCollection.LocationGroup.LocationType
Location <: AbstractArrayGroup

Array group for marker spatial coordinates.

Fields

Nested Dot Access

  • marker_x = model.markers.arrays.location.marker_x.array
  • marker_y = model.markers.arrays.location.marker_y.array

Constructor

Location(marknum::Int)

Initializes marker location arrays with zero values.

Arguments

  • marknum::Int: Number of markers
source
EarthBox.ModelDataContainer.MarkerContainer.ArrayCollection.GridMarkerRelationshipGroup.GridMarkerRelationshipType
GridMarkerRelationship <: AbstractArrayGroup

Array group for grid-marker spatial relationships.

Fields

  • marker_xn::MarkerArrayInt1DState Int32: (marknum) : Horizontal index of upper left node of basic grid cell containing marker.
  • marker_yn::MarkerArrayInt1DState Int32: (marknum) : Vertical index of upper left node of basic grid cell containing marker.
  • marker_dx::MarkerArrayFloat1DState Float64: (marknum) : Normalized x-distance between marker and upper-left basic grid node in meters.
  • marker_dy::MarkerArrayFloat1DState Float64: (marknum) : Normalized y-distance between marker and upper-left basic grid node in meters.
  • marker_xn_vy::MarkerArrayInt1DState Int32: (marknum) : Horizontal index of upper left node of staggered vy grid cell containing marker.
  • marker_yn_vy::MarkerArrayInt1DState Int32: (marknum) : Vertical index of upper left node of staggered vy grid cell containing marker.
  • marker_dx_vy::MarkerArrayFloat1DState Float64: (marknum) : Normalized x-distance between marker and upper-left grid node of staggered vy grid in meters.
  • marker_dy_vy::MarkerArrayFloat1DState Float64: (marknum) : Normalized y-distance between marker and upper-left grid node of staggered vy grid in meters.

Nested Dot Access

  • marker_xn = model.markers.arrays.grid_marker_relationship.marker_xn.array
  • marker_yn = model.markers.arrays.grid_marker_relationship.marker_yn.array
  • marker_dx = model.markers.arrays.grid_marker_relationship.marker_dx.array
  • marker_dy = model.markers.arrays.grid_marker_relationship.marker_dy.array
  • marker_xn_vy = model.markers.arrays.grid_marker_relationship.marker_xn_vy.array
  • marker_yn_vy = model.markers.arrays.grid_marker_relationship.marker_yn_vy.array
  • marker_dx_vy = model.markers.arrays.grid_marker_relationship.marker_dx_vy.array
  • marker_dy_vy = model.markers.arrays.grid_marker_relationship.marker_dy_vy.array

Constructor

GridMarkerRelationship(marknum::Int)

Arguments

  • marknum::Int: Number of markers
source
EarthBox.ModelDataContainer.MarkerContainer.ArrayCollection.MeltGroup.MeltType
Melt <: AbstractArrayGroup

Array group for marker melt fractions.

Fields

Nested Dot Access

  • marker_meltfrac = model.markers.arrays.melt.marker_meltfrac.array
  • marker_extracted_meltfrac = model.markers.arrays.melt.marker_extracted_meltfrac.array
  • marker_extractable_meltfrac = model.markers.arrays.melt.marker_extractable_meltfrac.array

Constructor

Melt(marknum::Int)

Arguments

  • marknum::Int: Number of markers

Returns

  • A new Melt struct with the given marker parameters.
source