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 Types | Public Member Functions | Public Attributes | List of all members
sierra::nalu::InputOutputRealm Class Reference

#include <InputOutputRealm.h>

Inheritance diagram for sierra::nalu::InputOutputRealm:
sierra::nalu::Realm

Public Types

typedef size_t SizeType
 
- Public Types inherited from sierra::nalu::Realm
typedef size_t SizeType
 

Public Member Functions

 InputOutputRealm (Realms &, const YAML::Node &node)
 
 ~InputOutputRealm ()
 
void load (const YAML::Node &node)
 
void breadboard ()
 
void initialize ()
 
void populate_initial_condition ()
 
void populate_boundary_data ()
 
void boundary_data_to_state_data ()
 
void populate_derived_quantities ()
 
void evaluate_properties ()
 
void initial_work ()
 
double compute_adaptive_time_step ()
 
void swap_states ()
 
void predict_state ()
 
void pre_timestep_work ()
 
void output_banner ()
 
void advance_time_step ()
 
double populate_restart (double &timeStepNm1, int &timeStepCount)
 
void populate_external_variables_from_input (const double currentTime)
 
void register_io_fields ()
 
- Public Member Functions inherited from sierra::nalu::Realm
 Realm (Realms &, const YAML::Node &node)
 
virtual ~Realm ()
 
void look_ahead_and_creation (const YAML::Node &node)
 
Simulationroot () const
 
Simulationroot ()
 
Realmsparent () const
 
Realmsparent ()
 
bool debug () const
 
bool get_activate_memory_diagnostic ()
 
void provide_memory_summary ()
 
std::string convert_bytes (double bytes)
 
void create_mesh ()
 
void setup_adaptivity ()
 
void setup_nodal_fields ()
 
void setup_edge_fields ()
 
void setup_element_fields ()
 
void setup_interior_algorithms ()
 
void setup_post_processing_algorithms ()
 
void setup_bc ()
 
void enforce_bc_on_exposed_faces ()
 
void setup_initial_conditions ()
 
void setup_property ()
 
void extract_universal_constant (const std::string name, double &value, const bool useDefault)
 
void augment_property_map (PropertyIdentifier propID, ScalarFieldType *theField)
 
void makeSureNodesHaveValidTopology ()
 
void initialize_global_variables ()
 
void balance_nodes ()
 
void create_output_mesh ()
 
void create_restart_mesh ()
 
void input_variables_from_mesh ()
 
void augment_output_variable_list (const std::string fieldName)
 
void augment_restart_variable_list (std::string restartFieldName)
 
void create_edges ()
 
void provide_entity_count ()
 
void delete_edges ()
 
void commit ()
 
void process_mesh_motion ()
 
void compute_centroid_on_parts (std::vector< std::string > partNames, std::vector< double > &centroid)
 
void init_current_coordinates ()
 
std::string get_coordinates_name ()
 
bool has_mesh_motion ()
 
bool has_mesh_deformation ()
 
bool does_mesh_move ()
 
bool has_non_matching_boundary_face_alg ()
 
bool query_for_overset ()
 
void set_omega (stk::mesh::Part *targetPart, double omega)
 
void set_current_displacement (stk::mesh::Part *targetPart, const std::vector< double > &centroidCoords, const std::vector< double > &unitVec)
 
void set_current_coordinates (stk::mesh::Part *targetPart)
 
void set_mesh_velocity (stk::mesh::Part *targetPart, const std::vector< double > &centroidCoords, const std::vector< double > &unitVec)
 
void mesh_velocity_cross_product (double *o, double *c, double *u)
 
void initialize_non_conformal ()
 
void initialize_overset ()
 
void initialize_post_processing_algorithms ()
 
void compute_geometry ()
 
void compute_vrtm ()
 
void compute_l2_scaling ()
 
void output_converged_results ()
 
void provide_output ()
 
void provide_restart_output ()
 
void register_interior_algorithm (stk::mesh::Part *part)
 
void register_nodal_fields (stk::mesh::Part *part)
 
void register_wall_bc (stk::mesh::Part *part, const stk::topology &theTopo)
 
