Interpolation

EarthBox.ModelDataContainer.InterpolationContainer.InterpolationType
Interpolation <: CollectionContainer

Data structure containing parameter and array objects for marker-grid interpolation.

Fields

  • parameters::Parameters: Parameter groups for interpolation options
  • arrays::Arrays: Array groups for grid and marker interpolation weights

Constructor

Interpolation(ynum::Int, xnum::Int, marknum::Int)::Interpolation

Create a new Interpolation collection with the given grid and marker dimensions.

Arguments

  • ynum::Int: Number of grid points in y-direction
  • xnum::Int: Number of grid points in x-direction
  • marknum::Int: Number of markers in the model
source
EarthBox.ModelDataContainer.InterpolationContainer.ParameterCollection.MarkerAndGridInterpOptionsGroup.MarkerAndGridInterpOptionsType
MarkerAndGridInterpOptions <: AbstractParameterGroup

Parameter group for marker-grid interpolation options.

Fields

  • iuse_initial_temp_interp::ParameterInt: Interpolate nodal temperatures back to markers at start: 0 off; 1 on
  • iuse_harmonic_avg_normal_viscosity::ParameterInt: Harmonic averaging of shear viscosity for normal viscosity: 0 off; 1 on
  • obj_list::Vector{ParameterInt}: List of parameter objects

Nested Dot Access

  • iuse_initial_temp_interp = model.interpolation.parameters.interp_options.iuse_initial_temp_interp.value
  • iuse_harmonic_avg_normal_viscosity = model.interpolation.parameters.interp_options.iuse_harmonic_avg_normal_viscosity.value

Constructor

MarkerAndGridInterpOptions()

Create a new MarkerAndGridInterpOptions parameter group with default values.

Returns

  • MarkerAndGridInterpOptions: New parameter group with initialized values
source
EarthBox.ModelDataContainer.InterpolationContainer.ArrayCollection.ArraysType
Arrays <: AbstractArrayCollection

Data structure containing array groups for marker-grid interpolation weights.

Fields

  • grid_weights::GridWeights: Summed weight arrays on grid nodes
  • marker_weights::MarkerWeights: Individual marker weight arrays

Constructor

Arrays(ynum::Int, xnum::Int, marknum::Int)::Arrays

Create a new Arrays collection with the given grid and marker dimensions.

Arguments

  • ynum::Int: Number of grid points in y-direction
  • xnum::Int: Number of grid points in x-direction
  • marknum::Int: Number of markers in the model
source
EarthBox.ModelDataContainer.InterpolationContainer.ArrayCollection.GridWeightsGroup.GridWeightsType
GridWeights <: AbstractArrayGroup

Array group containing summed interpolation weight arrays on grid nodes.

Fields

  • wtnodes::ScalarArray2DState: (ynum, xnum) : Summed marker weight factors on basic grid nodes using inclusive method with maximum search radius for markers.
  • wtetas::ScalarArray2DState: (ynum, xnum) : Summed marker weight factors on basic grid nodes using exclusive method with shorter search radius for markers.
  • wtetan::ScalarArray2DState: (ynum - 1, xnum - 1) : Summed marker weight factors for normal viscosity on pressure nodes.
  • wtnodes_vy::ScalarArray2DState: (ynum + 1, xnum) : Summed marker weight factors on Vy staggered grid nodes using inclusive method with maximum search radius.

Nested Dot Access

  • wtnodes = model.interpolation.arrays.grid_weights.wtnodes.array
  • wtetas = model.interpolation.arrays.grid_weights.wtetas.array
  • wtetan = model.interpolation.arrays.grid_weights.wtetan.array
  • wtnodes_vy = model.interpolation.arrays.grid_weights.wtnodes_vy.array

Constructor

GridWeights(ynum::Int, xnum::Int)

Arguments

  • ynum::Int: Number of grid points in y-direction
  • xnum::Int: Number of grid points in x-direction

Returns

  • GridWeights: New GridWeights array group with initialized arrays
source
EarthBox.ModelDataContainer.InterpolationContainer.ArrayCollection.MarkerWeightsGroup.MarkerWeightsType
MarkerWeights <: AbstractArrayGroup

Array group containing individual marker weight arrays for interpolation.

Fields

Nested Dot Access

  • marker_wtforULnode = model.interpolation.arrays.marker_weights.marker_wtforULnode.array
  • marker_wtforLLnode = model.interpolation.arrays.marker_weights.marker_wtforLLnode.array
  • marker_wtforURnode = model.interpolation.arrays.marker_weights.marker_wtforURnode.array
  • marker_wtforLRnode = model.interpolation.arrays.marker_weights.marker_wtforLRnode.array
  • marker_wtforCnode = model.interpolation.arrays.marker_weights.marker_wtforCnode.array
  • marker_wtforULnodeVy = model.interpolation.arrays.marker_weights.marker_wtforULnodeVy.array
  • marker_wtforLLnodeVy = model.interpolation.arrays.marker_weights.marker_wtforLLnodeVy.array
  • marker_wtforURnodeVy = model.interpolation.arrays.marker_weights.marker_wtforURnodeVy.array
  • marker_wtforLRnodeVy = model.interpolation.arrays.marker_weights.marker_wtforLRnodeVy.array

Constructor

MarkerWeights(marknum::Int)

Arguments

  • marknum::Int: Number of markers in the model

Returns

  • MarkerWeights: New MarkerWeights array group with initialized arrays
source