GRINS-0.8.0
|
#include <elastic_membrane.h>
Public Member Functions | |
ElasticMembrane (const GRINS::PhysicsName &physics_name, const GetPot &input, bool is_compressible) | |
virtual | ~ElasticMembrane () |
virtual void | register_postprocessing_vars (const GetPot &input, PostProcessedQuantities< libMesh::Real > &postprocessing) |
Register postprocessing variables for ElasticMembrane. More... | |
virtual void | element_time_derivative (bool compute_jacobian, AssemblyContext &context) |
Time dependent part(s) of physics for element interiors. More... | |
virtual void | element_constraint (bool compute_jacobian, AssemblyContext &context) |
Constraint part(s) of physics for element interiors. More... | |
virtual void | mass_residual (bool compute_jacobian, AssemblyContext &context) |
Mass matrix part(s) for element interiors. All boundary terms lie within the time_derivative part. More... | |
virtual void | compute_postprocessed_quantity (unsigned int quantity_index, const AssemblyContext &context, const libMesh::Point &point, libMesh::Real &value) |
Compute the registered postprocessed quantities. More... | |
Public Member Functions inherited from GRINS::ElasticMembraneBase< StressStrainLaw > | |
ElasticMembraneBase (const GRINS::PhysicsName &physics_name, const GetPot &input, bool is_compressible) | |
virtual | ~ElasticMembraneBase () |
virtual void | init_variables (libMesh::FEMSystem *system) |
Initialize variables for this physics. More... | |
Public Member Functions inherited from GRINS::ElasticMembraneAbstract | |
ElasticMembraneAbstract (const GRINS::PhysicsName &physics_name, const GetPot &input) | |
virtual | ~ElasticMembraneAbstract () |
virtual void | init_context (AssemblyContext &context) |
Initialize context for added physics variables. More... | |
Public Member Functions inherited from GRINS::SolidMechanicsAbstract | |
SolidMechanicsAbstract (const GRINS::PhysicsName &physics_name, const GetPot &input) | |
virtual | ~SolidMechanicsAbstract () |
virtual void | set_time_evolving_vars (libMesh::FEMSystem *system) |
Set which variables are time evolving. More... | |
Public Member Functions inherited from GRINS::Physics | |
Physics (const GRINS::PhysicsName &physics_name, const GetPot &input) | |
virtual | ~Physics () |
virtual bool | enabled_on_elem (const libMesh::Elem *elem) |
Find if current physics is active on supplied element. More... | |
void | set_is_steady (bool is_steady) |
Sets whether this physics is to be solved with a steady solver or not. More... | |
bool | is_steady () const |
Returns whether or not this physics is being solved with a steady solver. More... | |
virtual void | auxiliary_init (MultiphysicsSystem &system) |
Any auxillary initialization a Physics class may need. More... | |
virtual void | preassembly (MultiphysicsSystem &) |
Perform any necessary setup before element assembly begins. More... | |
virtual void | reinit (MultiphysicsSystem &) |
Any reinitialization that needs to be done. More... | |
virtual void | side_time_derivative (bool, AssemblyContext &) |
Time dependent part(s) of physics for boundaries of elements on the domain boundary. More... | |
virtual void | nonlocal_time_derivative (bool, AssemblyContext &) |
Time dependent part(s) of physics for scalar variables. More... | |
virtual void | side_constraint (bool, AssemblyContext &) |
Constraint part(s) of physics for boundaries of elements on the domain boundary. More... | |
virtual void | nonlocal_constraint (bool, AssemblyContext &) |
Constraint part(s) of physics for scalar variables. More... | |
virtual void | damping_residual (bool, AssemblyContext &) |
Damping matrix part(s) for element interiors. All boundary terms lie within the time_derivative part. More... | |
virtual void | nonlocal_mass_residual (bool, AssemblyContext &) |
Mass matrix part(s) for scalar variables. More... | |
void | init_ics (libMesh::FEMSystem *system, libMesh::CompositeFunction< libMesh::Number > &all_ics) |
virtual void | compute_element_time_derivative_cache (AssemblyContext &) |
virtual void | compute_side_time_derivative_cache (AssemblyContext &) |
virtual void | compute_nonlocal_time_derivative_cache (AssemblyContext &) |
virtual void | compute_element_constraint_cache (AssemblyContext &) |
virtual void | compute_side_constraint_cache (AssemblyContext &) |
virtual void | compute_nonlocal_constraint_cache (AssemblyContext &) |
virtual void | compute_damping_residual_cache (AssemblyContext &) |
virtual void | compute_mass_residual_cache (AssemblyContext &) |
virtual void | compute_nonlocal_mass_residual_cache (AssemblyContext &) |
ICHandlingBase * | get_ic_handler () |
Public Member Functions inherited from GRINS::ParameterUser | |
ParameterUser (const std::string &user_name) | |
virtual | ~ParameterUser () |
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. More... | |
virtual void | set_parameter (libMesh::ParsedFunction< libMesh::Number, libMesh::Gradient > &func, const GetPot &input, const std::string &func_param_name, const std::string ¶m_default) |
Each subclass can simultaneously read a parsed function from. More... | |
virtual void | set_parameter (libMesh::ParsedFEMFunction< libMesh::Number > &func, const GetPot &input, const std::string &func_param_name, const std::string ¶m_default) |
Each subclass can simultaneously read a parsed function from. More... | |
virtual void | move_parameter (const libMesh::Number &old_parameter, libMesh::Number &new_parameter) |
When cloning an object, we need to update parameter pointers. More... | |
virtual void | move_parameter (const libMesh::ParsedFunction< libMesh::Number, libMesh::Gradient > &old_func, libMesh::ParsedFunction< libMesh::Number, libMesh::Gradient > &new_func) |
When cloning an object, we need to update parameter pointers. More... | |
virtual void | move_parameter (const libMesh::ParsedFEMFunction< libMesh::Number > &old_func, libMesh::ParsedFEMFunction< libMesh::Number > &new_func) |
When cloning an object, we need to update parameter pointers. More... | |
virtual void | register_parameter (const std::string ¶m_name, libMesh::ParameterMultiAccessor< libMesh::Number > ¶m_pointer) const |
Each subclass will register its copy of an independent. More... | |
Private Member Functions | |
ElasticMembrane () | |
Private Attributes | |
std::vector< unsigned int > | _stress_indices |
Index from registering this quantity for postprocessing. Each component will have it's own index. More... | |
unsigned int | _stress_zz_index |
Index from registering sigma_zz for postprocessing. Mainly for sanity checking. More... | |
std::vector< unsigned int > | _strain_indices |
Index from registering this quantity for postprocessing. Each component will have it's own index. More... | |
Additional Inherited Members | |
Static Public Member Functions inherited from GRINS::Physics | |
static void | set_is_axisymmetric (bool is_axisymmetric) |
Set whether we should treat the problem as axisymmetric. More... | |
static bool | is_axisymmetric () |
Static Public Attributes inherited from GRINS::ParameterUser | |
static std::string | zero_vector_function = std::string("{0}") |
A parseable function string with LIBMESH_DIM components, all 0. More... | |
Protected Types inherited from GRINS::SolidMechanicsAbstract | |
typedef const libMesh::DenseSubVector< libMesh::Number > &(libMesh::DiffContext::* | VarFuncType) (unsigned int) const |
typedef void(libMesh::FEMContext::* | InteriorFuncType) (unsigned int, unsigned int, libMesh::Real &) const |
typedef libMesh::Real(libMesh::DiffContext::* | VarDerivType) () const |
Protected Member Functions inherited from GRINS::ElasticMembraneBase< StressStrainLaw > | |
void | mass_residual_impl (bool compute_jacobian, AssemblyContext &context, InteriorFuncType interior_solution, VarDerivType get_solution_deriv, libMesh::Real mu=1.0) |
Implementation of mass_residual. More... | |
void | compute_metric_tensors (unsigned int qp, const libMesh::FEBase &elem, const AssemblyContext &context, const libMesh::Gradient &grad_u, const libMesh::Gradient &grad_v, const libMesh::Gradient &grad_w, libMesh::TensorValue< libMesh::Real > &a_cov, libMesh::TensorValue< libMesh::Real > &a_contra, libMesh::TensorValue< libMesh::Real > &A_cov, libMesh::TensorValue< libMesh::Real > &A_contra, libMesh::Real &lambda_sq) |
Protected Member Functions inherited from GRINS::ElasticMembraneAbstract | |
const libMesh::FEGenericBase< libMesh::Real > * | get_fe (const AssemblyContext &context) |
Protected Member Functions inherited from GRINS::Physics | |
libMesh::UniquePtr< libMesh::FEGenericBase< libMesh::Real > > | build_new_fe (const libMesh::Elem *elem, const libMesh::FEGenericBase< libMesh::Real > *fe, const libMesh::Point p) |
void | parse_enabled_subdomains (const GetPot &input, const std::string &physics_name) |
void | check_var_subdomain_consistency (const FEVariablesBase &var) const |
Check that var is enabled on at least the subdomains this Physics is. More... | |
Protected Attributes inherited from GRINS::ElasticMembraneBase< StressStrainLaw > | |
StressStrainLaw | _stress_strain_law |
bool | _is_compressible |
libMesh::Real | _h0 |
Membrane thickness. More... | |
libMesh::Real | _rho |
Membrane density. More... | |
VariableIndex | _lambda_sq_var |
Variable index for lambda_sq variable. More... | |
Protected Attributes inherited from GRINS::SolidMechanicsAbstract | |
DisplacementVariable & | _disp_vars |
Protected Attributes inherited from GRINS::Physics | |
const PhysicsName | _physics_name |
Name of the physics object. Used for reading physics specific inputs. More... | |
GRINS::ICHandlingBase * | _ic_handler |
std::set< libMesh::subdomain_id_type > | _enabled_subdomains |
Subdomains on which the current Physics class is enabled. More... | |
Static Protected Attributes inherited from GRINS::Physics | |
static bool | _is_steady = false |
Caches whether or not the solver that's being used is steady or not. More... | |
static bool | _is_axisymmetric = false |
Caches whether we are solving an axisymmetric problem or not. More... | |
Definition at line 34 of file elastic_membrane.h.
GRINS::ElasticMembrane< StressStrainLaw >::ElasticMembrane | ( | const GRINS::PhysicsName & | physics_name, |
const GetPot & | input, | ||
bool | is_compressible | ||
) |
|
inlinevirtual |
Definition at line 41 of file elastic_membrane.h.
|
private |
|
virtual |
Compute the registered postprocessed quantities.
Reimplemented from GRINS::Physics.
Definition at line 380 of file elastic_membrane.C.
References GRINS::Constants::two_pi.
|
virtual |
Constraint part(s) of physics for element interiors.
Reimplemented from GRINS::Physics.
Definition at line 313 of file elastic_membrane.C.
|
virtual |
Time dependent part(s) of physics for element interiors.
Reimplemented from GRINS::Physics.
Definition at line 117 of file elastic_membrane.C.
|
inlinevirtual |
Mass matrix part(s) for element interiors. All boundary terms lie within the time_derivative part.
Reimplemented from GRINS::Physics.
Definition at line 54 of file elastic_membrane.h.
References GRINS::ElasticMembraneBase< StressStrainLaw >::mass_residual_impl().
|
virtual |
Register postprocessing variables for ElasticMembrane.
Reimplemented from GRINS::Physics.
Definition at line 54 of file elastic_membrane.C.
References GRINS::PhysicsNaming::elastic_membrane(), and GRINS::PostProcessedQuantities< NumericType >::register_quantity().
|
private |
Index from registering this quantity for postprocessing. Each component will have it's own index.
Definition at line 78 of file elastic_membrane.h.
|
private |
Index from registering this quantity for postprocessing. Each component will have it's own index.
Definition at line 72 of file elastic_membrane.h.
|
private |
Index from registering sigma_zz for postprocessing. Mainly for sanity checking.
Definition at line 75 of file elastic_membrane.h.