Nalu
Nalu: a generalized unstructured massively parallel low Mach flow code designed to support a variety of energy applications of interest (most notably Wind ECP) built on the Sierra Toolkit and Trilinos solver Tpetra/Epetra stack. The open source BSD, clause 3 license model has been chosen for the code base. See LICENSE for more information. http://NaluCFD.org
Public Member Functions | Public Attributes | List of all members
sierra::nalu::MomentumEquationSystem Class Reference

#include <LowMachEquationSystem.h>

Inheritance diagram for sierra::nalu::MomentumEquationSystem:
sierra::nalu::EquationSystem

Public Member Functions

 MomentumEquationSystem (EquationSystems &equationSystems)
 
virtual ~MomentumEquationSystem ()
 
virtual void initial_work ()
 
virtual void register_nodal_fields (stk::mesh::Part *part)
 
virtual void register_edge_fields (stk::mesh::Part *part)
 
virtual void register_element_fields (stk::mesh::Part *part, const stk::topology &theTopo)
 
virtual void register_interior_algorithm (stk::mesh::Part *part)
 
virtual void register_inflow_bc (stk::mesh::Part *part, const stk::topology &theTopo, const InflowBoundaryConditionData &inflowBCData)
 
virtual void register_open_bc (stk::mesh::Part *part, const stk::topology &theTopo, const OpenBoundaryConditionData &openBCData)
 
virtual void register_wall_bc (stk::mesh::Part *part, const stk::topology &theTopo, const WallBoundaryConditionData &wallBCData)
 
virtual void register_symmetry_bc (stk::mesh::Part *part, const stk::topology &theTopo, const SymmetryBoundaryConditionData &symmetryBCData)
 
virtual void register_non_conformal_bc (stk::mesh::Part *part, const stk::topology &theTopo)
 
virtual void register_overset_bc ()
 
virtual void initialize ()
 
virtual void reinitialize_linear_system ()
 
virtual void predict_state ()
 
void compute_wall_function_params ()
 
virtual void manage_projected_nodal_gradient (EquationSystems &eqSystems)
 
virtual void compute_projected_nodal_gradient ()
 
- Public Member Functions inherited from sierra::nalu::EquationSystem
 EquationSystem (EquationSystems &eqSystems, const std::string name="no_name", const std::string eqnTypeName="no_eqn_type_name")
 
virtual ~EquationSystem ()
 
void set_nodal_gradient (const std::string &dofName)
 
virtual void populate_derived_quantities ()
 
virtual void solve_and_update ()
 Assemble the LHS and RHS and perform linear solve for prescribed number of iterations. More...
 
virtual void pre_iter_work ()
 Perform setup tasks before entering the solve and update step. More...
 
virtual void post_iter_work ()
 Perform setup tasks after he solve and update step. More...
 
virtual void post_iter_work_dep ()
 Deprecated post iteration work logic. More...
 
virtual void assemble_and_solve (stk::mesh::FieldBase *deltaSolution)
 
virtual void provide_output ()
 
virtual void pre_timestep_work ()
 
virtual void post_adapt_work ()
 
virtual void dump_eq_time ()
 
virtual double provide_scaled_norm ()
 
virtual double provide_norm ()
 
virtual double provide_norm_increment ()
 
virtual bool system_is_converged ()
 
virtual void register_periodic_bc (stk::mesh::Part *partMaster, stk::mesh::Part *partSlave, const stk::topology &theTopoMaster, const stk::topology &theTopoSlave, const PeriodicBoundaryConditionData &periodicBCData)
 
virtual void create_constraint_algorithm (stk::mesh::FieldBase *theField)
 
virtual void register_surface_pp_algorithm (const PostProcessingData &theData, stk::mesh::PartVector &partVector)
 
virtual void register_initial_condition_fcn (stk::mesh::Part *part, const std::map< std::string, std::string > &theNames, const std::map< std::string, std::vector< double > > &theParams)
 
virtual void evaluate_properties ()
 
