29 #include "grins_config.h"
33 #include "libmesh/getpot.h"
34 #include "libmesh/quadrature.h"
35 #include "libmesh/boundary_info.h"
36 #include "libmesh/fem_system.h"
43 int num_gravity = input.vector_variable_size(
"Physics/"+physics_name+
"/gravity");
46 std::cerr <<
"Error: Must input three values for "+physics_name+
" gravity." << std::endl
47 <<
" Please set Physics/"+physics_name+
"/gravity." << std::endl;
50 for(
int i = 0; i < num_gravity; i++ )
52 _gravity(i)=( input(
"Physics/"+physics_name+
"/gravity", 0.0 , i ) );
68 const unsigned int n_u_dofs = context.get_dof_indices(
_disp_vars.
u()).size();
70 const std::vector<libMesh::Real> &JxW = this->
get_fe(context)->get_JxW();
72 const std::vector<std::vector<libMesh::Real> >& u_phi = this->
get_fe(context)->get_phi();
74 libMesh::DenseSubVector<libMesh::Number> &Fu = context.get_elem_residual(
_disp_vars.
u());
75 libMesh::DenseSubVector<libMesh::Number> &Fv = context.get_elem_residual(
_disp_vars.
v());
76 libMesh::DenseSubVector<libMesh::Number> &Fw = context.get_elem_residual(
_disp_vars.
w());
78 unsigned int n_qpoints = context.get_element_qrule().n_points();
80 for (
unsigned int qp=0; qp != n_qpoints; qp++)
82 libMesh::Real jac = JxW[qp];
84 for (
unsigned int i=0; i != n_u_dofs; i++)
virtual ~ElasticCableConstantGravity()
libMesh::Real _rho
Cable density.
virtual void element_time_derivative(bool compute_jacobian, AssemblyContext &context, CachedValues &cache)
Time dependent part(s) of physics for element interiors.
DisplacementFEVariables _disp_vars
ElasticCableConstantGravity()
libMesh::Real _A
Cross-sectional area of the cable.
const libMesh::FEGenericBase< libMesh::Real > * get_fe(const AssemblyContext &context)