GRINS-0.8.0
elastic_membrane.h
Go to the documentation of this file.
1 //-----------------------------------------------------------------------bl-
2 //--------------------------------------------------------------------------
3 //
4 // GRINS - General Reacting Incompressible Navier-Stokes
5 //
6 // Copyright (C) 2014-2017 Paul T. Bauman, Roy H. Stogner
7 // Copyright (C) 2010-2013 The PECOS Development Team
8 //
9 // This library is free software; you can redistribute it and/or
10 // modify it under the terms of the Version 2.1 GNU Lesser General
11 // Public License as published by the Free Software Foundation.
12 //
13 // This library is distributed in the hope that it will be useful,
14 // but WITHOUT ANY WARRANTY; without even the implied warranty of
15 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 // Lesser General Public License for more details.
17 //
18 // You should have received a copy of the GNU Lesser General Public
19 // License along with this library; if not, write to the Free Software
20 // Foundation, Inc. 51 Franklin Street, Fifth Floor,
21 // Boston, MA 02110-1301 USA
22 //
23 //-----------------------------------------------------------------------el-
24 
25 #ifndef GRINS_ELASTIC_MEMBRANE_H
26 #define GRINS_ELASTIC_MEMBRANE_H
27 
28 //GRINS
30 
31 namespace GRINS
32 {
33  template<typename StressStrainLaw>
34  class ElasticMembrane : public ElasticMembraneBase<StressStrainLaw>
35  {
36  public:
37 
38  ElasticMembrane( const GRINS::PhysicsName& physics_name, const GetPot& input,
39  bool is_compressible );
40 
41  virtual ~ElasticMembrane(){};
42 
44  virtual void register_postprocessing_vars( const GetPot& input,
45  PostProcessedQuantities<libMesh::Real> & postprocessing );
46 
48  virtual void element_time_derivative( bool compute_jacobian,
49  AssemblyContext & context );
50 
51  virtual void element_constraint( bool compute_jacobian,
52  AssemblyContext & context );
53 
54  virtual void mass_residual( bool compute_jacobian,
55  AssemblyContext & context )
56  { this->mass_residual_impl(compute_jacobian,
57  context,
58  &libMesh::FEMContext::interior_accel,
59  &libMesh::DiffContext::get_elem_solution_accel_derivative); }
60 
62  virtual void compute_postprocessed_quantity( unsigned int quantity_index,
63  const AssemblyContext& context,
64  const libMesh::Point& point,
65  libMesh::Real& value );
66 
67  private:
68 
70 
72  std::vector<unsigned int> _stress_indices;
73 
75  unsigned int _stress_zz_index;
76 
78  std::vector<unsigned int> _strain_indices;
79 
80  };
81 
82 } // end namespace GRINS
83 
84 #endif // GRINS_ELASTIC_MEMBRANE_H
unsigned int _stress_zz_index
Index from registering sigma_zz for postprocessing. Mainly for sanity checking.
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.
virtual void element_time_derivative(bool compute_jacobian, AssemblyContext &context)
Time dependent part(s) of physics for element interiors.
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...
std::vector< unsigned int > _stress_indices
Index from registering this quantity for postprocessing. Each component will have it's own index...
GRINS namespace.
std::vector< unsigned int > _strain_indices
Index from registering this quantity for postprocessing. Each component will have it's own index...
virtual void register_postprocessing_vars(const GetPot &input, PostProcessedQuantities< libMesh::Real > &postprocessing)
Register postprocessing variables for ElasticMembrane.
std::string PhysicsName
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 element_constraint(bool compute_jacobian, AssemblyContext &context)
Constraint part(s) of physics for element interiors.

Generated on Tue Dec 19 2017 12:47:27 for GRINS-0.8.0 by  doxygen 1.8.9.1