PecletFunctioncreate_peclet_function (const std::string dofName)
 
virtual void load (const YAML::Node &node)
 
Simulationroot ()
 
EquationSystemsparent ()
 
void report_invalid_supp_alg_names ()
 
void report_built_supp_alg_names ()
 
bool supp_alg_is_requested (std::string name)
 
bool supp_alg_is_requested (std::vector< std::string >)
 
bool nodal_src_is_requested ()
 
void update_iteration_statistics (const int &iters)
 
bool bc_data_specified (const UserData &, std::string &name)
 
UserDataType get_bc_data_type (const UserData &, std::string &name)
 
std::string get_bc_function_name (const UserData &, std::string &name)
 
std::vector< double > get_bc_function_params (const UserData &, std::string &name)
 
std::vector< std::string > get_bc_function_string_params (const UserData &, std::string &name)
 
virtual void post_converged_work ()
 

Public Attributes

const bool managePNG_
 
VectorFieldTypevelocity_
 
GenericFieldTypedudx_
 
VectorFieldTypecoordinates_
 
VectorFieldTypeuTmp_
 
ScalarFieldTypevisc_
 
ScalarFieldTypetvisc_
 
ScalarFieldTypeevisc_
 
AssembleNodalGradUAlgorithmDriverassembleNodalGradAlgDriver_
 
AlgorithmDriverdiffFluxCoeffAlgDriver_
 
AlgorithmDrivertviscAlgDriver_
 
AlgorithmDrivercflReyAlgDriver_
 
AlgorithmDriverwallFunctionParamsAlgDriver_
 
ProjectedNodalGradientEquationSystemprojectedNodalGradEqs_
 
double firstPNGResidual_
 
std::vector< stk::mesh::Part * > notProjectedPart_
 
- Public Attributes inherited from sierra::nalu::EquationSystem
EquationSystemsequationSystems_
 
Realmrealm_
 
std::string name_
 
std::string userSuppliedName_
 
const std::string eqnTypeName_
 
int maxIterations_
 
double convergenceTolerance_
 
SolverAlgorithmDriversolverAlgDriver_
 
double timerAssemble_
 
double timerLoadComplete_
 
double timerSolve_
 
double timerMisc_
 
double timerInit_
 
double timerPrecond_
 
double avgLinearIterations_
 
double maxLinearIterations_
 
double minLinearIterations_
 
int nonLinearIterationCount_
 
bool reportLinearIterations_
 
bool firstTimeStepSolve_
 
bool edgeNodalGradient_
 
std::vector< AuxFunctionAlgorithm * > bcDataAlg_
 
std::vector< Algorithm * > bcDataMapAlg_
 
std::vector< Algorithm * > copyStateAlg_
 
LinearSystemlinsys_
 
size_t num_graph_entries_
 
std::vector< Algorithm * > propertyAlg_
 
std::vector< AlgorithmDriver * > preIterAlgDriver_
 List of tasks to be performed before each solve_and_update of this equation system. More...
 
std::vector< AlgorithmDriver * > postIterAlgDriver_
 List of tasks to be performed after each solve_and_update of this equation system. More...
 

Constructor & Destructor Documentation

sierra::nalu::MomentumEquationSystem::MomentumEquationSystem ( EquationSystems equationSystems)
sierra::nalu::MomentumEquationSystem::~MomentumEquationSystem ( )
virtual

Member Function Documentation

void sierra::nalu::MomentumEquationSystem::compute_projected_nodal_gradient ( )
virtual
void sierra::nalu::MomentumEquationSystem::compute_wall_function_params ( )
void sierra::nalu::MomentumEquationSystem::initial_work ( )
virtual
void sierra::nalu::MomentumEquationSystem::initialize ( )
virtual
void sierra::nalu::MomentumEquationSystem::manage_projected_nodal_gradient ( EquationSystems eqSystems)
virtual
void sierra::nalu::MomentumEquationSystem::predict_state ( )
virtual
void sierra::nalu::MomentumEquationSystem::register_edge_fields ( stk::mesh::Part *  part)
virtual

