22 template <
typename T,
bool is_ad>
45 const std::vector<CutSubdomainID>
_keys;
46 const std::vector<std::string>
_vals;
56 std::unordered_map<unsigned int, const GenericMaterialProperty<T, is_ad> *>
_prop_map;
static InputParameters validParams()
XFEMCutSwitchingMaterialTempl< RankTwoTensor, false > XFEMCutSwitchingMaterialRankTwoTensor
XFEMCutSwitchingMaterialTempl< Real, false > XFEMCutSwitchingMaterialReal
const std::string _base_name
global material property base name
XFEMCutSwitchingMaterialTempl< RankTwoTensor, true > ADXFEMCutSwitchingMaterialRankTwoTensor
virtual void computeQpProperties() override
virtual void computeProperties() override
const GeometricCutUserObject * _cut
The geometric cut userobject that provides the cut subdomain IDs.
std::shared_ptr< XFEM > _xfem
shared pointer to XFEM
Switches between materials in a multi-material system where the interfaces are defined by multiple ge...
XFEMCutSwitchingMaterialTempl< RankThreeTensor, false > XFEMCutSwitchingMaterialRankThreeTensor
std::unordered_map< unsigned int, const GenericMaterialProperty< T, is_ad > * > _prop_map
map of keys to material property
const std::string _prop_name
property name
XFEMCutSwitchingMaterialTempl< Real, true > ADXFEMCutSwitchingMaterialReal
typename GenericMaterialPropertyStruct< T, is_ad >::type GenericMaterialProperty
XFEMCutSwitchingMaterialTempl(const InputParameters ¶meters)
GenericMaterialProperty< T, is_ad > & _prop
the global material property
const GenericMaterialProperty< T, is_ad > * _mapped_prop
current mapped material property
XFEMCutSwitchingMaterialTempl< RankFourTensor, false > XFEMCutSwitchingMaterialRankFourTensor
XFEMCutSwitchingMaterialTempl< RankFourTensor, true > ADXFEMCutSwitchingMaterialRankFourTensor
const InputParameters & parameters() const
const std::vector< CutSubdomainID > _keys
{@ map keys and values
const std::vector< std::string > _vals
virtual void initQpStatefulProperties() override
XFEMCutSwitchingMaterialTempl< RankThreeTensor, true > ADXFEMCutSwitchingMaterialRankThreeTensor