AMR-Wind  v0.1.0
CFD solver for wind plant simulations
Public Member Functions | Private Attributes | List of all members
amr_wind::CFDSim Class Reference

Data structures for a CFD simulation. More...

#include <CFDSim.H>

Collaboration diagram for amr_wind::CFDSim:
[legend]

Public Member Functions

 CFDSim (amrex::AmrCore &mesh)
 
 ~CFDSim ()
 
amrex::AmrCore & mesh ()
 Return the AMR mesh hierarchy. More...
 
const amrex::AmrCore & mesh () const
 
SimTimetime ()
 Return simulation time control. More...
 
const SimTimetime () const
 
FieldReporepo ()
 Return the field repository. More...
 
FieldReporepo () const
 
pde::PDEMgrpde_manager ()
 
const pde::PDEMgrpde_manager () const
 
PhysicsMgrphysics_manager ()
 
const PhysicsMgrphysics_manager () const
 
PhysicsMgr::TypeVectorphysics ()
 
const PhysicsMgr::TypeVectorphysics () const
 
turbulence::TurbulenceModelturbulence_model ()
 
const turbulence::TurbulenceModelturbulence_model () const
 
IOManagerio_manager ()
 
const IOManagerio_manager () const
 
PostProcessManagerpost_manager ()
 
const PostProcessManagerpost_manager () const
 
OversetManageroverset_manager ()
 
const OversetManageroverset_manager () const
 
MeshMapmesh_mapping ()
 
const MeshMapmesh_mapping () const
 
ExtSolverMgrext_solver_manager ()
 
const ExtSolverMgrext_solver_manager () const
 
helics_storagehelics ()
 
const helics_storagehelics () const
 
bool has_overset () const
 
void create_turbulence_model ()
 Instantiate the turbulence model based on user inputs. More...
 
void init_physics ()
 Instantiate all physics instances based on user inputs. More...
 
void activate_overset ()
 Activate overset connectivity. More...
 
void activate_mesh_map ()
 Activate mesh mapping. More...
 
bool has_mesh_mapping () const
 
bool is_anelastic () const
 

Private Attributes

amrex::AmrCore & m_mesh
 
SimTime m_time
 
FieldRepo m_repo
 
pde::PDEMgr m_pde_mgr
 
PhysicsMgr m_physics_mgr
 
std::unique_ptr< turbulence::TurbulenceModelm_turbulence
 
std::unique_ptr< IOManagerm_io_mgr
 
std::unique_ptr< PostProcessManagerm_post_mgr
 
std::unique_ptr< OversetManagerm_overset_mgr
 
std::unique_ptr< MeshMapm_mesh_map
 
std::unique_ptr< ExtSolverMgrm_ext_solver_mgr
 
std::unique_ptr< helics_storagem_helics
 
bool m_mesh_mapping {false}
 

Detailed Description

Data structures for a CFD simulation.

CFDSim represents the amr-wind execution environment and manages all the necessary components used to perform a simulation. Each simulation contains a single CFDSim instance that holds references to the mesh, FieldRepo, SimTime, PhysicsMgr, pde::PDEMgr, IOManager, and post-processing manager instances. This class is just a data holder and does not perform any computational logic itself. The computational heavy-lifting is performed by the class instances within a time integration loop.

Constructor & Destructor Documentation

◆ CFDSim()

amr_wind::CFDSim::CFDSim ( amrex::AmrCore &  mesh)
explicit

◆ ~CFDSim()

amr_wind::CFDSim::~CFDSim ( )
default

Member Function Documentation

◆ activate_mesh_map()

void amr_wind::CFDSim::activate_mesh_map ( )

Activate mesh mapping.

◆ activate_overset()

void amr_wind::CFDSim::activate_overset ( )

Activate overset connectivity.

◆ create_turbulence_model()

void amr_wind::CFDSim::create_turbulence_model ( )

Instantiate the turbulence model based on user inputs.

◆ ext_solver_manager() [1/2]

ExtSolverMgr& amr_wind::CFDSim::ext_solver_manager ( )
inline

◆ ext_solver_manager() [2/2]

const ExtSolverMgr& amr_wind::CFDSim::ext_solver_manager ( ) const
inline

◆ has_mesh_mapping()

bool amr_wind::CFDSim::has_mesh_mapping ( ) const
inline

◆ has_overset()

bool amr_wind::CFDSim::has_overset ( ) const

◆ helics() [1/2]

helics_storage& amr_wind::CFDSim::helics ( )
inline

◆ helics() [2/2]

