25 #ifndef GRINS_ELASTIC_MEMBRANE_H
26 #define GRINS_ELASTIC_MEMBRANE_H
30 #include "libmesh/fe_base.h"
34 template<
typename StressStrainLaw>
40 bool is_compressible );
70 const libMesh::Point& point,
71 libMesh::Real& value );
78 libMesh::AutoPtr<libMesh::FEGenericBase<libMesh::Real> >
build_new_fe(
const libMesh::Elem& elem,
79 const libMesh::FEGenericBase<libMesh::Real>* fe,
80 const libMesh::Point p );
83 const libMesh::FEBase& elem,
85 const libMesh::Gradient& grad_u,
86 const libMesh::Gradient& grad_v,
87 const libMesh::Gradient& grad_w,
92 libMesh::Real& lambda_sq);
116 #endif // GRINS_ELASTIC_MEMBRANE_H
unsigned int VariableIndex
More descriptive name of the type used for variable indices.
unsigned int _stress_zz_index
Index from registering sigma_zz for postprocessing. Mainly for sanity checking.
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...
std::vector< unsigned int > _stress_indices
Index from registering this quantity for postprocessing. Each component will have it's own index...
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)
virtual void element_constraint(bool compute_jacobian, AssemblyContext &context, CachedValues &cache)
Constraint part(s) of physics for element interiors.
std::vector< unsigned int > _strain_indices
Index from registering this quantity for postprocessing. Each component will have it's own index...
virtual void element_time_derivative(bool compute_jacobian, AssemblyContext &context, CachedValues &cache)
Time dependent part(s) of physics for element interiors.
virtual void register_postprocessing_vars(const GetPot &input, PostProcessedQuantities< libMesh::Real > &postprocessing)
Register postprocessing variables for ElasticMembrane.
virtual void compute_postprocessed_quantity(unsigned int quantity_index, const AssemblyContext &context, const libMesh::Point &point, libMesh::Real &value)
Compute the registered postprocessed quantities.
virtual void init_variables(libMesh::FEMSystem *system)
Initialize variables for this physics.
virtual ~ElasticMembrane()
libMesh::AutoPtr< libMesh::FEGenericBase< libMesh::Real > > build_new_fe(const libMesh::Elem &elem, const libMesh::FEGenericBase< libMesh::Real > *fe, const libMesh::Point p)
StressStrainLaw _stress_strain_law
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.
VariableIndex _lambda_sq_var
Variable index for lambda_sq variable.