https://mooseframework.inl.gov
Loading...
Searching...
No Matches
LevelSetBiMaterialRankTwo.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
11
14 "01/01/2022 00:00",
18 "01/01/2022 00:00",
20
21template <bool is_ad>
24{
27 "Compute a RankTwoTensor material property for bi-materials problem (consisting of two "
28 "different materials) defined by a level set function.");
29 return params;
30}
31
32template <bool is_ad>
34 const InputParameters & parameters)
35 : LevelSetBiMaterialBase(parameters),
36 _bimaterial_material_prop(2),
37 _material_prop(declareGenericProperty<RankTwoTensor, is_ad>(_base_name + _prop_name))
38{
39 _bimaterial_material_prop[0] = &getGenericMaterialProperty<RankTwoTensor, is_ad>(
40 getParam<std::string>("levelset_positive_base") + "_" + _prop_name);
41 _bimaterial_material_prop[1] = &getGenericMaterialProperty<RankTwoTensor, is_ad>(
42 getParam<std::string>("levelset_negative_base") + "_" + _prop_name);
43}
44
45template <bool is_ad>
46void
48{
49 _material_prop[_qp] = (*_bimaterial_material_prop[0])[_qp];
50}
51
52template <bool is_ad>
53void
55{
56 _material_prop[_qp] = (*_bimaterial_material_prop[1])[_qp];
57}
58
registerMooseObjectReplaced("XFEMApp", LevelSetBiMaterialRankTwo, "01/01/2022 00:00", XFEMCutSwitchingMaterialRankTwoTensor)
void addClassDescription(const std::string &doc_string)
Base class for switching between materials in a bi-material system where the interface is defined by ...
std::string _prop_name
Property name.
static InputParameters validParams()
Compute a RankTwoTensor material property for bi-materials problem (consisting of two different mater...
virtual void assignQpPropertiesForLevelSetPositive() override
assign the material properties for the positive level set region.
virtual void assignQpPropertiesForLevelSetNegative() override
assign the material properties for the negative level set region.
LevelSetBiMaterialRankTwoTempl(const InputParameters &parameters)
std::vector< const GenericMaterialProperty< RankTwoTensor, is_ad > * > _bimaterial_material_prop
RankTwoTensor Material properties for the two separate materials in the bi-material system.
Switches between materials in a multi-material system where the interfaces are defined by multiple ge...