const helics_storage& amr_wind::CFDSim::helics ( ) const
inline

◆ init_physics()

void amr_wind::CFDSim::init_physics ( )

Instantiate all physics instances based on user inputs.

◆ io_manager() [1/2]

IOManager& amr_wind::CFDSim::io_manager ( )
inline

◆ io_manager() [2/2]

const IOManager& amr_wind::CFDSim::io_manager ( ) const
inline

◆ is_anelastic()

bool amr_wind::CFDSim::is_anelastic ( ) const

◆ mesh() [1/2]

amrex::AmrCore& amr_wind::CFDSim::mesh ( )
inline

Return the AMR mesh hierarchy.

◆ mesh() [2/2]

const amrex::AmrCore& amr_wind::CFDSim::mesh ( ) const
inline

◆ mesh_mapping() [1/2]

MeshMap* amr_wind::CFDSim::mesh_mapping ( )
inline

◆ mesh_mapping() [2/2]

const MeshMap* amr_wind::CFDSim::mesh_mapping ( ) const
inline

◆ overset_manager() [1/2]

OversetManager* amr_wind::CFDSim::overset_manager ( )
inline

◆ overset_manager() [2/2]

const OversetManager* amr_wind::CFDSim::overset_manager ( ) const
inline

◆ pde_manager() [1/2]

pde::PDEMgr& amr_wind::CFDSim::pde_manager ( )
inline

◆ pde_manager() [2/2]

const pde::PDEMgr& amr_wind::CFDSim::pde_manager ( ) const
inline

◆ physics() [1/2]

PhysicsMgr::TypeVector& amr_wind::CFDSim::physics ( )
inline

◆ physics() [2/2]

const PhysicsMgr::TypeVector& amr_wind::CFDSim::physics ( ) const
inline

◆ physics_manager() [1/2]

PhysicsMgr& amr_wind::CFDSim::physics_manager ( )
inline

◆ physics_manager() [2/2]

const PhysicsMgr& amr_wind::CFDSim::physics_manager ( ) const
inline

◆ post_manager() [1/2]

PostProcessManager& amr_wind::CFDSim::post_manager ( )
inline

◆ post_manager() [2/2]

const PostProcessManager& amr_wind::CFDSim::post_manager ( ) const
inline

◆ repo() [1/2]

FieldRepo& amr_wind::CFDSim::repo ( )
inline

Return the field repository.

◆ repo() [2/2]

FieldRepo& amr_wind::CFDSim::repo ( ) const
inline

◆ time() [1/2]

SimTime& amr_wind::CFDSim::time ( )
inline

Return simulation time control.

◆ time() [2/2]

const SimTime& amr_wind::CFDSim::time ( ) const
inline

◆ turbulence_model() [1/2]

turbulence::TurbulenceModel& amr_wind::CFDSim::turbulence_model ( )
inline

◆ turbulence_model() [2/2]

const turbulence::TurbulenceModel& amr_wind::CFDSim::turbulence_model ( ) const
inline

Member Data Documentation

◆ m_ext_solver_mgr

std::unique_ptr<ExtSolverMgr> amr_wind::CFDSim::m_ext_solver_mgr
private

◆ m_helics

std::unique_ptr<helics_storage> amr_wind::CFDSim::m_helics
private

◆ m_io_mgr

std::unique_ptr<IOManager> amr_wind::CFDSim::m_io_mgr
private

◆ m_mesh

amrex::AmrCore& amr_wind::CFDSim::m_mesh
private

◆ m_mesh_map

std::unique_ptr<MeshMap> amr_wind::CFDSim::m_mesh_map
private

◆ m_mesh_mapping

bool amr_wind::CFDSim::m_mesh_mapping {false}
private

◆ m_overset_mgr

std::unique_ptr<OversetManager> amr_wind::CFDSim::m_overset_mgr
private

◆ m_pde_mgr

pde::PDEMgr amr_wind::CFDSim::m_pde_mgr
private

◆ m_physics_mgr

PhysicsMgr amr_wind::CFDSim::m_physics_mgr
private

◆ m_post_mgr

std::unique_ptr<PostProcessManager> amr_wind::CFDSim::m_post_mgr
private

◆ m_repo

FieldRepo amr_wind::CFDSim::m_repo
mutableprivate

◆ m_time

SimTime amr_wind::CFDSim::m_time
private

◆ m_turbulence

std::unique_ptr<turbulence::TurbulenceModel> amr_wind::CFDSim::m_turbulence
private

The documentation for this class was generated from the following files: