Tiles
This module contains Tile
, Stratigraphy
, and all related methods and types necessary for constructing a 1-D CryoGrid process model.
CryoGrid.Tiles.JacobianStyle
— TypeJacobianStyle
Trait for indicating Jacobian sparsity of a CryoGrid ODEProblem.
CryoGrid.Tiles.JacobianStyle
— MethodJacobianStyle(::AbstractTile)
Can be overriden/extended to specify Jacobian structure for specific Tile
s.
CryoGrid.Tiles.Stratigraphy
— TypeStratigraphy{N,TLayers<:NamedTuple,TBoundaries}
Defines a 1-dimensional stratigraphy by connecting a top and bottom layer to one or more subsurface layers.
CryoGrid.Tiles.Tile
— TypeTile{TStrat,TGrid,TStates,TInits,TEvents,iip} <: AbstractTile{iip}
Defines the full specification of a single CryoGrid tile; i.e. stratigraphy, grid, and state variables.
CryoGrid.Tiles.Tile
— MethodTile(integrator::SciMLBase.DEIntegrator)
Constructs a Tile
from a SciMLBase
DEIntegrator.
CryoGrid.Tiles.Tile
— MethodTile(
@nospecialize(strat::Stratigraphy),
@nospecialize(discretization_strategy::DiscretizationStrategy),
@nospecialize(inits::CryoGrid.Initializer...);
metadata::Dict=Dict(),
arraytype::Type{A}=Vector,
iip::Bool=true,
chunk_size=nothing,
)
Constructs a Tile
from the given stratigraphy and discretization strategy. arraytype
keyword arg should be an array instance (of any arbitrary length, including zero, contents are ignored) that will determine the array type used for all state vectors.
CryoGrid.Tiles.TileState
— TypeTileState{TGrid,TStates,Tu,Tt,Tdt}
Represents the state of a CryoGrid Tile
.
CryoGrid.Tiles.getstate
— Functiongetstate(tile::Tile, u, du, t, dt=1.0)
Constructs a LayerState
representing the full state of layername
given tile
, state vectors u
and du
, and the time step t
.
CryoGrid.Tiles.getstate
— Methodgetstate(integrator::SciMLBase.DEIntegrator)
Builds the TileState
given an initialized integrator.
CryoGrid.Tiles.withaxes
— Methodwithaxes(u::AbstractArray, ::Tile)
Constructs a ComponentArray
with labeled axes from the given state vector u
. Assumes u
to be of the same type/shape as setup.uproto
.
CryoGrid.Tiles.@Stratigraphy
— MacroConvenience macro for defining stratigraphies with multiple subsurface layers.