www.mooseframework.org
LevelSetBiMaterialRankTwo.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 
13 
14 template <>
15 InputParameters
17 {
18  InputParameters params = validParams<LevelSetBiMaterialBase>();
19  params.addClassDescription(
20  "Compute a RankTwoTensor material property for bi-materials problem (consisting of two "
21  "different materials) defined by a level set function.");
22  return params;
23 }
24 
25 LevelSetBiMaterialRankTwo::LevelSetBiMaterialRankTwo(const InputParameters & parameters)
26  : LevelSetBiMaterialBase(parameters),
27  _bimaterial_material_prop(2),
28  _material_prop(declareProperty<RankTwoTensor>(_base_name + _prop_name))
29 {
30  _bimaterial_material_prop[0] = &getMaterialProperty<RankTwoTensor>(
31  getParam<std::string>("levelset_positive_base") + "_" + _prop_name);
32  _bimaterial_material_prop[1] = &getMaterialProperty<RankTwoTensor>(
33  getParam<std::string>("levelset_negative_base") + "_" + _prop_name);
34 }
35 
36 void
38 {
39  _material_prop[_qp] = (*_bimaterial_material_prop[0])[_qp];
40 }
41 
42 void
44 {
45  _material_prop[_qp] = (*_bimaterial_material_prop[1])[_qp];
46 }
validParams< LevelSetBiMaterialRankTwo >
InputParameters validParams< LevelSetBiMaterialRankTwo >()
Definition: LevelSetBiMaterialRankTwo.C:16
validParams< LevelSetBiMaterialBase >
InputParameters validParams< LevelSetBiMaterialBase >()
Definition: LevelSetBiMaterialBase.C:17
LevelSetBiMaterialRankTwo
Compute a RankTwoTensor material property for bi-materials problem (consisting of two different mater...
Definition: LevelSetBiMaterialRankTwo.h:26
LevelSetBiMaterialRankTwo.h
registerMooseObject
registerMooseObject("XFEMApp", LevelSetBiMaterialRankTwo)
LevelSetBiMaterialRankTwo::assignQpPropertiesForLevelSetNegative
virtual void assignQpPropertiesForLevelSetNegative() override
assign the material properties for the negative level set region.
Definition: LevelSetBiMaterialRankTwo.C:43
LevelSetBiMaterialRankTwo::LevelSetBiMaterialRankTwo
LevelSetBiMaterialRankTwo(const InputParameters &parameters)
Definition: LevelSetBiMaterialRankTwo.C:25
LevelSetBiMaterialRankTwo::_bimaterial_material_prop
std::vector< const MaterialProperty< RankTwoTensor > * > _bimaterial_material_prop
RankTwoTensor Material properties for the two separate materials in the bi-material system.
Definition: LevelSetBiMaterialRankTwo.h:36
LevelSetBiMaterialRankTwo::_material_prop
MaterialProperty< RankTwoTensor > & _material_prop
Global RankTwoTensor material property (switch bi-material diffusion coefficient based on level set v...
Definition: LevelSetBiMaterialRankTwo.h:39
LevelSetBiMaterialRankTwo::assignQpPropertiesForLevelSetPositive
virtual void assignQpPropertiesForLevelSetPositive() override
assign the material properties for the positive level set region.
Definition: LevelSetBiMaterialRankTwo.C:37
LevelSetBiMaterialBase
Base class for switching between materials in a bi-material system where the interface is defined by ...
Definition: LevelSetBiMaterialBase.h:25
RankTwoTensorTempl
Definition: ACGrGrElasticDrivingForce.h:17
LevelSetBiMaterialBase::_prop_name
std::string _prop_name
Property name.
Definition: LevelSetBiMaterialBase.h:48