void register_inflow_bc (stk::mesh::Part *part, const stk::topology &theTopo)
 
void register_open_bc (stk::mesh::Part *part, const stk::topology &theTopo)
 
void register_symmetry_bc (stk::mesh::Part *part, const stk::topology &theTopo)
 
void register_periodic_bc (stk::mesh::Part *masterMeshPart, stk::mesh::Part *slaveMeshPart, const double &searchTolerance, const std::string &searchMethodName)
 
void setup_non_conformal_bc (stk::mesh::PartVector currentPartVec, stk::mesh::PartVector opposingPartVec, const NonConformalBoundaryConditionData &nonConformalBCData)
 
void register_non_conformal_bc (stk::mesh::Part *part, const stk::topology &theTopo)
 
void setup_overset_bc (const OversetBoundaryConditionData &oversetBCData)
 
void periodic_field_update (stk::mesh::FieldBase *theField, const unsigned &sizeOfTheField, const bool &bypassFieldCheck=true) const
 
void periodic_delta_solution_update (stk::mesh::FieldBase *theField, const unsigned &sizeOfField) const
 
void periodic_max_field_update (stk::mesh::FieldBase *theField, const unsigned &sizeOfField) const
 
const stk::mesh::PartVectorget_slave_part_vector ()
 
void overset_orphan_node_field_update (stk::mesh::FieldBase *theField, const unsigned sizeRow, const unsigned sizeCol)
 
virtual double populate_variables_from_input (const double currentTime)
 
void set_global_id ()
 
void check_job (bool get_node_count)
 check job for fitting in memory More...
 
void dump_simulation_time ()
 
double provide_mean_norm ()
 
double get_hybrid_factor (const std::string dofname)
 
double get_alpha_factor (const std::string dofname)
 
double get_alpha_upw_factor (const std::string dofname)
 
double get_upw_factor (const std::string dofname)
 
bool primitive_uses_limiter (const std::string dofname)
 
double get_lam_schmidt (const std::string dofname)
 
double get_lam_prandtl (const std::string dofname, bool &prProvided)
 
double get_turb_schmidt (const std::string dofname)
 
double get_turb_prandtl (const std::string dofname)
 
bool get_noc_usage (const std::string dofname)
 
bool get_shifted_grad_op (const std::string dofname)
 
double get_divU ()
 
std::string get_tanh_functional_form (const std::string dofname)
 
double get_tanh_trans (const std::string dofname)
 
double get_tanh_width (const std::string dofname)
 
bool get_consistent_mass_matrix_png (const std::string dofname)
 
double get_mdot_interp ()
 
bool get_cvfem_shifted_mdot ()
 
bool get_cvfem_reduced_sens_poisson ()
 
bool has_nc_gauss_labatto_quadrature ()
 
bool get_nc_alg_upwind_advection ()
 
bool get_nc_alg_include_pstab ()
 
bool get_nc_alg_current_normal ()
 
PropertyEvaluatorget_material_prop_eval (const PropertyIdentifier thePropID)
 
bool is_turbulent ()
 
void is_turbulent (bool isIt)
 
bool needs_enthalpy ()
 
void needs_enthalpy (bool needsEnthalpy)
 
int number_of_states ()
 
std::string name ()
 
stk::mesh::BucketVector const & get_buckets (stk::mesh::EntityRank rank, const stk::mesh::Selector &selector, bool get_all=false) const
 
bool get_activate_aura ()
 
stk::mesh::BulkData & bulk_data ()
 
stk::mesh::MetaData & meta_data ()
 
stk::mesh::Selector get_inactive_selector ()
 
void push_equation_to_systems (EquationSystem *eqSystem)
 
const std::vector< std::string > & get_physics_target_names ()
 
double get_tanh_blending (const std::string dofName)
 
void augment_transfer_vector (Transfer *transfer, const std::string transferObjective, Realm *toRealm)
 
void process_multi_physics_transfer ()
 
void process_initialization_transfer ()
 
void process_io_transfer ()
 
void process_external_data_transfer ()
 
void post_converged_work ()
 
double get_current_time ()
 
double get_time_step ()
 
double get_gamma1 ()
 
