![]() |
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
|
#include <RadiativeTransportEquationSystem.h>
Public Member Functions | |
| RadiativeTransportEquationSystem (EquationSystems &equationSystems, const int quadratureOrder, const bool activateScattering, const bool activateUpwind, const bool deactivateSucv, const bool externalCoupling) | |
| virtual | ~RadiativeTransportEquationSystem () |
| void | register_nodal_fields (stk::mesh::Part *part) |
| void | register_edge_fields (stk::mesh::Part *part) |
| void | register_element_fields (stk::mesh::Part *part, const stk::topology &theTopo) |
| void | register_interior_algorithm (stk::mesh::Part *part) |
| void | register_wall_bc (stk::mesh::Part *part, const stk::topology &theTopo, const WallBoundaryConditionData &wallBCData) |
| void | initialize () |
| void | predict_state () |
| void | solve_and_update () |
| Assemble the LHS and RHS and perform linear solve for prescribed number of iterations. More... | |
| void | set_current_ordinate_info (const int k) |
| void | initialize_intensity () |
| void | compute_bc_intensity () |
| void | compute_radiation_source () |
| bool | system_is_converged () |
| double | provide_scaled_norm () |
| double | provide_norm () |
| void | zero_out_fields () |
| void | zero_irradiation () |
| void | assemble_boundary_area () |
| void | assemble_fields () |
| void | assemble_irradiation () |
| void | normalize_irradiation () |
| void | compute_div_norm () |
| void | copy_ordinate_intensity (const ScalarFieldType &fromField, const ScalarFieldType &toField) |
| void | get_current_ordinate_info (double &weight, double *Sk) const |
| void | get_current_ordinate (double *Sk) const |
| double | get_stefan_boltzmann () const |
| ScalarFieldType * | get_intensity () const |
| void | create_quadrature_set () |
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 | initial_work () |
| virtual void | populate_derived_quantities () |
| 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 | reinitialize_linear_system () |
| virtual void | post_adapt_work () |
| virtual void | dump_eq_time () |
| virtual double | provide_norm_increment () |
| 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_symmetry_bc (stk::mesh::Part *part, const stk::topology &theTopo, const SymmetryBoundaryConditionData &symmetryBCData) |
| 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 | register_non_conformal_bc (stk::mesh::Part *part, const stk::topology &theTopo) |
| virtual void | register_overset_bc () |
| 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 () |
| PecletFunction * | create_peclet_function (const std::string dofName) |
| virtual void | load (const YAML::Node &node) |
| Simulation * | root () |
| EquationSystems * | parent () |
| 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 () |
| sierra::nalu::RadiativeTransportEquationSystem::RadiativeTransportEquationSystem | ( | EquationSystems & | equationSystems, |
| const int | quadratureOrder, | ||
| const bool | activateScattering, | ||
| const bool | activateUpwind, | ||
| const bool | deactivateSucv, | ||
| const bool | externalCoupling | ||
| ) |
References activateScattering_, activateUpwind_, sierra::nalu::LinearSystem::create(), create_quadrature_set(), sierra::nalu::LinearSolvers::create_solver(), currentSn_, sierra::nalu::EQ_INTENSITY, sierra::nalu::Realm::equationSystems_, sierra::nalu::EquationSystems::get_solver_block_name(), sierra::nalu::Simulation::linearSolvers_, sierra::nalu::EquationSystem::linsys_, sierra::nalu::Realm::meta_data(), sierra::nalu::NaluEnv::naluOutputP0(), ordinateDirections_, sierra::nalu::LinearSystem::provideOutput_, sierra::nalu::Realm::push_equation_to_systems(), quadratureOrder_, sierra::nalu::EquationSystem::realm_, sierra::nalu::Realm::realmUsesEdges_, sierra::nalu::Realm::root(), sierra::nalu::NaluEnv::self(), Sn_, and weights_.
|
virtual |
| void sierra::nalu::RadiativeTransportEquationSystem::assemble_boundary_area | ( | ) |
References assembledBoundaryArea_, bcPartVec_, sierra::nalu::Realm::bulk_data(), sierra::nalu::Realm::get_buckets(), sierra::nalu::Realm::hasPeriodic_, sierra::nalu::Realm::meta_data(), sierra::nalu::Realm::periodic_field_update(), and sierra::nalu::EquationSystem::realm_.
Referenced by solve_and_update().
| void sierra::nalu::RadiativeTransportEquationSystem::assemble_fields | ( | ) |
| void sierra::nalu::RadiativeTransportEquationSystem::assemble_irradiation | ( | ) |
References bcPartVec_, currentSn_, currentWeight_, sierra::nalu::Realm::get_buckets(), sierra::nalu::MasterElementRepo::get_surface_master_element(), intensity_, irradiation_, sierra::nalu::Realm::meta_data(), sierra::nalu::MasterElement::nodesPerElement_, sierra::nalu::MasterElement::numIntPoints_, sierra::nalu::EquationSystem::realm_, sierra::nalu::Realm::realmUsesEdges_, sierra::nalu::MasterElement::shape_fcn(), and sierra::nalu::MasterElement::shifted_shape_fcn().
Referenced by solve_and_update().
| void sierra::nalu::RadiativeTransportEquationSystem::compute_bc_intensity | ( | ) |
| void sierra::nalu::RadiativeTransportEquationSystem::compute_div_norm | ( | ) |
References absorptionCoeff_, divRadiativeHeatFlux_, sierra::nalu::Realm::get_buckets(), get_stefan_boltzmann(), interiorPartVec_, sierra::nalu::Realm::l2Scaling_, sierra::nalu::Realm::meta_data(), sierra::nalu::EquationSystem::realm_, scalarFlux_, scalarFluxOld_, sierra::nalu::NaluEnv::self(), systemL2Norm_, and temperature_.
Referenced by solve_and_update().
| void sierra::nalu::RadiativeTransportEquationSystem::compute_radiation_source | ( | ) |
| void sierra::nalu::RadiativeTransportEquationSystem::copy_ordinate_intensity | ( | const ScalarFieldType & | fromField, |
| const ScalarFieldType & | toField | ||
| ) |
| void sierra::nalu::RadiativeTransportEquationSystem::create_quadrature_set | ( | ) |
| void sierra::nalu::RadiativeTransportEquationSystem::get_current_ordinate | ( | double * | Sk | ) | const |
References currentSn_, sierra::nalu::Realm::meta_data(), and sierra::nalu::EquationSystem::realm_.
Referenced by sierra::nalu::AssembleRadTransEdgeSolverAlgorithm::execute(), sierra::nalu::AssembleRadTransEdgeUpwindSolverAlgorithm::execute(), sierra::nalu::AssembleRadTransElemSolverAlgorithm::execute(), sierra::nalu::AssembleRadTransWallSolverAlgorithm::execute(), sierra::nalu::RadTransFemElemSuppAlg::setup(), and sierra::nalu::RadTransSupgElemSuppAlg::setup().
| void sierra::nalu::RadiativeTransportEquationSystem::get_current_ordinate_info | ( | double & | weight, |
| double * | Sk | ||
| ) | const |
| ScalarFieldType * sierra::nalu::RadiativeTransportEquationSystem::get_intensity | ( | ) | const |
References intensity_.
Referenced by sierra::nalu::AssembleRadTransEdgeSolverAlgorithm::execute(), sierra::nalu::AssembleRadTransEdgeUpwindSolverAlgorithm::execute(), sierra::nalu::AssembleRadTransElemSolverAlgorithm::execute(), sierra::nalu::AssembleRadTransWallSolverAlgorithm::execute(), sierra::nalu::RadTransBlackBodyNodeSuppAlg::setup(), sierra::nalu::RadTransFemElemSuppAlg::setup(), and sierra::nalu::RadTransSupgElemSuppAlg::setup().
| double sierra::nalu::RadiativeTransportEquationSystem::get_stefan_boltzmann | ( | ) | const |
References sierra::nalu::Realm::get_stefan_boltzmann(), and sierra::nalu::EquationSystem::realm_.
Referenced by compute_bc_intensity(), compute_div_norm(), compute_radiation_source(), and initialize_intensity().
|
virtual |
| void sierra::nalu::RadiativeTransportEquationSystem::initialize_intensity | ( | ) |
| void sierra::nalu::RadiativeTransportEquationSystem::normalize_irradiation | ( | ) |
References assembledBoundaryArea_, bcPartVec_, sierra::nalu::Realm::bulk_data(), sierra::nalu::Realm::get_buckets(), sierra::nalu::Realm::hasPeriodic_, irradiation_, sierra::nalu::Realm::meta_data(), sierra::nalu::Realm::periodic_field_update(), and sierra::nalu::EquationSystem::realm_.
Referenced by solve_and_update().
|
virtual |
Reimplemented from sierra::nalu::EquationSystem.
|
virtual |
Reimplemented from sierra::nalu::EquationSystem.
References nonLinearResidualSum_.
|
virtual |
Reimplemented from sierra::nalu::EquationSystem.
References firstNonLinearResidualSum_, and nonLinearResidualSum_.
|
virtual |
Reimplemented from sierra::nalu::EquationSystem.
References edgeAreaVec_, sierra::nalu::Realm::meta_data(), sierra::nalu::EquationSystem::realm_, and sierra::nalu::Realm::realmUsesEdges_.
|
virtual |
Reimplemented from sierra::nalu::EquationSystem.
|
virtual |
Reimplemented from sierra::nalu::EquationSystem.
References activateScattering_, activateUpwind_, sierra::nalu::SolutionOptions::elemSrcTermsMap_, sierra::nalu::INTERIOR, interiorPartVec_, sierra::nalu::EquationSystem::realm_, sierra::nalu::Realm::realmUsesEdges_, sierra::nalu::Realm::solutionOptions_, sierra::nalu::EquationSystem::solverAlgDriver_, sierra::nalu::SolverAlgorithmDriver::solverAlgMap_, sierra::nalu::SRC, sierra::nalu::Algorithm::supplementalAlg_, and sierra::nalu::SolutionOptions::useConsolidatedSolverAlg_.
|
virtual |
Reimplemented from sierra::nalu::EquationSystem.
References sierra::nalu::ABSORBTION_COEFF_ID, absorptionCoeff_, activateScattering_, sierra::nalu::Realm::augment_property_map(), coordinates_, divRadiativeHeatFlux_, dualNodalVolume_, externalCoupling_, intensity_, iTmp_, sierra::nalu::Realm::meta_data(), ordinateDirections_, radiationSource_, radiativeHeatFlux_, sierra::nalu::EquationSystem::realm_, scalarFlux_, scalarFluxOld_, sierra::nalu::SCATTERING_COEFF_ID, scatteringCoeff_, and temperature_.
|
virtual |
Reimplemented from sierra::nalu::EquationSystem.
References assembledBoundaryArea_, sierra::nalu::EquationSystem::bcDataAlg_, bcPartVec_, bcTemperature_, sierra::nalu::Emissivity::emissivity_, emissivity_, sierra::nalu::WallUserData::emissivity_, sierra::nalu::EnvironmentalT::environmentalT_, environmentalT_, sierra::nalu::WallUserData::environmentalT_, sierra::nalu::Realm::initCondAlg_, intensityBc_, irradiation_, sierra::nalu::WallUserData::isInterface_, sierra::nalu::Realm::meta_data(), sierra::nalu::EquationSystem::realm_, sierra::nalu::Realm::realmUsesEdges_, sierra::nalu::EquationSystem::solverAlgDriver_, sierra::nalu::SolverAlgorithmDriver::solverAlgMap_, sierra::nalu::Temperature::temperature_, sierra::nalu::UserData::temperature_, sierra::nalu::UserData::tempSpec_, sierra::nalu::Transmissivity::transmissivity_, transmissivity_, sierra::nalu::WallUserData::transmissivity_, sierra::nalu::WallBoundaryConditionData::userData_, and sierra::nalu::WALL.
| void sierra::nalu::RadiativeTransportEquationSystem::set_current_ordinate_info | ( | const int | k | ) |
References copy_ordinate_intensity(), currentIntensity_, currentSn_, currentWeight_, intensity_, sierra::nalu::Realm::meta_data(), sierra::nalu::EquationSystem::realm_, Sn_, and weights_.
Referenced by solve_and_update().
|
virtual |
Assemble the LHS and RHS and perform linear solve for prescribed number of iterations.
This method is invoked in EquationSystems::solve_and_update method as shown below
Reimplemented from sierra::nalu::EquationSystem.
References sierra::nalu::EquationSystem::assemble_and_solve(), assemble_boundary_area(), assemble_fields(), assemble_irradiation(), sierra::nalu::Realm::bulk_data(), compute_bc_intensity(), compute_div_norm(), compute_radiation_source(), sierra::nalu::EquationSystem::convergenceTolerance_, copy_ordinate_intensity(), currentIntensity_, sierra::nalu::Realm::currentNonlinearIteration_, sierra::nalu::field_axpby(), firstNonLinearResidualSum_, sierra::nalu::Realm::get_activate_aura(), initialize_intensity(), intensity_, isInit_, iTmp_, sierra::nalu::LinearSystem::linearSolveIterations(), sierra::nalu::EquationSystem::linsys_, sierra::nalu::EquationSystem::maxIterations_, sierra::nalu::Realm::meta_data(), sierra::nalu::NaluEnv::nalu_time(), sierra::nalu::NaluEnv::naluOutputP0(), sierra::nalu::LinearSystem::nonLinearResidual(), nonLinearResidualSum_, normalize_irradiation(), ordinateDirections_, sierra::nalu::EquationSystem::realm_, scalarFlux_, scalarFluxOld_, sierra::nalu::NaluEnv::self(), set_current_ordinate_info(), systemL2Norm_, sierra::nalu::EquationSystem::timerAssemble_, sierra::nalu::EquationSystem::userSuppliedName_, zero_irradiation(), and zero_out_fields().
|
virtual |
Reimplemented from sierra::nalu::EquationSystem.
References sierra::nalu::EquationSystem::convergenceTolerance_, firstNonLinearResidualSum_, sierra::nalu::EquationSystem::linsys_, and nonLinearResidualSum_.
| void sierra::nalu::RadiativeTransportEquationSystem::zero_irradiation | ( | ) |
References bcPartVec_, sierra::nalu::Realm::get_buckets(), irradiation_, sierra::nalu::Realm::meta_data(), and sierra::nalu::EquationSystem::realm_.
Referenced by solve_and_update().
| void sierra::nalu::RadiativeTransportEquationSystem::zero_out_fields | ( | ) |
References sierra::nalu::Realm::get_buckets(), interiorPartVec_, sierra::nalu::Realm::meta_data(), radiativeHeatFlux_, sierra::nalu::EquationSystem::realm_, and scalarFlux_.
Referenced by solve_and_update().
| ScalarFieldType* sierra::nalu::RadiativeTransportEquationSystem::absorptionCoeff_ |
Referenced by compute_div_norm(), compute_radiation_source(), and register_nodal_fields().
| const bool sierra::nalu::RadiativeTransportEquationSystem::activateScattering_ |
Referenced by RadiativeTransportEquationSystem(), register_interior_algorithm(), and register_nodal_fields().
| const bool sierra::nalu::RadiativeTransportEquationSystem::activateUpwind_ |
Referenced by RadiativeTransportEquationSystem(), and register_interior_algorithm().
| ScalarFieldType* sierra::nalu::RadiativeTransportEquationSystem::assembledBoundaryArea_ |
Referenced by assemble_boundary_area(), normalize_irradiation(), and register_wall_bc().
| AlgorithmDriver* sierra::nalu::RadiativeTransportEquationSystem::bcIntensityAlgDriver_ |
| std::vector<stk::mesh::Part *> sierra::nalu::RadiativeTransportEquationSystem::bcPartVec_ |
| ScalarFieldType* sierra::nalu::RadiativeTransportEquationSystem::bcTemperature_ |
Referenced by compute_bc_intensity(), and register_wall_bc().
| VectorFieldType* sierra::nalu::RadiativeTransportEquationSystem::coordinates_ |
Referenced by register_nodal_fields().
| ScalarFieldType* sierra::nalu::RadiativeTransportEquationSystem::currentIntensity_ |
Referenced by set_current_ordinate_info(), and solve_and_update().
| std::vector<double> sierra::nalu::RadiativeTransportEquationSystem::currentSn_ |
| double sierra::nalu::RadiativeTransportEquationSystem::currentWeight_ |
Referenced by assemble_fields(), assemble_irradiation(), get_current_ordinate_info(), and set_current_ordinate_info().
| const bool sierra::nalu::RadiativeTransportEquationSystem::deactivateSucv_ |
| ScalarFieldType* sierra::nalu::RadiativeTransportEquationSystem::divRadiativeHeatFlux_ |
Referenced by compute_div_norm(), and register_nodal_fields().
| ScalarFieldType* sierra::nalu::RadiativeTransportEquationSystem::dualNodalVolume_ |
Referenced by register_nodal_fields().
| VectorFieldType* sierra::nalu::RadiativeTransportEquationSystem::edgeAreaVec_ |
Referenced by register_edge_fields().
| ScalarFieldType* sierra::nalu::RadiativeTransportEquationSystem::emissivity_ |
Referenced by compute_bc_intensity(), and register_wall_bc().
| ScalarFieldType* sierra::nalu::RadiativeTransportEquationSystem::environmentalT_ |
Referenced by compute_bc_intensity(), and register_wall_bc().
| const bool sierra::nalu::RadiativeTransportEquationSystem::externalCoupling_ |
Referenced by compute_radiation_source(), and register_nodal_fields().
| double sierra::nalu::RadiativeTransportEquationSystem::firstNonLinearResidualSum_ |
Referenced by provide_scaled_norm(), solve_and_update(), and system_is_converged().
| ScalarFieldType* sierra::nalu::RadiativeTransportEquationSystem::intensity_ |
| ScalarFieldType* sierra::nalu::RadiativeTransportEquationSystem::intensityBc_ |
Referenced by compute_bc_intensity(), and register_wall_bc().
| std::vector<stk::mesh::Part *> sierra::nalu::RadiativeTransportEquationSystem::interiorPartVec_ |
| ScalarFieldType* sierra::nalu::RadiativeTransportEquationSystem::irradiation_ |
Referenced by assemble_irradiation(), compute_bc_intensity(), normalize_irradiation(), register_wall_bc(), and zero_irradiation().
| bool sierra::nalu::RadiativeTransportEquationSystem::isInit_ |
Referenced by solve_and_update().
| ScalarFieldType* sierra::nalu::RadiativeTransportEquationSystem::iTmp_ |
Referenced by register_nodal_fields(), and solve_and_update().
| double sierra::nalu::RadiativeTransportEquationSystem::nonLinearResidualSum_ |
Referenced by provide_norm(), provide_scaled_norm(), solve_and_update(), and system_is_converged().
| int sierra::nalu::RadiativeTransportEquationSystem::ordinateDirections_ |
| const int sierra::nalu::RadiativeTransportEquationSystem::quadratureOrder_ |
Referenced by create_quadrature_set(), and RadiativeTransportEquationSystem().
| ScalarFieldType* sierra::nalu::RadiativeTransportEquationSystem::radiationSource_ |
Referenced by compute_radiation_source(), and register_nodal_fields().
| VectorFieldType* sierra::nalu::RadiativeTransportEquationSystem::radiativeHeatFlux_ |
Referenced by assemble_fields(), register_nodal_fields(), and zero_out_fields().
| ScalarFieldType* sierra::nalu::RadiativeTransportEquationSystem::scalarFlux_ |
Referenced by assemble_fields(), compute_div_norm(), register_nodal_fields(), solve_and_update(), and zero_out_fields().
| ScalarFieldType* sierra::nalu::RadiativeTransportEquationSystem::scalarFluxOld_ |
Referenced by compute_div_norm(), register_nodal_fields(), and solve_and_update().
| ScalarFieldType* sierra::nalu::RadiativeTransportEquationSystem::scatteringCoeff_ |
Referenced by register_nodal_fields().
| std::vector<double> sierra::nalu::RadiativeTransportEquationSystem::Sn_ |
Referenced by create_quadrature_set(), RadiativeTransportEquationSystem(), and set_current_ordinate_info().
| double sierra::nalu::RadiativeTransportEquationSystem::stefanBoltz_ |
| double sierra::nalu::RadiativeTransportEquationSystem::systemL2Norm_ |
Referenced by compute_div_norm(), and solve_and_update().
| ScalarFieldType* sierra::nalu::RadiativeTransportEquationSystem::temperature_ |
Referenced by compute_div_norm(), compute_radiation_source(), initialize_intensity(), and register_nodal_fields().
| ScalarFieldType* sierra::nalu::RadiativeTransportEquationSystem::transmissivity_ |
Referenced by compute_bc_intensity(), and register_wall_bc().
| std::vector<double> sierra::nalu::RadiativeTransportEquationSystem::weights_ |
Referenced by create_quadrature_set(), RadiativeTransportEquationSystem(), and set_current_ordinate_info().
1.8.11