![]() |
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 <MeshDisplacementEquationSystem.h>
Public Member Functions | |
| MeshDisplacementEquationSystem (EquationSystems &equationSystems, const bool activateMass, const bool deformWrtModelCoords) | |
| virtual | ~MeshDisplacementEquationSystem () |
| void | initial_work () |
| void | register_nodal_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 | register_overset_bc () |
| void | initialize () |
| void | reinitialize_linear_system () |
| void | predict_state () |
| void | solve_and_update () |
| Assemble the LHS and RHS and perform linear solve for prescribed number of iterations. More... | |
| void | compute_current_coordinates () |
| void | compute_div_mesh_velocity () |
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 | register_edge_fields (stk::mesh::Part *part) |
| 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_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 | 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::MeshDisplacementEquationSystem::MeshDisplacementEquationSystem | ( | EquationSystems & | equationSystems, |
| const bool | activateMass, | ||
| const bool | deformWrtModelCoords | ||
| ) |
References sierra::nalu::LinearSystem::create(), sierra::nalu::LinearSolvers::create_solver(), sierra::nalu::EquationSystem::edgeNodalGradient_, sierra::nalu::EQ_MESH_DISPLACEMENT, sierra::nalu::Realm::equationSystems_, sierra::nalu::EquationSystems::get_solver_block_name(), sierra::nalu::Simulation::linearSolvers_, sierra::nalu::EquationSystem::linsys_, sierra::nalu::SolutionOptions::meshDeformation_, sierra::nalu::NaluEnv::naluOutputP0(), sierra::nalu::Realm::push_equation_to_systems(), sierra::nalu::EquationSystem::realm_, sierra::nalu::Realm::root(), sierra::nalu::NaluEnv::self(), sierra::nalu::EquationSystem::set_nodal_gradient(), sierra::nalu::Realm::solutionOptions_, and sierra::nalu::Realm::spatialDimension_.
|
virtual |
References assembleNodalGradAlgDriver_.
| void sierra::nalu::MeshDisplacementEquationSystem::compute_current_coordinates | ( | ) |
| void sierra::nalu::MeshDisplacementEquationSystem::compute_div_mesh_velocity | ( | ) |
References divV_, dvdx_, sierra::nalu::Realm::get_buckets(), sierra::nalu::Realm::meta_data(), and sierra::nalu::EquationSystem::realm_.
Referenced by solve_and_update().
|
virtual |
Reimplemented from sierra::nalu::EquationSystem.
References sierra::nalu::EquationSystem::initial_work().
|
virtual |
|
virtual |
|
virtual |
Reimplemented from sierra::nalu::EquationSystem.
|
virtual |
Reimplemented from sierra::nalu::EquationSystem.
References activateMass_, sierra::nalu::AlgorithmDriver::algMap_, assembleNodalGradAlgDriver_, deformWrtModelCoords_, dvdx_, sierra::nalu::EquationSystem::edgeNodalGradient_, sierra::nalu::INTERIOR, sierra::nalu::MASS, meshVelocity_, sierra::nalu::EquationSystem::realm_, sierra::nalu::EquationSystem::solverAlgDriver_, sierra::nalu::SolverAlgorithmDriver::solverAlgMap_, and sierra::nalu::Algorithm::supplementalAlg_.
|
virtual |
Reimplemented from sierra::nalu::EquationSystem.
References activateMass_, sierra::nalu::Realm::augment_property_map(), sierra::nalu::Realm::augment_restart_variable_list(), coordinates_, sierra::nalu::EquationSystem::copyStateAlg_, currentCoordinates_, density_, sierra::nalu::DENSITY_ID, divV_, dualNodalVolume_, dvdx_, dxTmp_, sierra::nalu::LAME_LAMBDA_ID, sierra::nalu::LAME_MU_ID, lameLambda_, lameMu_, meshDisplacement_, meshVelocity_, sierra::nalu::Realm::meta_data(), sierra::nalu::Realm::number_of_states(), sierra::nalu::EquationSystem::realm_, and sierra::nalu::Realm::restarted_simulation().
|
virtual |
Reimplemented from sierra::nalu::EquationSystem.
References sierra::nalu::EquationSystem::create_constraint_algorithm(), sierra::nalu::EquationSystem::equationSystems_, sierra::nalu::UpdateOversetFringeAlgorithmDriver::fields_, meshVelocity_, sierra::nalu::Realm::meta_data(), sierra::nalu::EquationSystems::preIterAlgDriver_, and sierra::nalu::EquationSystem::realm_.
|
virtual |
Reimplemented from sierra::nalu::EquationSystem.
References sierra::nalu::AlgorithmDriver::algMap_, assembleNodalGradAlgDriver_, sierra::nalu::EquationSystem::bc_data_specified(), sierra::nalu::EquationSystem::bcDataAlg_, sierra::nalu::EquationSystem::bcDataMapAlg_, sierra::nalu::CONSTANT_UD, dvdx_, sierra::nalu::WallUserData::dx_, 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_params(), sierra::nalu::Realm::initCondAlg_, sierra::nalu::WallUserData::isFsiInterface_, meshDisplacement_, meshVelocity_, sierra::nalu::Realm::meta_data(), sierra::nalu::NaluEnv::naluOutputP0(), sierra::nalu::Pressure::pressure_, sierra::nalu::WallUserData::pressure_, sierra::nalu::EquationSystem::realm_, sierra::nalu::Realm::realmUsesEdges_, sierra::nalu::NaluEnv::self(), sierra::nalu::EquationSystem::solverAlgDriver_, sierra::nalu::SolverAlgorithmDriver::solverAlgMap_, sierra::nalu::SolverAlgorithmDriver::solverDirichAlgMap_, sierra::nalu::WallBoundaryConditionData::userData_, sierra::nalu::Velocity::ux_, sierra::nalu::Velocity::uy_, sierra::nalu::Velocity::uz_, and sierra::nalu::WALL.
|
virtual |
Reimplemented from sierra::nalu::EquationSystem.
References sierra::nalu::LinearSystem::create(), sierra::nalu::LinearSolvers::create_solver(), sierra::nalu::EQ_MESH_DISPLACEMENT, sierra::nalu::Realm::equationSystems_, sierra::nalu::LinearSystem::finalizeLinearSystem(), sierra::nalu::EquationSystems::get_solver_block_name(), sierra::nalu::SolverAlgorithmDriver::initialize_connectivity(), sierra::nalu::Simulation::linearSolvers_, sierra::nalu::EquationSystem::linsys_, sierra::nalu::EquationSystem::realm_, sierra::nalu::Realm::root(), sierra::nalu::EquationSystem::solverAlgDriver_, sierra::nalu::LinearSolvers::solvers_, and sierra::nalu::Realm::spatialDimension_.
|
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(), assembleNodalGradAlgDriver_, sierra::nalu::Realm::bulk_data(), compute_current_coordinates(), compute_div_mesh_velocity(), dxTmp_, sierra::nalu::AlgorithmDriver::execute(), sierra::nalu::field_axpby(), sierra::nalu::Realm::get_activate_aura(), isInit_, sierra::nalu::EquationSystem::maxIterations_, meshDisplacement_, sierra::nalu::Realm::meta_data(), sierra::nalu::NaluEnv::nalu_time(), sierra::nalu::NaluEnv::naluOutputP0(), sierra::nalu::EquationSystem::realm_, sierra::nalu::NaluEnv::self(), sierra::nalu::EquationSystem::timerAssemble_, and sierra::nalu::EquationSystem::userSuppliedName_.
| const bool sierra::nalu::MeshDisplacementEquationSystem::activateMass_ |
Referenced by register_interior_algorithm(), and register_nodal_fields().
| AssembleNodalGradUAlgorithmDriver* sierra::nalu::MeshDisplacementEquationSystem::assembleNodalGradAlgDriver_ |
Referenced by register_interior_algorithm(), register_wall_bc(), solve_and_update(), and ~MeshDisplacementEquationSystem().
| VectorFieldType* sierra::nalu::MeshDisplacementEquationSystem::coordinates_ |
Referenced by compute_current_coordinates(), and register_nodal_fields().
| VectorFieldType* sierra::nalu::MeshDisplacementEquationSystem::currentCoordinates_ |
Referenced by compute_current_coordinates(), and register_nodal_fields().
| const bool sierra::nalu::MeshDisplacementEquationSystem::deformWrtModelCoords_ |
Referenced by register_interior_algorithm().
| ScalarFieldType* sierra::nalu::MeshDisplacementEquationSystem::density_ |
Referenced by register_nodal_fields().
| ScalarFieldType* sierra::nalu::MeshDisplacementEquationSystem::divV_ |
Referenced by compute_div_mesh_velocity(), and register_nodal_fields().
| ScalarFieldType* sierra::nalu::MeshDisplacementEquationSystem::dualNodalVolume_ |
Referenced by register_nodal_fields().
| GenericFieldType* sierra::nalu::MeshDisplacementEquationSystem::dvdx_ |
Referenced by compute_div_mesh_velocity(), register_interior_algorithm(), register_nodal_fields(), and register_wall_bc().
| VectorFieldType* sierra::nalu::MeshDisplacementEquationSystem::dxTmp_ |
Referenced by register_nodal_fields(), and solve_and_update().
| bool sierra::nalu::MeshDisplacementEquationSystem::isInit_ |
Referenced by solve_and_update().
| ScalarFieldType* sierra::nalu::MeshDisplacementEquationSystem::lameLambda_ |
Referenced by register_nodal_fields().
| ScalarFieldType* sierra::nalu::MeshDisplacementEquationSystem::lameMu_ |
Referenced by register_nodal_fields().
| VectorFieldType* sierra::nalu::MeshDisplacementEquationSystem::meshDisplacement_ |
Referenced by compute_current_coordinates(), predict_state(), register_nodal_fields(), register_wall_bc(), and solve_and_update().
| VectorFieldType* sierra::nalu::MeshDisplacementEquationSystem::meshVelocity_ |
1.8.11