double get_gamma2 ()
 
double get_gamma3 ()
 
int get_time_step_count () const
 
double get_time_step_from_file ()
 
bool get_is_fixed_time_step ()
 
bool get_is_terminate_based_on_time ()
 
double get_total_sim_time ()
 
int get_max_time_step_count ()
 
bool restarted_simulation ()
 
bool support_inconsistent_restart ()
 
double get_stefan_boltzmann ()
 
double get_turb_model_constant (const TurbulenceModelConstant turbModelEnum)
 
bool process_adaptivity ()
 
void setup_element_promotion ()
 
void promote_mesh ()
 
void create_promoted_output_mesh ()
 
bool using_SGL_quadrature () const
 
bool high_order_active () const
 
std::string physics_part_name (std::string) const
 
std::string get_quad_type () const
 

Public Attributes

std::vector< InputOutputInfo * > inputOutputFieldInfo_
 
- Public Attributes inherited from sierra::nalu::Realm
Realmsrealms_
 
std::string name_
 
std::string type_
 
std::string inputDBName_
 
unsigned spatialDimension_
 
bool realmUsesEdges_
 
int solveFrequency_
 
bool isTurbulent_
 
bool needsEnthalpy_
 
double l2Scaling_
 
stk::mesh::MetaData * metaData_
 
stk::mesh::BulkData * bulkData_
 
stk::io::StkMeshIoBroker * ioBroker_
 
size_t resultsFileIndex_
 
size_t restartFileIndex_
 
GlobalIdFieldTypenaluGlobalId_
 
ComputeGeometryAlgorithmDrivercomputeGeometryAlgDriver_
 
ErrorIndicatorAlgorithmDrivererrorIndicatorAlgDriver_
 
unsigned numInitialElements_
 
stk::mesh::Selector adapterSelector_ [4]
 
Teuchos::RCP< stk::mesh::Selector > activePartForIO_
 
TimeIntegratortimeIntegrator_
 
BoundaryConditions boundaryConditions_
 
InitialConditions initialConditions_
 
MaterialPropertys materialPropertys_
 
EquationSystems equationSystems_
 
double maxCourant_
 
double maxReynolds_
 
double targetCourant_
 
double timeStepChangeFactor_
 
int currentNonlinearIteration_
 
SolutionOptionssolutionOptions_
 
OutputInfooutputInfo_
 
PostProcessingInfopostProcessingInfo_
 
SolutionNormPostProcessingsolutionNormPostProcessing_
 
TurbulenceAveragingPostProcessingturbulenceAveragingPostProcessing_
 
DataProbePostProcessingdataProbePostProcessing_
 
Actuatoractuator_
 
ABLForcingAlgorithmablForcingAlg_
 
std::vector< Algorithm * > propertyAlg_
 
std::map< PropertyIdentifier, ScalarFieldType * > propertyMap_
 
std::vector< Algorithm * > initCondAlg_
 
SizeType nodeCount_
 
bool estimateMemoryOnly_
 
double availableMemoryPerCoreGB_
 
double timerCreateMesh_
 
double timerPopulateMesh_
 
double timerPopulateFieldData_
 
double timerOutputFields_
 
double timerCreateEdges_
 
double timerNonconformal_
 
double timerInitializeEqs_
 
double timerPropertyEval_
 
double timerAdapt_
 
double timerTransferSearch_
 
double timerTransferExecute_
 
double timerSkinMesh_
 
double timerPromoteMesh_
 
NonConformalManagernonConformalManager_
 
OversetManageroversetManager_
 
bool hasNonConformal_
 
bool hasOverset_
 
bool hasMultiPhysicsTransfer_
 
bool hasInitializationTransfer_
 
bool hasIoTransfer_
 
bool hasExternalDataTransfer_
 
PeriodicManagerperiodicManager_
 
bool hasPeriodic_
 
bool hasFluids_
 
stk::util::ParameterList globalParameters_
 
stk::mesh::Part * exposedBoundaryPart_
 
stk::mesh::Part * edgesPart_
 
bool checkForMissingBcs_
 
bool isothermalFlow_
 
bool uniformFlow_
 
