GRINS-0.7.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-2016 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,
47 
49  virtual void element_time_derivative( bool compute_jacobian,
50  AssemblyContext& context,
51  CachedValues& cache );
52 
53  virtual void mass_residual( bool compute_jacobian,
54  AssemblyContext& context,
55  CachedValues& /*cache*/ )
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 
69  ElasticCable();
70 
72  std::vector<unsigned int> _stress_indices;
73 
75  std::vector<unsigned int> _strain_indices;
76 
78  std::vector<unsigned int> _force_indices;
79 
80  };
81 
82 } // end namespace GRINS
83 
84 
85 #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:78
virtual void compute_postprocessed_quantity(unsigned int quantity_index, const AssemblyContext &context, const libMesh::Point &point, libMesh::Real &value)
Compute the registered postprocessed quantities.
GRINS namespace.
virtual void register_postprocessing_vars(const GetPot &input, PostProcessedQuantities< libMesh::Real > &postprocessing)
Register postprocessing variables for ElasticCable.
Definition: elastic_cable.C:52
std::vector< unsigned int > _stress_indices
Index from registering this quantity. Each component will have it's own index.
Definition: elastic_cable.h:72
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:75
virtual ~ElasticCable()
Definition: elastic_cable.h:42
virtual void mass_residual(bool compute_jacobian, AssemblyContext &context, CachedValues &)
Mass matrix part(s) for element interiors. All boundary terms lie within the time_derivative part...
Definition: elastic_cable.h:53
virtual void element_time_derivative(bool compute_jacobian, AssemblyContext &context, CachedValues &cache)
Time dependent part(s) of physics for element interiors.

Generated on Thu Jun 2 2016 21:52:27 for GRINS-0.7.0 by  doxygen 1.8.10