34 #include "libmesh/getpot.h"
35 #include "libmesh/elem.h"
45 _physics_name( physics_name ),
48 _is_axisymmetric(false)
52 if( input(
"Physics/is_axisymmetric",
false ) )
72 int num_ids = input.vector_variable_size(
"Physics/"+this->
_physics_name+
"/enabled_subdomains" );
74 for(
int i = 0; i < num_ids; i++ )
76 libMesh::subdomain_id_type dumvar = input(
"Physics/"+this->
_physics_name+
"/enabled_subdomains", -1, i );
273 const libMesh::Point& ,
279 #ifdef GRINS_USE_GRVY_TIMERS
280 void Physics::attach_grvy_timer( GRVY::GRVY_Timer_Class* grvy_timer )
virtual void compute_postprocessed_quantity(unsigned int quantity_index, const AssemblyContext &context, const libMesh::Point &point, libMesh::Real &value)
GRINS::ICHandlingBase * _ic_handler
bool is_steady() const
Returns whether or not this physics is being solved with a steady solver.
GRINS::BCHandlingBase * _bc_handler
Simple helper class to setup general Dirichlet boundary conditions.
virtual void register_postprocessing_vars(const GetPot &input, PostProcessedQuantities< libMesh::Real > &postprocessing)
Register name of postprocessed quantity with PostProcessedQuantities.
void attach_dirichlet_bound_func(const GRINS::DBCContainer &dirichlet_bc)
virtual void nonlocal_time_derivative(bool compute_jacobian, AssemblyContext &context, CachedValues &cache)
Time dependent part(s) of physics for scalar variables.
virtual void compute_mass_residual_cache(const AssemblyContext &context, CachedValues &cache)
void attach_neumann_bound_func(GRINS::NBCContainer &neumann_bcs)
void attach_dirichlet_bound_func(const GRINS::DBCContainer &dirichlet_bc)
virtual void compute_element_time_derivative_cache(const AssemblyContext &context, CachedValues &cache)
virtual void element_constraint(bool compute_jacobian, AssemblyContext &context, CachedValues &cache)
Constraint part(s) of physics for element interiors.
virtual void compute_side_constraint_cache(const AssemblyContext &context, CachedValues &cache)
void init_bcs(libMesh::FEMSystem *system)
Simple helper class to setup general Neumann boundary conditions.
virtual void read_input_options(const GetPot &input)
Read options from GetPot input file. By default, nothing is read.
virtual void compute_element_constraint_cache(const AssemblyContext &context, CachedValues &cache)
virtual void compute_side_time_derivative_cache(const AssemblyContext &context, CachedValues &cache)
const PhysicsName _physics_name
Name of the physics object. Used for reading physics specific inputs.
ParameterUser base class. Utility methods for subclasses.
virtual bool enabled_on_elem(const libMesh::Elem *elem)
Find if current physics is active on supplied element.
virtual void side_constraint(bool compute_jacobian, AssemblyContext &context, CachedValues &cache)
Constraint part(s) of physics for boundaries of elements on the domain boundary.
virtual void auxiliary_init(MultiphysicsSystem &system)
Any auxillary initialization a Physics class may need.
Base class for reading and handling initial conditions for physics classes.
virtual void init_dirichlet_bcs(libMesh::FEMSystem *system) const
virtual void nonlocal_mass_residual(bool compute_jacobian, AssemblyContext &context, CachedValues &cache)
Mass matrix part(s) for scalar variables.
static bool _is_steady
Caches whether or not the solver that's being used is steady or not.
virtual void set_time_evolving_vars(libMesh::FEMSystem *system)
Set which variables are time evolving.
Interface with libMesh for solving Multiphysics problems.
virtual void init_context(AssemblyContext &context)
Initialize context for added physics variables.
virtual void element_time_derivative(bool compute_jacobian, AssemblyContext &context, CachedValues &cache)
Time dependent part(s) of physics for element interiors.
virtual void init_periodic_bcs(libMesh::FEMSystem *system) const
virtual void init_dirichlet_bc_func_objs(libMesh::FEMSystem *system) const
virtual void side_time_derivative(bool compute_jacobian, AssemblyContext &context, CachedValues &cache)
Time dependent part(s) of physics for boundaries of elements on the domain boundary.
virtual void init_ic_data(const libMesh::FEMSystem &system, libMesh::CompositeFunction< libMesh::Number > &all_ics)
Override this method to initialize any system-dependent data.
virtual void compute_nonlocal_mass_residual_cache(const AssemblyContext &context, CachedValues &cache)
void attach_neumann_bound_func(GRINS::NBCContainer &neumann_bcs)
virtual void compute_nonlocal_time_derivative_cache(const AssemblyContext &context, CachedValues &cache)
virtual void init_bc_data(const libMesh::FEMSystem &system)
Override this method to initialize any system-dependent data.
virtual void compute_nonlocal_constraint_cache(const AssemblyContext &context, CachedValues &cache)
virtual void nonlocal_constraint(bool compute_jacobian, AssemblyContext &context, CachedValues &cache)
Constraint part(s) of physics for scalar variables.
void init_ics(libMesh::FEMSystem *system, libMesh::CompositeFunction< libMesh::Number > &all_ics)
std::set< libMesh::subdomain_id_type > _enabled_subdomains
Subdomains on which the current Physics class is enabled.
void set_is_steady(bool is_steady)
Sets whether this physics is to be solved with a steady solver or not.
virtual void mass_residual(bool compute_jacobian, AssemblyContext &context, CachedValues &cache)
Mass matrix part(s) for element interiors. All boundary terms lie within the time_derivative part...