Finite-Volume Operators

AMR-Wind API: Finite-Volume Operators
AMR-Wind API v0.1.0
CFD solver for wind plant simulations
Loading...
Searching...
No Matches
Finite-Volume Operators
Collaboration diagram for Finite-Volume Operators:

Topics

 Non-linear Term for Kosovic Model
 

Classes

struct  amr_wind::fvm::Curvature< FTypeIn, FTypeOut >
 
struct  amr_wind::fvm::Divergence< FTypeIn, FTypeOut >
 
struct  amr_wind::fvm::Filter< FTypeIn, FTypeOut >
 
struct  amr_wind::fvm::Gradient< FTypeIn, FTypeOut >
 
struct  amr_wind::fvm::Laplacian< FTypeIn, FTypeOut >
 
struct  amr_wind::fvm::Qcriterion< FTypeIn, FTypeOut >
 
struct  amr_wind::fvm::StrainRate< FTypeIn, FTypeOut >
 
struct  amr_wind::fvm::Vorticity< FTypeIn, FTypeOut >
 
struct  amr_wind::fvm::VorticityMag< FTypeIn, FTypeOut >
 

Functions

template<typename FTypeIn , typename FTypeOut >
void amr_wind::fvm::curvature (FTypeOut &curphi, const FTypeIn &phi)
 
template<typename FType >
std::unique_ptr< ScratchFieldamr_wind::fvm::curvature (const FType &phi)
 
template<typename FTypeIn , typename FTypeOut >
void amr_wind::fvm::divergence (FTypeOut &divphi, const FTypeIn &phi)
 
template<typename FType >
std::unique_ptr< ScratchFieldamr_wind::fvm::divergence (const FType &phi)
 
template<typename FTypeIn , typename FTypeOut >
void amr_wind::fvm::filter (FTypeOut &filterphi, const FTypeIn &phi)
 
template<typename FType >
std::unique_ptr< ScratchFieldamr_wind::fvm::filter (const FType &phi)
 
template<typename FTypeIn , typename FTypeOut >
void amr_wind::fvm::gradient (FTypeOut &gradphi, const FTypeIn &phi)
 
template<typename FType >
std::unique_ptr< ScratchFieldamr_wind::fvm::gradient (const FType &phi)
 
template<typename FTypeIn , typename FTypeOut >
void amr_wind::fvm::laplacian (FTypeOut &lapphi, const FTypeIn &phi)
 
template<typename FType >
std::unique_ptr< ScratchFieldamr_wind::fvm::laplacian (const FType &phi)
 
template<typename FTypeIn , typename FTypeOut >
void amr_wind::fvm::nonlinearsum (FTypeOut &strphi, const FTypeIn &phi)
 
template<typename FType >
std::unique_ptr< ScratchFieldamr_wind::fvm::nonlinearsum (const FType &phi)
 
template<typename FTypeIn , typename FTypeOut >
void amr_wind::fvm::q_criterion (FTypeOut &qcritphi, const FTypeIn &phi, const bool nondim=false)
 
template<typename FType >
std::unique_ptr< ScratchFieldamr_wind::fvm::q_criterion (const FType &phi)
 
template<typename FTypeIn , typename FTypeOut >
void amr_wind::fvm::strainrate (FTypeOut &strphi, const FTypeIn &phi)
 
template<typename FType >
std::unique_ptr< ScratchFieldamr_wind::fvm::strainrate (const FType &phi)
 
template<typename FTypeIn , typename FTypeOut >
void amr_wind::fvm::vorticity (FTypeOut &vortphi, const FTypeIn &phi)
 
template<typename FType >
std::unique_ptr< ScratchFieldamr_wind::fvm::vorticity (const FType &phi)
 
template<typename FTypeIn , typename FTypeOut >
void amr_wind::fvm::vorticity_mag (FTypeOut &vortmagphi, const FTypeIn &phi)
 
template<typename FType >
std::unique_ptr< ScratchFieldamr_wind::fvm::vorticity_mag (const FType &phi)
 

Detailed Description

Finite-Volume Operators

The fvm namespace defines finite-volume stencils and associated operators (e.g., gradient, divergence, laplacian, etc.) that are commonly used when solving partial differential equations using finite volume methods.

Function Documentation

◆ curvature() [1/2]

template<typename FType >
std::unique_ptr< ScratchField > amr_wind::fvm::curvature ( const FType & phi)
inline

Compute curvature

◆ curvature() [2/2]

template<typename FTypeIn , typename FTypeOut >
void amr_wind::fvm::curvature ( FTypeOut & curphi,
const FTypeIn & phi )
inline

Compute curvature

◆ divergence() [1/2]

template<typename FType >
std::unique_ptr< ScratchField > amr_wind::fvm::divergence ( const FType & phi)
inline

Compute the divergence of a vector field

◆ divergence() [2/2]

template<typename FTypeIn , typename FTypeOut >
void amr_wind::fvm::divergence ( FTypeOut & divphi,
const FTypeIn & phi )
inline

Compute the divergence of a vector field

◆ filter() [1/2]

template<typename FType >
std::unique_ptr< ScratchField > amr_wind::fvm::filter ( const FType & phi)
inline

Compute the filter of a given field and return it as ScratchField

Parameters
phi[in] Field whose filter is computed

◆ filter() [2/2]

template<typename FTypeIn , typename FTypeOut >
void amr_wind::fvm::filter ( FTypeOut & filterphi,
const FTypeIn & phi )
inline

Compute the filtered value of a given field

Parameters
filterphi[inout] Field where the filtered term is populated
phi[in] Field whose filter is computed

◆ gradient() [1/2]

template<typename FType >
std::unique_ptr< ScratchField > amr_wind::fvm::gradient ( const FType & phi)
inline

Compute the gradient of a given field and return it as ScratchField

Parameters
phi[in] Field whose gradient is computed

◆ gradient() [2/2]

template<typename FTypeIn , typename FTypeOut >
void amr_wind::fvm::gradient ( FTypeOut & gradphi,
const FTypeIn & phi )
inline

Compute the gradient of a given field

Parameters
gradphi[inout] Field where the gradient term is populated
phi[in] Field whose gradient is computed

◆ laplacian() [1/2]

template<typename FType >
std::unique_ptr< ScratchField > amr_wind::fvm::laplacian ( const FType & phi)
inline

Compute the laplacian of a given field and return as ScratchField

Parameters
phi[in] Field whose gradient is computed

◆ laplacian() [2/2]

template<typename FTypeIn , typename FTypeOut >
void amr_wind::fvm::laplacian ( FTypeOut & lapphi,
const FTypeIn & phi )
inline

Compute the laplacian of a given field

Parameters
lapphi[inout] Field where the laplacian term is populated
phi[in] Field whose gradient is computed

◆ nonlinearsum() [1/2]

template<typename FType >
std::unique_ptr< ScratchField > amr_wind::fvm::nonlinearsum ( const FType & phi)
inline

Compute the non-linear term as a ScratchField

Parameters
phi[in] The stress tensor field

◆ nonlinearsum() [2/2]

template<typename FTypeIn , typename FTypeOut >
void amr_wind::fvm::nonlinearsum ( FTypeOut & strphi,
const FTypeIn & phi )
inline

Compute the non-linear term for the Kosovic Sub-grid scale model

Parameters
strphi[out] Field where the non-linear terms is populated
phi[in] The stress tensor field

◆ q_criterion() [1/2]

template<typename FType >
std::unique_ptr< ScratchField > amr_wind::fvm::q_criterion ( const FType & phi)
inline

Compute the Q-criterion return as a ScratchField

Parameters
phi[in] The velocity vector field

◆ q_criterion() [2/2]

template<typename FTypeIn , typename FTypeOut >
void amr_wind::fvm::q_criterion ( FTypeOut & qcritphi,
const FTypeIn & phi,
const bool nondim = false )
inline

Compute the q-criterion

Parameters
qcritphi[out] Field where the Q-criterion is populated
phi[in] The velocity vector field
nondim[in] Flag for non-dimensional value

◆ strainrate() [1/2]

template<typename FType >
std::unique_ptr< ScratchField > amr_wind::fvm::strainrate ( const FType & phi)
inline

Compute the magnitude of strain rate return as a ScratchField

Parameters
phi[in] The velocity vector field

◆ strainrate() [2/2]

template<typename FTypeIn , typename FTypeOut >
void amr_wind::fvm::strainrate ( FTypeOut & strphi,
const FTypeIn & phi )
inline

Compute the magnitude of strain rate

Parameters
strphi[out] Field where the strain rate magnitude is populated
phi[in] The velocity vector field

◆ vorticity() [1/2]

template<typename FType >
std::unique_ptr< ScratchField > amr_wind::fvm::vorticity ( const FType & phi)
inline

Compute the magnitude of vorticity return as a ScratchField

Parameters
phi[in] The velocity vector field

◆ vorticity() [2/2]

template<typename FTypeIn , typename FTypeOut >
void amr_wind::fvm::vorticity ( FTypeOut & vortphi,
const FTypeIn & phi )
inline

Compute the magnitude of vorticity

Parameters
vortphi[out] Field where the vorticity magnitude is populated
phi[in] The velocity vector field

◆ vorticity_mag() [1/2]

template<typename FType >
std::unique_ptr< ScratchField > amr_wind::fvm::vorticity_mag ( const FType & phi)
inline

Compute the magnitude of vorticity return as a ScratchField

Parameters
phi[in] The velocity vector field

◆ vorticity_mag() [2/2]

template<typename FTypeIn , typename FTypeOut >
void amr_wind::fvm::vorticity_mag ( FTypeOut & vortmagphi,
const FTypeIn & phi )
inline

Compute the magnitude of vorticity

Parameters
vortmagphi[out] Field where the vorticity magnitude is populated
phi[in] The velocity vector field