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 27 of file LineMaterialSymmTensorSampler.h.

Member Enumeration Documentation

◆ QUANTITY_ENUM

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

Definition at line 28 of file MaterialTensorCalculator.h.

29  {
30  COMPONENT,
31  VONMISES,
34  DIRECTION,
35  HOOP,
36  RADIAL,
37  AXIAL,
46  };

Constructor & Destructor Documentation

◆ LineMaterialSymmTensorSampler()

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 23 of file LineMaterialSymmTensorSampler.C.

24  : LineMaterialSamplerBase<SymmTensor>(parameters), MaterialTensorCalculator(parameters)
25 {
26 }
MaterialTensorCalculator(const InputParameters &parameters)

◆ ~LineMaterialSymmTensorSampler()

virtual LineMaterialSymmTensorSampler::~LineMaterialSymmTensorSampler ( )
inlinevirtual

Definition at line 38 of file LineMaterialSymmTensorSampler.h.

38 {}

Member Function Documentation

◆ getScalarFromProperty()

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 29 of file LineMaterialSymmTensorSampler.C.

31 {
32  RealVectorValue direction;
33  return getTensorQuantity(property, curr_point, direction);
34 }
Real getTensorQuantity(const SymmTensor &tensor, const Point &curr_point, RealVectorValue &direction)

◆ getTensorQuantity()

Real MaterialTensorCalculator::getTensorQuantity ( const SymmTensor tensor,
const Point &  curr_point,
RealVectorValue &  direction 
)
inherited

Definition at line 71 of file MaterialTensorCalculator.C.

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

74 {
75  direction.zero();
76  Real value = 0.0;
77 
78  switch (_quantity)
79  {
80  case 0:
81  value = MaterialTensorCalculatorTools::component(tensor, _index, direction);
82  break;
83 
84  case 1:
86  break;
87 
88  case 2:
90  break;
91 
92  case 3:
94  break;
95 
96  case 4:
98  break;
99 
100  case 5:
101  value = MaterialTensorCalculatorTools::hoopStress(tensor, _p1, _p2, curr_point, direction);
102  break;
103 
104  case 6:
105  value = MaterialTensorCalculatorTools::radialStress(tensor, _p1, _p2, curr_point, direction);
106  break;
107 
108  case 7:
109  value = MaterialTensorCalculatorTools::axialStress(tensor, _p1, _p2, direction);
110  break;
111 
112  case 8:
113  value = MaterialTensorCalculatorTools::maxPrincipal(tensor, direction);
114  break;
115 
116  case 9:
117  value = MaterialTensorCalculatorTools::midPrincipal(tensor, direction);
118  break;
119 
120  case 10:
121  value = MaterialTensorCalculatorTools::minPrincipal(tensor, direction);
122  break;
123 
124  case 11:
126  break;
127 
128  case 12:
130  break;
131 
132  case 13:
134  break;
135 
136  case 14:
138  break;
139 
140  case 15:
142  break;
143 
144  default:
145  mooseError("Unknown quantity in MaterialTensorAux: " +
146  _quantity_moose_enum.operator std::string());
147  }
148  return value;
149 }
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

◆ _direction

const Point MaterialTensorCalculator::_direction
protectedinherited

◆ _index

const int MaterialTensorCalculator::_index
protectedinherited

◆ _p1

const Point MaterialTensorCalculator::_p1
protectedinherited

◆ _p2

const Point MaterialTensorCalculator::_p2
protectedinherited

◆ _quantity

QUANTITY_ENUM MaterialTensorCalculator::_quantity
protectedinherited

◆ _quantity_moose_enum

MooseEnum MaterialTensorCalculator::_quantity_moose_enum
protectedinherited

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