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

N 

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.