https://mooseframework.inl.gov
Loading...
Searching...
No Matches
JIntegral.h
Go to the documentation of this file.
1//* This file is part of the MOOSE framework
2//* https://mooseframework.inl.gov
3//*
4//* All rights reserved, see COPYRIGHT for full restrictions
5//* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6//*
7//* Licensed under LGPL 2.1, please see LICENSE for details
8//* https://www.gnu.org/licenses/lgpl-2.1.html
9
10#pragma once
11
13
14// Forward Declarations
22{
23public:
25
27
28 virtual void initialSetup() override;
29 virtual void initialize() override;
30 virtual void execute() override;
31 virtual void finalize() override;
32 virtual void threadJoin(const UserObject & y) override;
33
34protected:
44 Real computeQpIntegral(const std::size_t crack_front_point_index,
45 const Real scalar_q,
46 const RealVectorValue & grad_of_scalar_q);
50
52
55
58
64 std::vector<MooseVariableFEBase *> _fe_vars;
74 std::size_t _ring_index;
78
82
84 std::vector<Real> _q_curr_elem;
86 const std::vector<std::vector<Real>> * _phi_curr_elem;
88 const std::vector<std::vector<libMesh::RealGradient>> * _dphi_curr_elem;
90 unsigned int _qp;
101};
const std::vector< double > y
std::vector< Real > VectorPostprocessorValue
Class used in fracture integrals to define geometric characteristics of the crack front.
This vectorpostprocessor computes the J-Integral, which is a measure of the strain energy release rat...
Definition JIntegral.h:22
const CrackFrontDefinition *const _crack_front_definition
Definition JIntegral.h:47
virtual void execute() override
Definition JIntegral.C:171
std::vector< Real > _q_curr_elem
Vector of q function values for the nodes in the current element.
Definition JIntegral.h:84
virtual void threadJoin(const UserObject &y) override
Definition JIntegral.C:250
QMethod
Enum used to select the method used to compute the q function used in the fracture integrals.
Definition JIntegral.h:77
enum JIntegral::IntegralType _integral
const MaterialProperty< RankTwoTensor > * _Eshelby_tensor_dissipation
Eshelby tensor rate for computing the C(t) integral.
Definition JIntegral.h:57
IntegralType
Enum defining the type of integral to be computed.
Definition JIntegral.h:49
VectorPostprocessorValue & _position
Definition JIntegral.h:98
Real _youngs_modulus
Young's modulus of the material.
Definition JIntegral.h:72
VectorPostprocessorValue & _z
Definition JIntegral.h:97
static InputParameters validParams()
Definition JIntegral.C:20
std::vector< MooseVariableFEBase * > _fe_vars
Vector of all coupled variables.
Definition JIntegral.h:64
VectorPostprocessorValue & _j_integral
Definition JIntegral.h:99
virtual void initialSetup() override
Definition JIntegral.C:92
enum JIntegral::QMethod _q_function_type
const MaterialProperty< RealVectorValue > *const _J_thermal_term_vec
Definition JIntegral.h:51
Real computeQpIntegral(const std::size_t crack_front_point_index, const Real scalar_q, const RealVectorValue &grad_of_scalar_q)
Compute the contribution of a specific quadrature point to the J integral for a point on the crack fr...
Definition JIntegral.C:124
const std::vector< std::vector< libMesh::RealGradient > > * _dphi_curr_elem
Vector of gradients of shape function values for the current element.
Definition JIntegral.h:88
bool _treat_as_2d
Whether to treat a 3D model as 2D for computation of fracture integrals.
Definition JIntegral.h:60
unsigned int _qp
Current quadrature point index.
Definition JIntegral.h:90
virtual void initialize() override
Definition JIntegral.C:102
bool _using_mesh_cutter
Whether the crack is defined by an XFEM cutter mesh.
Definition JIntegral.h:62
const std::vector< std::vector< Real > > * _phi_curr_elem
Vector of shape function values for the current element.
Definition JIntegral.h:86
PositionType
Enum used to define how the distance along the crack front is measured (angle or distance)
Definition JIntegral.h:81
VectorPostprocessorValue & _y
Definition JIntegral.h:96
const MaterialProperty< RankTwoTensor > * _Eshelby_tensor
Eshelby tensor for J integral and K stress intensity factor.
Definition JIntegral.h:54
std::size_t _ring_index
Index of the ring for the integral computed by this object.
Definition JIntegral.h:74
virtual void finalize() override
Definition JIntegral.C:222
VectorPostprocessorValue & _x
Vectors computed by this VectorPostprocessor: x,y,z coordinates, position of nodes along crack front,...
Definition JIntegral.h:95
Real _poissons_ratio
Poisson's ratio of the material.
Definition JIntegral.h:70
bool _has_symmetry_plane
Whether the crack plane is also a symmetry plane in the model.
Definition JIntegral.h:68
const libMesh::FEType & _fe_type
FEType object defining order and family of displacement variables.
Definition JIntegral.h:66
enum JIntegral::PositionType _position_type
const InputParameters & parameters() const