ADDynamicStressDivergenceTensors is the automatic differentiation version of DynamicStressDivergenceTensors.
More...
#include <ADDynamicStressDivergenceTensors.h>
template<ComputeStage compute_stage>
class ADDynamicStressDivergenceTensors< compute_stage >
ADDynamicStressDivergenceTensors is the automatic differentiation version of DynamicStressDivergenceTensors.
This kernel derives from ADStressDivergenceTensors and adds stress related Rayleigh and HHT time integration terms.
Definition at line 16 of file ADDynamicStressDivergenceTensors.h.
◆ ADDynamicStressDivergenceTensors()
template<ComputeStage compute_stage>
◆ ADMaterialProperty()
template<ComputeStage compute_stage>
◆ computeQpResidual()
template<ComputeStage compute_stage>
This kernel needs to be used only if either Rayleigh damping or numerical damping through HHT time integration scheme needs to be added to the problem thorugh the stiffness dependent damping parameter _zeta or HHT parameter _alpha, respectively.
The residual of _zeta*K*[(1+_alpha)vel-_alpha vel_old]+ alpha K [ u - uold] + K u is required = _zeta*[(1+_alpha)d/dt (Div sigma)-alpha d/dt(Div sigma_old)] +alpha [Div sigma - Div sigma_old]+ Div sigma = _zeta*[(1+alpha)(Div sigma - Div sigma_old)/dt - alpha (Div sigma_old - Div sigma_older)/dt]
- alpha [Div sigma - Div sigma_old] +Div sigma = [(1+_alpha)*_zeta/dt +_alpha+1]* Div sigma - [(1+2_alpha)*_zeta/dt + _alpha] Div sigma_old + _alpha*_zeta/dt Div sigma_older
Definition at line 53 of file ADDynamicStressDivergenceTensors.C.
74 residual = _stress[_qp].row(
_component) * _grad_test[_i][_qp];
83 _stress[_qp].row(
_component) * _grad_test[_i][_qp] *
90 residual += (_stress[_qp].trace() * (1.0 +
_alpha + (1.0 +
_alpha) *
_zeta[_qp] / _dt) -
◆ initialSetup()
template<ComputeStage compute_stage>
|
overrideprotectedinherited |
Definition at line 63 of file ADStressDivergenceTensors.C.
65 if (getBlockCoordSystem() != Moose::COORD_XYZ)
67 "The coordinate system in the Problem block must be set to XYZ for cartesian geometries.");
◆ precalculateResidual()
template<ComputeStage compute_stage>
|
overrideprotectedinherited |
Definition at line 85 of file ADStressDivergenceTensors.C.
90 ADReal ad_current_elem_volume = 0.0;
91 for (
unsigned int qp = 0; qp < _qrule->n_points(); qp++)
92 ad_current_elem_volume += _ad_JxW[qp] * _ad_coord[qp];
96 for (_i = 0; _i < _test.size(); ++_i)
99 for (_qp = 0; _qp < _qrule->n_points(); ++_qp)
◆ validParams()
template<ComputeStage compute_stage>
Definition at line 19 of file ADDynamicStressDivergenceTensors.C.
22 params.addClassDescription(
23 "Residual due to stress related Rayleigh damping and HHT time integration terms");
24 params.addParam<MaterialPropertyName>(
"zeta",
26 "Name of material property or a constant real "
27 "number defining the zeta parameter for the "
29 params.addParam<Real>(
"alpha", 0,
"alpha parameter for HHT time integration");
30 params.addParam<
bool>(
"static_initialization",
32 "Set to true to get the system to "
33 "equilibrium under gravity by running a "
34 "quasi-static analysis (by solving Ku = F) "
35 "in the first time step");
◆ _alpha
template<ComputeStage compute_stage>
◆ _avg_grad_test
template<ComputeStage compute_stage>
Gradient of test function averaged over the element. Used in volumetric locking correction calculation.
Definition at line 61 of file ADStressDivergenceTensors.h.
◆ _base_name
template<ComputeStage compute_stage>
◆ _component
template<ComputeStage compute_stage>
◆ _disp_var
template<ComputeStage compute_stage>
◆ _ndisp
template<ComputeStage compute_stage>
◆ _static_initialization
template<ComputeStage compute_stage>
◆ _stress_old
template<ComputeStage compute_stage>
◆ _stress_older
template<ComputeStage compute_stage>
◆ _volumetric_locking_correction
template<ComputeStage compute_stage>
◆ _zeta
template<ComputeStage compute_stage>
◆ usingKernelMembers
template<ComputeStage compute_stage>
◆ usingStressDivergenceTensorsMembers
template<ComputeStage compute_stage>
The documentation for this class was generated from the following files: