https://mooseframework.inl.gov
Loading...
Searching...
No Matches
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
29template <bool is_ad>
31{
32public:
35
36protected:
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};
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
This interface material class computes the displacement jump in the interface natural coordinate syst...
std::vector< const GenericVariableValue< is_ad > * > _disp_neighbor
virtual void computeRotationMatrices()
method computing the required rotation matrices
GenericMaterialProperty< RealVectorValue, is_ad > & _interface_displacement_jump
const unsigned int _ndisp
number of displacement components
GenericMaterialProperty< RealVectorValue, is_ad > & _displacement_jump_global
the displacement jump in global and interface coordiantes
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 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
const InputParameters & parameters() const