Field management

Kynema-SGF API: Field management
Kynema-SGF API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
Collaboration diagram for Field management:

Topics

 Boundary conditions management
 Field operations
 Fillpatch operators

Classes

struct  kynema_sgf::FieldInfo
class  kynema_sgf::Field
class  kynema_sgf::FieldRepo
class  kynema_sgf::IntField
class  kynema_sgf::ScratchField
class  kynema_sgf::ViewField< T >

Enumerations

enum class  kynema_sgf::FieldState : std::uint8_t {
  kynema_sgf::FieldState::NP1 = 0 , kynema_sgf::FieldState::N = 1 , kynema_sgf::FieldState::NM1 = 2 , kynema_sgf::FieldState::NPH = 3 ,
  kynema_sgf::FieldState::NMH = 4 , kynema_sgf::FieldState::New = NP1 , kynema_sgf::FieldState::Old = N
}
enum class  kynema_sgf::FieldLoc : std::uint8_t {
  kynema_sgf::FieldLoc::CELL , kynema_sgf::FieldLoc::NODE , kynema_sgf::FieldLoc::XFACE , kynema_sgf::FieldLoc::YFACE ,
  kynema_sgf::FieldLoc::ZFACE
}
enum class  kynema_sgf::FieldInterpolator : std::uint8_t {
  kynema_sgf::FieldInterpolator::PiecewiseConstant , kynema_sgf::FieldInterpolator::CellConsLinear , kynema_sgf::FieldInterpolator::NodeBilinear , kynema_sgf::FieldInterpolator::FaceDivFree ,
  kynema_sgf::FieldInterpolator::FaceLinear
}
 Coarse-to-fine field interpolation options. More...

Detailed Description

Field management infrastructure

Field is at the core of Kynema-SGF implementation that handles all the data used during the simulation. FieldRepo manages a collection of fields and is responsible for all memory allocation and reinitialization during regrid process. Field provides a higher-level interface than MultiFabs and also provides a unified interface to manage boundary conditions and states.

Enumeration Type Documentation

◆ FieldInterpolator

enum class kynema_sgf::FieldInterpolator : std::uint8_t
strong

Coarse-to-fine field interpolation options.

Enumerator
PiecewiseConstant 

Constant across cell.

CellConsLinear 

Linear interpolation.

NodeBilinear 

Bilinear nodal interpolation.

FaceDivFree 

Divergence free face interpolation.

FaceLinear 

Linear face interpolation.

◆ FieldLoc

enum class kynema_sgf::FieldLoc : std::uint8_t
strong

Possible locations for a field in a structured mesh

Enumerator
CELL 

Cell-centered (default)

NODE 

Node-centered (e.g., for pressure)

XFACE 

Face-centered in x-direction (e.g., face normal velocity)

YFACE 

Face-centered in y-direction.

ZFACE 

Face-centered in z-direction.

◆ FieldState

enum class kynema_sgf::FieldState : std::uint8_t
strong

Possible time states for a given Field instance

All defined fields have at least one state, New, as their default state. For state variables, there are currently two states New and Old. Old . indicates the latest solution and New indicates the solution at the next timestep the solution will advance to.

Enumerator
NP1 

Latest state, also aliased to New

Previous state, also aliased to Old

NM1 

State at (n - 1) th timestep.

NPH 

State at (n + 1/2) (intermediate) timestep.

NMH 

State at (n - 1/2) timestep.

New 

Same as FieldState::NP1.

Old 

Same as FieldState::N.