www.mooseframework.org
Public Member Functions | Protected Member Functions | Protected Attributes | Private Attributes | List of all members
LinearElasticTruss Class Reference

#include <LinearElasticTruss.h>

Inheritance diagram for LinearElasticTruss:
[legend]

Public Member Functions

 LinearElasticTruss (const InputParameters &parameters)
 

Protected Member Functions

virtual void computeQpStrain ()
 
virtual void computeQpStress ()
 
virtual void initQpStatefulProperties ()
 
virtual void computeProperties ()
 

Protected Attributes

std::vector< MooseVariable * > _disp_var
 
const std::string _base_name
 
unsigned int _ndisp
 
const VariableValue & _youngs_modulus
 
MaterialProperty< Real > & _total_stretch
 
MaterialProperty< Real > & _elastic_stretch
 
MaterialProperty< Real > & _axial_stress
 
MaterialProperty< Real > & _e_over_l
 
Real _origin_length
 
Real _current_length
 

Private Attributes

const VariableValue & _T
 
Real _T0
 
Real _thermal_expansion_coeff
 

Detailed Description

Definition at line 13 of file LinearElasticTruss.h.

Constructor & Destructor Documentation

LinearElasticTruss::LinearElasticTruss ( const InputParameters &  parameters)

Definition at line 21 of file LinearElasticTruss.C.

22  : TrussMaterial(parameters),
23  _T(coupledValue("temperature")),
24  _T0(getParam<Real>("temperature_ref")),
25  _thermal_expansion_coeff(getParam<Real>("thermal_expansion_coeff"))
26 {
27 }
TrussMaterial(const InputParameters &parameters)
Definition: TrussMaterial.C:34
const VariableValue & _T

Member Function Documentation

void TrussMaterial::computeProperties ( )
protectedvirtualinherited

Definition at line 61 of file TrussMaterial.C.

62 {
63  // check for consistency of the number of element nodes
64  mooseAssert(_current_elem->n_nodes() == 2, "Truss element needs to have exactly two nodes.");
65 
66  // fetch the two end nodes for _current_elem
67  std::vector<Node *> node;
68  for (unsigned int i = 0; i < 2; ++i)
69  node.push_back(_current_elem->get_node(i));
70 
71  // calculate original length of a truss element
72  RealGradient dxyz;
73  for (unsigned int i = 0; i < _ndisp; ++i)
74  dxyz(i) = (*node[1])(i) - (*node[0])(i);
75  _origin_length = dxyz.norm();
76 
77  // fetch the solution for the two end nodes
78  NonlinearSystemBase & nonlinear_sys = _fe_problem.getNonlinearSystemBase();
79  const NumericVector<Number> & sol = *nonlinear_sys.currentSolution();
80 
81  std::vector<Real> disp0, disp1;
82  for (unsigned int i = 0; i < _ndisp; ++i)
83  {
84  disp0.push_back(sol(node[0]->dof_number(nonlinear_sys.number(), _disp_var[i]->number(), 0)));
85  disp1.push_back(sol(node[1]->dof_number(nonlinear_sys.number(), _disp_var[i]->number(), 0)));
86  }
87 
88  // calculate current length of a truss element
89  for (unsigned int i = 0; i < _ndisp; ++i)
90  dxyz(i) += disp1[i] - disp0[i];
91  _current_length = dxyz.norm();
92 
93  for (_qp = 0; _qp < _qrule->n_points(); ++_qp)
94  {
96 
99  }
100 }
Real _current_length
Definition: TrussMaterial.h:43
std::vector< MooseVariable * > _disp_var
Definition: TrussMaterial.h:30
const VariableValue & _youngs_modulus
Definition: TrussMaterial.h:35
unsigned int _ndisp
Definition: TrussMaterial.h:34
virtual void computeQpStrain()=0
MaterialProperty< Real > & _e_over_l
Definition: TrussMaterial.h:40
virtual void computeQpStress()=0
void LinearElasticTruss::computeQpStrain ( )
protectedvirtual

Implements TrussMaterial.

Definition at line 30 of file LinearElasticTruss.C.

31 {
34 }
Real _current_length
Definition: TrussMaterial.h:43
MaterialProperty< Real > & _total_stretch
Definition: TrussMaterial.h:37
MaterialProperty< Real > & _elastic_stretch
Definition: TrussMaterial.h:38
const VariableValue & _T
void LinearElasticTruss::computeQpStress ( )
protectedvirtual

Implements TrussMaterial.

Definition at line 37 of file LinearElasticTruss.C.

38 {
40 }
const VariableValue & _youngs_modulus
Definition: TrussMaterial.h:35
MaterialProperty< Real > & _elastic_stretch
Definition: TrussMaterial.h:38
MaterialProperty< Real > & _axial_stress
Definition: TrussMaterial.h:39
void TrussMaterial::initQpStatefulProperties ( )
protectedvirtualinherited

Definition at line 53 of file TrussMaterial.C.

54 {
55  _axial_stress[_qp] = 0.0;
56  _total_stretch[_qp] = 0.0;
57  _elastic_stretch[_qp] = 0.0;
58 }
MaterialProperty< Real > & _total_stretch
Definition: TrussMaterial.h:37
MaterialProperty< Real > & _elastic_stretch
Definition: TrussMaterial.h:38
MaterialProperty< Real > & _axial_stress
Definition: TrussMaterial.h:39

Member Data Documentation

MaterialProperty<Real>& TrussMaterial::_axial_stress
protectedinherited

Definition at line 39 of file TrussMaterial.h.

Referenced by computeQpStress(), and TrussMaterial::initQpStatefulProperties().

const std::string TrussMaterial::_base_name
protectedinherited

Definition at line 32 of file TrussMaterial.h.

Real TrussMaterial::_current_length
protectedinherited

Definition at line 43 of file TrussMaterial.h.

Referenced by TrussMaterial::computeProperties(), and computeQpStrain().

std::vector<MooseVariable *> TrussMaterial::_disp_var
protectedinherited
MaterialProperty<Real>& TrussMaterial::_e_over_l
protectedinherited

Definition at line 40 of file TrussMaterial.h.

Referenced by TrussMaterial::computeProperties().

MaterialProperty<Real>& TrussMaterial::_elastic_stretch
protectedinherited
unsigned int TrussMaterial::_ndisp
protectedinherited
Real TrussMaterial::_origin_length
protectedinherited

Definition at line 42 of file TrussMaterial.h.

Referenced by TrussMaterial::computeProperties(), and computeQpStrain().

const VariableValue& LinearElasticTruss::_T
private

Definition at line 23 of file LinearElasticTruss.h.

Referenced by computeQpStrain().

Real LinearElasticTruss::_T0
private

Definition at line 25 of file LinearElasticTruss.h.

Referenced by computeQpStrain().

Real LinearElasticTruss::_thermal_expansion_coeff
private

Definition at line 26 of file LinearElasticTruss.h.

Referenced by computeQpStrain().

MaterialProperty<Real>& TrussMaterial::_total_stretch
protectedinherited

Definition at line 37 of file TrussMaterial.h.

Referenced by computeQpStrain(), and TrussMaterial::initQpStatefulProperties().

const VariableValue& TrussMaterial::_youngs_modulus
protectedinherited

Definition at line 35 of file TrussMaterial.h.

Referenced by TrussMaterial::computeProperties(), and computeQpStress().


The documentation for this class was generated from the following files: