Tiles

This module contains Tile, Stratigraphy, and all related methods and types necessary for constructing a 1-D CryoGrid process model.

CryoGrid.Tiles.JacobianStyleMethod
JacobianStyle(::AbstractTile)

Can be overriden/extended to specify Jacobian structure for specific Tiles.

CryoGrid.Tiles.StratigraphyType
Stratigraphy{N,TLayers<:NamedTuple,TBoundaries}

Defines a 1-dimensional stratigraphy by connecting a top and bottom layer to one or more subsurface layers.

CryoGrid.Tiles.TileType
Tile{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.TileMethod
Tile(integrator::SciMLBase.DEIntegrator)

Constructs a Tile from a SciMLBase DEIntegrator.

CryoGrid.Tiles.TileMethod
Tile(
    @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.getstateFunction
getstate(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.getstateMethod
getstate(integrator::SciMLBase.DEIntegrator)

Builds the TileState given an initialized integrator.

CryoGrid.Tiles.withaxesMethod
withaxes(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.