35 #include "libmesh/utility.h"
36 #include "libmesh/string_to_enum.h"
37 #include "libmesh/getpot.h"
38 #include "libmesh/fem_system.h"
44 const std::string& core_physics_name,
46 :
Physics(my_physics_name, input),
47 _flow_vars(input, core_physics_name),
53 "Physics/"+core_physics_name+
"/rho", this->
_rho);
65 this->_dim = system->get_mesh().mesh_dimension();
67 this->_flow_vars.init(system);
69 this->_mu.init(system);
77 const unsigned int dim = system->get_mesh().mesh_dimension();
81 system->time_evolving(_flow_vars.u_var());
82 system->time_evolving(_flow_vars.v_var());
85 system->time_evolving(_flow_vars.w_var());
96 context.get_element_fe(_flow_vars.u_var())->get_JxW();
97 context.get_element_fe(_flow_vars.u_var())->get_phi();
98 context.get_element_fe(_flow_vars.u_var())->get_dphi();
99 context.get_element_fe(_flow_vars.u_var())->get_xyz();
101 context.get_element_fe(_flow_vars.p_var())->get_phi();
102 context.get_element_fe(_flow_vars.p_var())->get_xyz();
104 context.get_side_fe(_flow_vars.u_var())->get_JxW();
105 context.get_side_fe(_flow_vars.u_var())->get_phi();
106 context.get_side_fe(_flow_vars.u_var())->get_dphi();
107 context.get_side_fe(_flow_vars.u_var())->get_xyz();
114 (
const std::string & param_name,
119 _mu.register_parameter(param_name, param_pointer);
virtual void set_parameter(libMesh::Number ¶m_variable, const GetPot &input, const std::string ¶m_name, libMesh::Number param_default)
Each subclass can simultaneously read a parameter value from.
virtual void register_parameter(const std::string ¶m_name, libMesh::ParameterMultiPointer< libMesh::Number > ¶m_pointer) const
Each subclass will register its copy of an independent.
Physics abstract base class. Defines API for physics to be added to MultiphysicsSystem.
libMesh::Number _rho
Material parameters, read from input.
IncompressibleNavierStokesBase()
virtual void register_parameter(const std::string ¶m_name, libMesh::ParameterMultiPointer< libMesh::Number > ¶m_pointer) const
Each subclass will register its copy of an independent.
virtual void init_variables(libMesh::FEMSystem *system)
Initialization of Navier-Stokes variables.
virtual void init_context(AssemblyContext &context)
Initialize context for added physics variables.
~IncompressibleNavierStokesBase()
virtual void set_time_evolving_vars(libMesh::FEMSystem *system)
Sets velocity variables to be time-evolving.
INSTANTIATE_INC_NS_SUBCLASS(IncompressibleNavierStokesBase)