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

This class samples SymmTensor material properties for the integration points in all elements that are intersected by a user-defined line. More...

#include <LineMaterialSymmTensorSampler.h>

Inheritance diagram for LineMaterialSymmTensorSampler:
[legend]

Public Types

enum  QUANTITY_ENUM {
  COMPONENT, VONMISES, EFFECTIVESTRAIN, HYDROSTATIC,
  DIRECTION, HOOP, RADIAL, AXIAL,
  MAXPRINCIPAL, MEDPRINCIPAL, MINPRINCIPAL, FIRSTINVARIANT,
  SECONDINVARIANT, THIRDINVARIANT, TRIAXIALITY, VOLUMETRICSTRAIN
}
 

Public Member Functions

 LineMaterialSymmTensorSampler (const InputParameters &parameters)
 Class constructor Sets up variables for output based on the properties to be output. More...
 
virtual ~LineMaterialSymmTensorSampler ()
 
virtual Real getScalarFromProperty (const SymmTensor &property, const Point &curr_point)
 Reduce the material property to a scalar for output Call through to getTensorQuantity to access the full set of options for reducing the SymmTensor to a scalar quantity. More...
 
Real getTensorQuantity (const SymmTensor &tensor, const Point &curr_point, RealVectorValue &direction)
 

Protected Attributes

const int _index
 
MooseEnum _quantity_moose_enum
 
QUANTITY_ENUM _quantity
 
const Point _p1
 
const Point _p2
 
const Point _direction
 

Detailed Description

This class samples SymmTensor material properties for the integration points in all elements that are intersected by a user-defined line.

It provides access to the full set of options for reducing the SymmTensor to a scalar.

Definition at line 25 of file LineMaterialSymmTensorSampler.h.

Member Enumeration Documentation

Enumerator
COMPONENT 
VONMISES 
EFFECTIVESTRAIN 
HYDROSTATIC 
DIRECTION 
HOOP 
RADIAL 
AXIAL 
MAXPRINCIPAL 
MEDPRINCIPAL 
MINPRINCIPAL 
FIRSTINVARIANT 
SECONDINVARIANT 
THIRDINVARIANT 
TRIAXIALITY 
VOLUMETRICSTRAIN 

Definition at line 26 of file MaterialTensorCalculator.h.

27  {
28  COMPONENT,
29  VONMISES,
32  DIRECTION,
33  HOOP,
34  RADIAL,
35  AXIAL,
44  };

Constructor & Destructor Documentation

LineMaterialSymmTensorSampler::LineMaterialSymmTensorSampler ( const InputParameters &  parameters)

Class constructor Sets up variables for output based on the properties to be output.

Parameters
parametersThe input parameters

Definition at line 19 of file LineMaterialSymmTensorSampler.C.

20  : LineMaterialSamplerBase<SymmTensor>(parameters), MaterialTensorCalculator(parameters)
21 {
22 }
MaterialTensorCalculator(const InputParameters &parameters)
virtual LineMaterialSymmTensorSampler::~LineMaterialSymmTensorSampler ( )
inlinevirtual

Definition at line 36 of file LineMaterialSymmTensorSampler.h.

36 {}

Member Function Documentation

Real LineMaterialSymmTensorSampler::getScalarFromProperty ( const SymmTensor property,
const Point &  curr_point 
)
virtual

Reduce the material property to a scalar for output Call through to getTensorQuantity to access the full set of options for reducing the SymmTensor to a scalar quantity.

Parameters
propertyThe material property
curr_pointThe point corresponding to this material property
Returns
A scalar value from this material property to be output

Definition at line 25 of file LineMaterialSymmTensorSampler.C.

Referenced by ~LineMaterialSymmTensorSampler().

27 {
28  RealVectorValue direction;
29  return getTensorQuantity(property, curr_point, direction);
30 }
Real getTensorQuantity(const SymmTensor &tensor, const Point &curr_point, RealVectorValue &direction)
Real MaterialTensorCalculator::getTensorQuantity ( const SymmTensor tensor,
const Point &  curr_point,
RealVectorValue &  direction 
)
inherited

Definition at line 69 of file MaterialTensorCalculator.C.

Referenced by MaterialTensorIntegralSM::computeQpIntegral(), MaterialTensorAux::computeValue(), XFEMMaterialTensorMarkerUserObject::doesElementCrack(), and getScalarFromProperty().

72 {
73  direction.zero();
74  Real value = 0.0;
75 
76  switch (_quantity)
77  {
78  case 0:
79  value = MaterialTensorCalculatorTools::component(tensor, _index, direction);
80  break;
81 
82  case 1:
84  break;
85 
86  case 2:
88  break;
89 
90  case 3:
92  break;
93 
94  case 4:
96  break;
97 
98  case 5:
99  value = MaterialTensorCalculatorTools::hoopStress(tensor, _p1, _p2, curr_point, direction);
100  break;
101 
102  case 6:
103  value = MaterialTensorCalculatorTools::radialStress(tensor, _p1, _p2, curr_point, direction);
104  break;
105 
106  case 7:
107  value = MaterialTensorCalculatorTools::axialStress(tensor, _p1, _p2, direction);
108  break;
109 
110  case 8:
111  value = MaterialTensorCalculatorTools::maxPrincipal(tensor, direction);
112  break;
113 
114  case 9:
115  value = MaterialTensorCalculatorTools::midPrincipal(tensor, direction);
116  break;
117 
118  case 10:
119  value = MaterialTensorCalculatorTools::minPrincipal(tensor, direction);
120  break;
121 
122  case 11:
124  break;
125 
126  case 12:
128  break;
129 
130  case 13:
132  break;
133 
134  case 14:
136  break;
137 
138  case 15:
140  break;
141 
142  default:
143  mooseError("Unknown quantity in MaterialTensorAux: " +
144  _quantity_moose_enum.operator std::string());
145  }
146  return value;
147 }
Real minPrincipal(const SymmTensor &symm_tensor, RealVectorValue &direction)
Real midPrincipal(const SymmTensor &symm_tensor, RealVectorValue &direction)
Real volumetricStrain(const SymmTensor &symm_strain)
Real hydrostatic(const SymmTensor &symm_tensor)
Real hoopStress(const SymmTensor &symm_stress, const Point &point1, const Point &point2, const Point &curr_point, RealVectorValue &direction)
Real maxPrincipal(const SymmTensor &symm_tensor, RealVectorValue &direction)
Real component(const SymmTensor &symm_tensor, unsigned int index)
Real effectiveStrain(const SymmTensor &symm_strain)
Real radialStress(const SymmTensor &symm_stress, const Point &point1, const Point &point2, const Point &curr_point, RealVectorValue &direction)
Real triaxialityStress(const SymmTensor &symm_stress)
Real secondInvariant(const SymmTensor &symm_tensor)
Real vonMisesStress(const SymmTensor &symm_stress)
Real firstInvariant(const SymmTensor &symm_tensor)
Real thirdInvariant(const SymmTensor &symm_tensor)
Real axialStress(const SymmTensor &symm_stress, const Point &point1, const Point &point2, RealVectorValue &direction)
Real directionValueTensor(const SymmTensor &symm_tensor, const RealVectorValue &input_direction)

Member Data Documentation

const Point MaterialTensorCalculator::_direction
protectedinherited
const int MaterialTensorCalculator::_index
protectedinherited
const Point MaterialTensorCalculator::_p1
protectedinherited
const Point MaterialTensorCalculator::_p2
protectedinherited
QUANTITY_ENUM MaterialTensorCalculator::_quantity
protectedinherited
MooseEnum MaterialTensorCalculator::_quantity_moose_enum
protectedinherited

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