GRINS-0.8.0
elastic_cable.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_CABLE_H
26 #define GRINS_ELASTIC_CABLE_H
27 
28 
29 //GRINS
31 
32 namespace GRINS
33 {
34  template<typename StressStrainLaw>
35  class ElasticCable : public ElasticCableBase<StressStrainLaw>
36  {
37  public:
38 
39  ElasticCable( const PhysicsName& physics_name, const GetPot& input,
40  bool is_compressible );
41 
42  virtual ~ElasticCable(){};
43 
45  virtual void register_postprocessing_vars( const GetPot& input,
46  PostProcessedQuantities<libMesh::Real> & postprocessing );
47 
49  virtual void element_time_derivative( bool compute_jacobian,
50  AssemblyContext & context );
51 
52  virtual void mass_residual( bool compute_jacobian,
53  AssemblyContext & context )
54  { this->mass_residual_impl(compute_jacobian,
55  context,
56  &libMesh::FEMContext::interior_accel,
57  &libMesh::DiffContext::get_elem_solution_accel_derivative); }
58 
60  virtual void compute_postprocessed_quantity( unsigned int quantity_index,
61  const AssemblyContext& context,
62  const libMesh::Point& point,
63  libMesh::Real& value );
64 
65  private:
66 
67  ElasticCable();
68 
70  std::vector<unsigned int> _stress_indices;
71 
73  std::vector<unsigned int> _strain_indices;
74 
76  std::vector<unsigned int> _force_indices;
77 
78  };
79 
80 } // end namespace GRINS
81 
82 
83 #endif /* GRINS_ELASTIC_CABLE_H */
std::vector< unsigned int > _force_indices
Index from registering this quantity. Each component will have it's own index.
Definition: elastic_cable.h:76
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 mass_residual(bool compute_jacobian, AssemblyContext &context)
Mass matrix part(s) for element interiors. All boundary terms lie within the time_derivative part...
Definition: elastic_cable.h:52
GRINS namespace.
virtual void register_postprocessing_vars(const GetPot &input, PostProcessedQuantities< libMesh::Real > &postprocessing)
Register postprocessing variables for ElasticCable.
Definition: elastic_cable.C:52
virtual void element_time_derivative(bool compute_jacobian, AssemblyContext &context)
Time dependent part(s) of physics for element interiors.
std::vector< unsigned int > _stress_indices
Index from registering this quantity. Each component will have it's own index.
Definition: elastic_cable.h:70
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.
std::string PhysicsName
std::vector< unsigned int > _strain_indices
Index from registering this quantity. Each component will have it's own index.
Definition: elastic_cable.h:73
virtual ~ElasticCable()
Definition: elastic_cable.h:42

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