https://mooseframework.inl.gov
ADCZMComputeGlobalTractionTotalLagrangian.C
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 
12 
14 
17 {
19  return params;
20 }
21 
23  const InputParameters & parameters)
24  : ADCZMComputeGlobalTractionBase(parameters),
25  _displacement_jump_global(
26  getADMaterialPropertyByName<RealVectorValue>(_base_name + "displacement_jump_global")),
27  _czm_reference_rotation(
28  getADMaterialPropertyByName<RankTwoTensor>(_base_name + "czm_reference_rotation")),
29  _F(getADMaterialPropertyByName<RankTwoTensor>(_base_name + "F_czm")),
30  _R(getADMaterialPropertyByName<RankTwoTensor>(_base_name + "czm_rotation")),
31  _PK1traction(declareADPropertyByName<RealVectorValue>(_base_name + "PK1traction"))
32 {
33 }
34 
35 void
37 {
38  _PK1traction[_qp] = 0;
39 }
40 
41 void
43 {
44  const auto J = _F[_qp].det();
45  const auto F_inv = _F[_qp].inverse();
46  const auto area_ratio = J * (F_inv.transpose() * _normals[_qp]).norm();
47 
49  _PK1traction[_qp] = _traction_global[_qp] * area_ratio;
50 }
const ADMaterialProperty< RealVectorValue > & _interface_traction
AD equivalent of CZMComputeGlobalTractionBase.
unsigned int _qp
registerMooseObject("SolidMechanicsApp", ADCZMComputeGlobalTractionTotalLagrangian)
const ADMaterialProperty< RankTwoTensor > & _czm_total_rotation
the rotation matrix trnasforming from interface to global coordinates
ADMaterialProperty< RealVectorValue > & _traction_global
the value of the traction in global and interface coordinates
auto norm(const T &a) -> decltype(std::abs(a))
const MooseArray< Point > & _normals
const ADMaterialProperty< RankTwoTensor > & _F
the interface deformation gradient
ADMaterialProperty< RealVectorValue > & _PK1traction
the PK1 traction
AD equivalent of CZMComputeGlobalTractionTotalLagrangian.
ADCZMComputeGlobalTractionTotalLagrangian(const InputParameters &parameters)