EarthBox.ModelDataContainer.MarkerContainer.Markers — Type
Markers <: CollectionContainerData structure containing parameter and array collections for markers.
Fields
parameters::Parameters: Parameter groups for marker including distribution, advection, diffusion, and recycling settingsarrays::Arrays: Array groups for marker arrays containing material properties, state variables, and location information
EarthBox.ModelDataContainer.MarkerContainer.ParameterCollection.Parameters — Type
Parameters <: AbstractParameterCollectionCollection of marker parameters.
Fields
distribution::Distribution: Marker distribution parametersadvection::Advection: Marker advection parameterssubgrid_diffusion::SubgridDiffusion: Subgrid diffusion parametersrecycling::Recycling: Marker recycling parameters
EarthBox.ModelDataContainer.MarkerContainer.ParameterCollection.DistributionGroup.Distribution — Type
Distribution <: AbstractParameterGroupParameter group for marker distribution configuration.
Fields
iuse_random::ParameterInt: Randomize initial marker distribution: 0 off; 1 ondx_marker::ParameterFloat: Initial average marker spacing in horizontal direction in metersdy_marker::ParameterFloat: Initial average marker spacing in vertical direction in metersnmarkers_cell_x::ParameterFloat: Number of markers per cell in horizontal directionnmarkers_cell_y::ParameterFloat: Number of markers per cell in vertical directionmxnum::ParameterInt: Total number of markers in horizontal directionmynum::ParameterInt: Total number of markers in vertical directionmarknum::ParameterInt: Number of markersmxstep::ParameterFloat: Distance between markers in horizontal direction in metersmystep::ParameterFloat: Distance between markers in vertical direction in metersobj_list::Vector{Union{ParameterFloat, ParameterInt}}: List of parameter objects.
Nested Dot Access
iuse_random = model.markers.parameters.distribution.iuse_random.valuedx_marker = model.markers.parameters.distribution.dx_marker.valuedy_marker = model.markers.parameters.distribution.dy_marker.valuenmarkers_cell_x = model.markers.parameters.distribution.nmarkers_cell_x.valuenmarkers_cell_y = model.markers.parameters.distribution.nmarkers_cell_y.valuemxnum = model.markers.parameters.distribution.mxnum.valuemynum = model.markers.parameters.distribution.mynum.valuemarknum = model.markers.parameters.distribution.marknum.valuemxstep = model.markers.parameters.distribution.mxstep.valuemystep = 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.
EarthBox.ModelDataContainer.MarkerContainer.ParameterCollection.AdvectionGroup.Advection — Type
Advection <: AbstractParameterGroupParameter group for marker advection configuration.
Fields
marker_cell_displ_max::ParameterFloat: Maximum marker displacement as a fraction of cell size in metersitype_move_markers::ParameterInt: Displacement Options: 0 no motion 1 simp. advection; 4 4-th order Runge-Kuttastype_move_markers::ParameterStr: Displacement options nameiuse_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.valueitype_move_markers = model.markers.parameters.advection.itype_move_markers.valuestype_move_markers = model.markers.parameters.advection.stype_move_markers.valueiuse_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.
EarthBox.ModelDataContainer.MarkerContainer.ParameterCollection.SubgridDiffusionGroup.SubgridDiffusion — Type
SubgridDiffusion <: AbstractParameterGroupParameter group for subgrid diffusion coefficients.
Fields
subgrid_diff_coef_stress::ParameterFloat: Numerical subgrid stress diffusion coefficientsubgrid_diff_coef_temp::ParameterFloat: Numerical subgrid temperature diffusion coefficientobj_list::Vector{ParameterFloat}: List of parameter objects.
Nested Dot Access
subgrid_diff_coef_stress = model.markers.parameters.subgrid_diffusion.subgrid_diff_coef_stress.valuesubgrid_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.
EarthBox.ModelDataContainer.MarkerContainer.ParameterCollection.RecyclingGroup.Recycling — Type
Recycling <: AbstractParameterGroupParameter group for marker recycling configuration.
Fields
imantle::ParameterInt: Material ID of the mantle. This is no longer used and will be removed in the futureobj_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.
EarthBox.ModelDataContainer.MarkerContainer.ArrayCollection.Arrays — Type
Arrays <: AbstractArrayCollectionCollection of marker arrays.
Fields
strat::Stratigraphy: Stratigraphy marker arraysrheology::Rheology: Rheology marker arraysthermal::Thermal: Thermal marker arraysmaterial::Material: Material marker arraysstress::Stress: Stress marker arraysstrain::Strain: Strain marker arrayspressure::Pressure: Pressure marker arrayslocation::Location: Location marker arraysgrid_marker_relationship::GridMarkerRelationship: Grid-marker relationship arraysmelt::Melt: Melt marker arrays
EarthBox.ModelDataContainer.MarkerContainer.ArrayCollection.StratigraphyGroup.Stratigraphy — Type
Stratigraphy <: AbstractArrayGroupArray group for marker stratigraphic properties.
Fields
marker_age::MarkerArrayFloat1DStateFloat64:(marknum): Age of marker in million years.
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.
EarthBox.ModelDataContainer.MarkerContainer.ArrayCollection.RheologyGroup.Rheology — Type
Rheology <: AbstractArrayGroupArray group for marker rheological properties.
Fields
marker_eta::MarkerArrayFloat1DStateFloat64:(marknum): Marker viscoplastic viscosity in Pa.s.marker_fric_ini::MarkerArrayFloat1DStateFloat64:(marknum): Initial friction coefficient (sine of friction angle) of marker.marker_fric::MarkerArrayFloat1DStateFloat64:(marknum): Friction coefficient (sine of friction angle) of marker.marker_cohesion::MarkerArrayFloat1DStateFloat64:(marknum): Cohesion of marker in Pa.marker_preexp::MarkerArrayFloat1DStateFloat64:(marknum): Pre-exponential factor for dislocation creep of marker in 1/s/MPa^n.marker_pfailure::MarkerArrayFloat1DStateFloat32:(marknum): Flag indicating plastic failure of marker.marker_eta_flow::MarkerArrayFloat1DStateFloat64:(marknum): Marker viscosity from flow law in Pa.s.marker_dilatation_angle::MarkerArrayFloat1DStateFloat32:(marknum): Marker dilatation angle in Degrees.
Nested Dot Access
marker_eta = model.markers.arrays.rheology.marker_eta.arraymarker_fric_ini = model.markers.arrays.rheology.marker_fric_ini.arraymarker_fric = model.markers.arrays.rheology.marker_fric.arraymarker_cohesion = model.markers.arrays.rheology.marker_cohesion.arraymarker_preexp = model.markers.arrays.rheology.marker_preexp.arraymarker_pfailure = model.markers.arrays.rheology.marker_pfailure.arraymarker_eta_flow = model.markers.arrays.rheology.marker_eta_flow.arraymarker_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.
EarthBox.ModelDataContainer.MarkerContainer.ArrayCollection.ThermalGroup.Thermal — Type
Thermal <: AbstractArrayGroupArray group for marker thermal properties.
Fields
marker_TK::MarkerArrayFloat1DStateFloat64:(marknum): Temperature of marker in Kelvin.marker_rhocp::MarkerArrayFloat1DStateFloat64:(marknum): Marker density multiplied by heat capacity in J/K/m^3.marker_kt::MarkerArrayFloat1DStateFloat64:(marknum): Marker thermal conductivity in W/m/K.marker_ha::MarkerArrayFloat1DStateFloat64:(marknum): Marker adiabatic heating term (expansivity x temperature).
Nested Dot Access
marker_TK = model.markers.arrays.thermal.marker_TK.arraymarker_rhocp = model.markers.arrays.thermal.marker_rhocp.arraymarker_kt = model.markers.arrays.thermal.marker_kt.arraymarker_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.
EarthBox.ModelDataContainer.MarkerContainer.ArrayCollection.MaterialGroup.Material — Type
Material <: AbstractArrayGroupArray group for marker material properties.
Fields
marker_matid::MarkerArrayInt1DStateInt16:(marknum): Material ID of marker.marker_rho::MarkerArrayFloat1DStateFloat64:(marknum): Marker density in kg/m^3.marker_porosity_initial::MarkerArrayFloat1DStateFloat32:(marknum): Initial porosity at sediment-water interface used in Athy's law in fraction.marker_decay_depth::MarkerArrayFloat1DStateFloat32:(marknum): Porosity decay depth used in Athy's law in meters.marker_max_burial_depth::MarkerArrayFloat1DStateFloat32:(marknum): Maximum burial depth of marker in meters.marker_serpentinization::MarkerArrayFloat1DStateFloat32:(marknum): Serpentinization fraction of marker in fraction.marker_serpentinization_heat_production::MarkerArrayFloat1DStateFloat32:(marknum): Serpentinization heat production of marker in W/m^3.
Nested Dot Access
marker_matid = model.markers.arrays.material.marker_matid.arraymarker_rho = model.markers.arrays.material.marker_rho.arraymarker_porosity_initial = model.markers.arrays.material.marker_porosity_initial.arraymarker_decay_depth = model.markers.arrays.material.marker_decay_depth.arraymarker_max_burial_depth = model.markers.arrays.material.marker_max_burial_depth.arraymarker_serpentinization = model.markers.arrays.material.marker_serpentinization.arraymarker_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.
EarthBox.ModelDataContainer.MarkerContainer.ArrayCollection.StressGroup.Stress — Type
Stress <: AbstractArrayGroupArray group for marker stress components.
Fields
marker_sxx::MarkerArrayFloat1DStateFloat64:(marknum): Deviatoric normal stress of marker in Pa.marker_sxy::MarkerArrayFloat1DStateFloat64:(marknum): Deviatoric shear stress of marker in Pa.
Nested Dot Access
marker_sxx = model.markers.arrays.stress.marker_sxx.arraymarker_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.
EarthBox.ModelDataContainer.MarkerContainer.ArrayCollection.StrainGroup.Strain — Type
Strain <: AbstractArrayGroupArray group for marker strain and strain rate.
Fields
marker_GII::MarkerArrayFloat1DStateFloat64:(marknum): Accumulated strain of marker.marker_strain_plastic::MarkerArrayFloat1DStateFloat64:(marknum): Accumulated plastic strain of marker.marker_exx::MarkerArrayFloat1DStateFloat64:(marknum): Normal strain rate of marker in 1/s.marker_exy::MarkerArrayFloat1DStateFloat64:(marknum): Shear strain rate of marker in 1/s.marker_sr_ratio::MarkerArrayFloat1DStateFloat64:(marknum): Ratio of nodal-stress-based to nodal-velocity-based strain rate invariant for each marker.marker_strain_rate_plastic::MarkerArrayFloat1DStateFloat64:(marknum): Plastic strain rate of marker in 1/s.marker_melt_damage::MarkerArrayFloat1DStateFloat32:(marknum): Damage factor of marker associated with melt intrusion.
Nested Dot Access
marker_GII = model.markers.arrays.strain.marker_GII.arraymarker_strain_plastic = model.markers.arrays.strain.marker_strain_plastic.arraymarker_exx = model.markers.arrays.strain.marker_exx.arraymarker_exy = model.markers.arrays.strain.marker_exy.arraymarker_sr_ratio = model.markers.arrays.strain.marker_sr_ratio.arraymarker_strain_rate_plastic = model.markers.arrays.strain.marker_strain_rate_plastic.arraymarker_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.
EarthBox.ModelDataContainer.MarkerContainer.ArrayCollection.PressureGroup.Pressure — Type
Pressure <: AbstractArrayGroupArray group for marker pressure values.
Fields
marker_pr::MarkerArrayFloat1DStateFloat64:(marknum): Pressure of marker in Pa.
Nested Dot Access
marker_pr = model.markers.arrays.pressure.marker_pr.array
Constructor
Pressure(marknum::Int)Initializes marker pressure array with zero values.
Arguments
marknum::Int: Number of markers
EarthBox.ModelDataContainer.MarkerContainer.ArrayCollection.LocationGroup.Location — Type
Location <: AbstractArrayGroupArray group for marker spatial coordinates.
Fields
marker_x::MarkerArrayFloat1DStateFloat64:(marknum): x-coordinate of marker in meters.marker_y::MarkerArrayFloat1DStateFloat64:(marknum): y-coordinate of marker in meters.
Nested Dot Access
marker_x = model.markers.arrays.location.marker_x.arraymarker_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
EarthBox.ModelDataContainer.MarkerContainer.ArrayCollection.GridMarkerRelationshipGroup.GridMarkerRelationship — Type
GridMarkerRelationship <: AbstractArrayGroupArray group for grid-marker spatial relationships.
Fields
marker_xn::MarkerArrayInt1DStateInt32:(marknum): Horizontal index of upper left node of basic grid cell containing marker.marker_yn::MarkerArrayInt1DStateInt32:(marknum): Vertical index of upper left node of basic grid cell containing marker.marker_dx::MarkerArrayFloat1DStateFloat64:(marknum): Normalized x-distance between marker and upper-left basic grid node in meters.marker_dy::MarkerArrayFloat1DStateFloat64:(marknum): Normalized y-distance between marker and upper-left basic grid node in meters.marker_xn_vy::MarkerArrayInt1DStateInt32:(marknum): Horizontal index of upper left node of staggered vy grid cell containing marker.marker_yn_vy::MarkerArrayInt1DStateInt32:(marknum): Vertical index of upper left node of staggered vy grid cell containing marker.marker_dx_vy::MarkerArrayFloat1DStateFloat64:(marknum): Normalized x-distance between marker and upper-left grid node of staggered vy grid in meters.marker_dy_vy::MarkerArrayFloat1DStateFloat64:(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.arraymarker_yn = model.markers.arrays.grid_marker_relationship.marker_yn.arraymarker_dx = model.markers.arrays.grid_marker_relationship.marker_dx.arraymarker_dy = model.markers.arrays.grid_marker_relationship.marker_dy.arraymarker_xn_vy = model.markers.arrays.grid_marker_relationship.marker_xn_vy.arraymarker_yn_vy = model.markers.arrays.grid_marker_relationship.marker_yn_vy.arraymarker_dx_vy = model.markers.arrays.grid_marker_relationship.marker_dx_vy.arraymarker_dy_vy = model.markers.arrays.grid_marker_relationship.marker_dy_vy.array
Constructor
GridMarkerRelationship(marknum::Int)Arguments
marknum::Int: Number of markers
EarthBox.ModelDataContainer.MarkerContainer.ArrayCollection.MeltGroup.Melt — Type
Melt <: AbstractArrayGroupArray group for marker melt fractions.
Fields
marker_meltfrac::MarkerArrayFloat1DStateFloat64:(marknum): Melt fraction of marker in fraction.marker_extracted_meltfrac::MarkerArrayFloat1DStateFloat64:(marknum): Extracted melt fraction of marker in fraction.marker_extractable_meltfrac::MarkerArrayFloat1DStateFloat64:(marknum): Extractable melt fraction of marker in fraction.
Nested Dot Access
marker_meltfrac = model.markers.arrays.melt.marker_meltfrac.arraymarker_extracted_meltfrac = model.markers.arrays.melt.marker_extracted_meltfrac.arraymarker_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.