Reimplemented from sierra::nalu::EquationSystem.

void sierra::nalu::MomentumEquationSystem::register_element_fields ( stk::mesh::Part *  part,
const stk::topology &  theTopo 
)
virtual

Reimplemented from sierra::nalu::EquationSystem.

void sierra::nalu::MomentumEquationSystem::register_inflow_bc ( stk::mesh::Part *  part,
const stk::topology &  theTopo,
const InflowBoundaryConditionData inflowBCData 
)
virtual
void sierra::nalu::MomentumEquationSystem::register_interior_algorithm ( stk::mesh::Part *  part)
virtual

Reimplemented from sierra::nalu::EquationSystem.

References sierra::nalu::Realm::ablForcingAlg_, sierra::nalu::Algorithm::activeKernels_, sierra::nalu::AlgorithmDriver::algMap_, assembleNodalGradAlgDriver_, sierra::nalu::build_or_add_part_to_solver_alg(), sierra::nalu::Realm::bulk_data(), cflReyAlgDriver_, sierra::nalu::AssembleElemSolverAlgorithm::dataNeededByKernels_, diffFluxCoeffAlgDriver_, dudx_, sierra::nalu::EquationSystem::edgeNodalGradient_, sierra::nalu::SolutionOptions::elemSrcTermsMap_, evisc_, sierra::nalu::INTERIOR, sierra::nalu::Realm::is_turbulent(), sierra::nalu::KSGS, managePNG_, sierra::nalu::MASS, sierra::nalu::ABLForcingAlgorithm::momentumForcingOn(), sierra::nalu::NaluEnv::naluOutputP0(), sierra::nalu::EquationSystem::nodal_src_is_requested(), sierra::nalu::Realm::number_of_states(), sierra::nalu::EquationSystem::realm_, sierra::nalu::Realm::realmUsesEdges_, sierra::nalu::EquationSystem::report_built_supp_alg_names(), sierra::nalu::EquationSystem::report_invalid_supp_alg_names(), sierra::nalu::NaluEnv::self(), sierra::nalu::SMAGORINSKY, sierra::nalu::Realm::solutionOptions_, sierra::nalu::EquationSystem::solverAlgDriver_, sierra::nalu::SolverAlgorithmDriver::solverAlgMap_, sierra::nalu::SolverAlgorithmDriver::solverAlgorithmMap_, sierra::nalu::SolutionOptions::srcTermParamMap_, sierra::nalu::SolutionOptions::srcTermsMap_, sierra::nalu::SST, sierra::nalu::SST_DES, sierra::nalu::EquationSystem::supp_alg_is_requested(), sierra::nalu::Algorithm::supplementalAlg_, sierra::nalu::SolutionOptions::turbulenceModel_, tvisc_, tviscAlgDriver_, sierra::nalu::SolutionOptions::useConsolidatedSolverAlg_, velocity_, visc_, and sierra::nalu::WALE.

void sierra::nalu::MomentumEquationSystem::register_nodal_fields ( stk::mesh::Part *  part)
virtual
void sierra::nalu::MomentumEquationSystem::register_non_conformal_bc ( stk::mesh::Part *  part,
const stk::topology &  theTopo 
)
virtual
void sierra::nalu::MomentumEquationSystem::register_open_bc ( stk::mesh::Part *  part,
const stk::topology &  theTopo,
const OpenBoundaryConditionData openBCData 
)
virtual
void sierra::nalu::MomentumEquationSystem::register_overset_bc ( )
virtual
void sierra::nalu::MomentumEquationSystem::register_symmetry_bc ( stk::mesh::Part *  part,
const stk::topology &  theTopo,
const SymmetryBoundaryConditionData symmetryBCData 
)
virtual
void sierra::nalu::MomentumEquationSystem::register_wall_bc ( stk::mesh::Part *  part,
const stk::topology &  theTopo,
const WallBoundaryConditionData wallBCData 
)
virtual

Reimplemented from sierra::nalu::EquationSystem.

References sierra::nalu::WallUserData::ablWallFunctionApproach_, sierra::nalu::AlgorithmDriver::algMap_, assembleNodalGradAlgDriver_, sierra::nalu::EquationSystem::bc_data_specified(), sierra::nalu::EquationSystem::bcDataAlg_, sierra::nalu::EquationSystem::bcDataMapAlg_, sierra::nalu::CONSTANT_UD, dudx_, sierra::nalu::EquationSystem::edgeNodalGradient_, sierra::nalu::FUNCTION_UD, sierra::nalu::EquationSystem::get_bc_data_type(), sierra::nalu::EquationSystem::get_bc_function_name(), sierra::nalu::EquationSystem::get_bc_function_string_params(), sierra::nalu::MasterElementRepo::get_surface_master_element(), sierra::nalu::SolutionOptions::gravity_, sierra::nalu::WallUserData::gravityComponent_, sierra::nalu::Realm::initCondAlg_, sierra::nalu::WallUserData::isFsiInterface_, managePNG_, sierra::nalu::Realm::meta_data(), notProjectedPart_, sierra::nalu::MasterElement::numIntPoints_, sierra::nalu::WallUserData::q_, sierra::nalu::NormalHeatFlux::qn_, sierra::nalu::EquationSystem::realm_, sierra::nalu::Realm::realmUsesEdges_, sierra::nalu::ReferenceTemperature::referenceTemperature_, sierra::nalu::WallUserData::referenceTemperature_, sierra::nalu::Realm::solutionOptions_, sierra::nalu::EquationSystem::solverAlgDriver_, sierra::nalu::SolverAlgorithmDriver::solverAlgMap_, sierra::nalu::SolverAlgorithmDriver::solverDirichAlgMap_, sierra::nalu::WallUserData::u_, sierra::nalu::WallBoundaryConditionData::userData_, sierra::nalu::Velocity::ux_, sierra::nalu::Velocity::uy_, sierra::nalu::Velocity::uz_, velocity_, sierra::nalu::WALL, sierra::nalu::WALL_ABL, sierra::nalu::WallUserData::wallFunctionApproach_, wallFunctionParamsAlgDriver_, sierra::nalu::RoughnessHeight::z0_, and sierra::nalu::WallUserData::z0_.

void sierra::nalu::MomentumEquationSystem::reinitialize_linear_system ( )
virtual

Member Data Documentation

AssembleNodalGradUAlgorithmDriver* sierra::nalu::MomentumEquationSystem::assembleNodalGradAlgDriver_
AlgorithmDriver* sierra::nalu::MomentumEquationSystem::cflReyAlgDriver_
VectorFieldType* sierra::nalu::MomentumEquationSystem::coordinates_

Referenced by register_nodal_fields().

AlgorithmDriver* sierra::nalu::MomentumEquationSystem::diffFluxCoeffAlgDriver_
GenericFieldType* sierra::nalu::MomentumEquationSystem::dudx_
ScalarFieldType* sierra::nalu::MomentumEquationSystem::evisc_
double sierra::nalu::MomentumEquationSystem::firstPNGResidual_
const bool sierra::nalu::MomentumEquationSystem::managePNG_
std::vector<stk::mesh::Part *> sierra::nalu::MomentumEquationSystem::notProjectedPart_
ProjectedNodalGradientEquationSystem* sierra::nalu::MomentumEquationSystem::projectedNodalGradEqs_
ScalarFieldType* sierra::nalu::MomentumEquationSystem::tvisc_
AlgorithmDriver* sierra::nalu::MomentumEquationSystem::tviscAlgDriver_
VectorFieldType* sierra::nalu::MomentumEquationSystem::uTmp_
VectorFieldType* sierra::nalu::MomentumEquationSystem::velocity_
ScalarFieldType* sierra::nalu::MomentumEquationSystem::visc_
AlgorithmDriver* sierra::nalu::MomentumEquationSystem::wallFunctionParamsAlgDriver_

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