https://mooseframework.inl.gov
CZMComputeDisplacementJumpBase.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 
12 #include "InterfaceMaterial.h"
13 
14 #define usingCZMComputeDisplacementJumpBaseMembers \
15  usingInterfaceMaterialMembers; \
16  using CZMComputeDisplacementJumpBase<is_ad>::_base_name; \
17  using CZMComputeDisplacementJumpBase<is_ad>::_ndisp; \
18  using CZMComputeDisplacementJumpBase<is_ad>::_disp; \
19  using CZMComputeDisplacementJumpBase<is_ad>::_disp_neighbor; \
20  using CZMComputeDisplacementJumpBase<is_ad>::_displacement_jump_global; \
21  using CZMComputeDisplacementJumpBase<is_ad>::_interface_displacement_jump; \
22  using CZMComputeDisplacementJumpBase<is_ad>::_czm_total_rotation
23 
29 template <bool is_ad>
31 {
32 public:
35 
36 protected:
37  void computeQpProperties() override;
38  void initQpStatefulProperties() override;
39 
42  virtual void computeLocalDisplacementJump() = 0;
43 
45  virtual void computeRotationMatrices();
46 
48  const std::string _base_name;
49 
51  const unsigned int _ndisp;
52 
55  std::vector<const GenericVariableValue<is_ad> *> _disp;
56  std::vector<const GenericVariableValue<is_ad> *> _disp_neighbor;
58 
64 
67 };
const std::string _base_name
Base name of the material system.
GenericMaterialProperty< RankTwoTensor, is_ad > & _czm_total_rotation
the rotation matrix transforming from the interface to the global coordinate systems ...
virtual void computeRotationMatrices()
method computing the required rotation matrices
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
const unsigned int _ndisp
number of displacement components
GenericMaterialProperty< RealVectorValue, is_ad > & _interface_displacement_jump
virtual void computeLocalDisplacementJump()=0
method used to compute the disaplcement jump in interface coordinates according to a specific kinemat...
std::vector< const GenericVariableValue< is_ad > * > _disp
the coupled displacement and neighbor displacement values
std::vector< const GenericVariableValue< is_ad > * > _disp_neighbor
CZMComputeDisplacementJumpBase(const InputParameters &parameters)
const InputParameters & parameters() const
This interface material class computes the displacement jump in the interface natural coordinate syst...
GenericMaterialProperty< RealVectorValue, is_ad > & _displacement_jump_global
the displacement jump in global and interface coordiantes