bool provideEntityCount_
 
HDF5FilePtrHDF5ptr_
 
std::string autoDecompType_
 
bool activateAura_
 
bool activateMemoryDiagnostic_
 
bool supportInconsistentRestart_
 
bool doBalanceNodes_
 
BalanceNodeOptions balanceNodeOptions_
 
double wallTimeStart_
 
stk::mesh::PartVector bcPartVec_
 
stk::mesh::PartVector emptyPartVector_
 
stk::mesh::PartVector basePartVector_
 
stk::mesh::PartVector superPartVector_
 
std::vector< AuxFunctionAlgorithm * > bcDataAlg_
 
std::vector< Transfer * > multiPhysicsTransferVec_
 
std::vector< Transfer * > initializationTransferVec_
 
std::vector< Transfer * > ioTransferVec_
 
std::vector< Transfer * > externalDataTransferVec_
 
bool doPromotion_
 
unsigned promotionOrder_
 
size_t inputMeshIdx_
 
const YAML::Nodenode_
 
std::unique_ptr< ElementDescriptiondesc_
 
std::unique_ptr< PromotedElementIOpromotionIO_
 
std::vector< std::string > superTargetNames_
 
stk::mesh::PartVector allPeriodicInteractingParts_
 
stk::mesh::PartVector allNonConformalInteractingParts_
 

Member Typedef Documentation

Constructor & Destructor Documentation

sierra::nalu::InputOutputRealm::InputOutputRealm ( Realms realms,
const YAML::Node node 
)
sierra::nalu::InputOutputRealm::~InputOutputRealm ( )

References inputOutputFieldInfo_.

Member Function Documentation

void sierra::nalu::InputOutputRealm::advance_time_step ( )
inlinevirtual

Reimplemented from sierra::nalu::Realm.

void sierra::nalu::InputOutputRealm::boundary_data_to_state_data ( )
inlinevirtual

Reimplemented from sierra::nalu::Realm.

void sierra::nalu::InputOutputRealm::breadboard ( )
inlinevirtual

Reimplemented from sierra::nalu::Realm.

References initialize().

double sierra::nalu::InputOutputRealm::compute_adaptive_time_step ( )
inlinevirtual

Reimplemented from sierra::nalu::Realm.

void sierra::nalu::InputOutputRealm::evaluate_properties ( )
inlinevirtual

Reimplemented from sierra::nalu::Realm.

void sierra::nalu::InputOutputRealm::initial_work ( )
inlinevirtual

Reimplemented from sierra::nalu::Realm.

void sierra::nalu::InputOutputRealm::initialize ( )
virtual
void sierra::nalu::InputOutputRealm::load ( const YAML::Node node)
virtual
void sierra::nalu::InputOutputRealm::output_banner ( )
inlinevirtual

Reimplemented from sierra::nalu::Realm.

void sierra::nalu::InputOutputRealm::populate_boundary_data ( )
inlinevirtual

Reimplemented from sierra::nalu::Realm.

void sierra::nalu::InputOutputRealm::populate_derived_quantities ( )
inlinevirtual

Reimplemented from sierra::nalu::Realm.

void sierra::nalu::InputOutputRealm::populate_external_variables_from_input ( const double  currentTime)
virtual
void sierra::nalu::InputOutputRealm::populate_initial_condition ( )
inlinevirtual

Reimplemented from sierra::nalu::Realm.

double sierra::nalu::InputOutputRealm::populate_restart ( double &  timeStepNm1,
int &  timeStepCount 
)
virtual
void sierra::nalu::InputOutputRealm::pre_timestep_work ( )
inlinevirtual

Reimplemented from sierra::nalu::Realm.

void sierra::nalu::InputOutputRealm::predict_state ( )
inlinevirtual

Reimplemented from sierra::nalu::Realm.

void sierra::nalu::InputOutputRealm::register_io_fields ( )
void sierra::nalu::InputOutputRealm::swap_states ( )
inlinevirtual

Reimplemented from sierra::nalu::Realm.

Member Data Documentation

std::vector<InputOutputInfo *> sierra::nalu::InputOutputRealm::inputOutputFieldInfo_

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