www.mooseframework.org
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
LevelSetBiMaterialRankTwo Class Reference

Compute a RankTwoTensor material property for bi-materials problem (consisting of two different materials) defined by a level set function. More...

#include <LevelSetBiMaterialRankTwo.h>

Inheritance diagram for LevelSetBiMaterialRankTwo:
[legend]

Public Member Functions

 LevelSetBiMaterialRankTwo (const InputParameters &parameters)
 

Protected Member Functions

virtual void assignQpPropertiesForLevelSetPositive () override
 assign the material properties for the positive level set region. More...
 
virtual void assignQpPropertiesForLevelSetNegative () override
 assign the material properties for the negative level set region. More...
 
virtual void computeProperties ()
 
virtual void computeQpProperties ()
 

Protected Attributes

std::vector< const MaterialProperty< RankTwoTensor > * > _bimaterial_material_prop
 RankTwoTensor Material properties for the two separate materials in the bi-material system. More...
 
MaterialProperty< RankTwoTensor > & _material_prop
 Global RankTwoTensor material property (switch bi-material diffusion coefficient based on level set values) More...
 
const std::string _base_name
 global material properties More...
 
std::string _prop_name
 Property name. More...
 
std::shared_ptr< XFEM_xfem
 shared pointer to XFEM More...
 
const unsigned int _level_set_var_number
 The variable number of the level set variable we are operating on. More...
 
const System & _system
 system reference More...
 
const NumericVector< Number > * _solution
 the subproblem solution vector More...
 
bool _use_positive_property
 use the positive level set region's material properties More...
 

Detailed Description

Compute a RankTwoTensor material property for bi-materials problem (consisting of two different materials) defined by a level set function.

Definition at line 26 of file LevelSetBiMaterialRankTwo.h.

Constructor & Destructor Documentation

◆ LevelSetBiMaterialRankTwo()

LevelSetBiMaterialRankTwo::LevelSetBiMaterialRankTwo ( const InputParameters &  parameters)

Definition at line 25 of file LevelSetBiMaterialRankTwo.C.

26  : LevelSetBiMaterialBase(parameters),
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 }

Member Function Documentation

◆ assignQpPropertiesForLevelSetNegative()

void LevelSetBiMaterialRankTwo::assignQpPropertiesForLevelSetNegative ( )
overrideprotectedvirtual

assign the material properties for the negative level set region.

Implements LevelSetBiMaterialBase.

Definition at line 43 of file LevelSetBiMaterialRankTwo.C.

44 {
45  _material_prop[_qp] = (*_bimaterial_material_prop[1])[_qp];
46 }

◆ assignQpPropertiesForLevelSetPositive()

void LevelSetBiMaterialRankTwo::assignQpPropertiesForLevelSetPositive ( )
overrideprotectedvirtual

assign the material properties for the positive level set region.

Implements LevelSetBiMaterialBase.

Definition at line 37 of file LevelSetBiMaterialRankTwo.C.

38 {
39  _material_prop[_qp] = (*_bimaterial_material_prop[0])[_qp];
40 }

◆ computeProperties()

void LevelSetBiMaterialBase::computeProperties ( )
protectedvirtualinherited

Definition at line 57 of file LevelSetBiMaterialBase.C.

58 {
59  const Node * node = _current_elem->node_ptr(0);
60 
61  dof_id_type ls_dof_id = node->dof_number(_system.number(), _level_set_var_number, 0);
62  Number ls_node_value = (*_solution)(ls_dof_id);
63 
64  _use_positive_property = false;
65 
66  if (_xfem->isPointInsidePhysicalDomain(_current_elem, *node))
67  {
68  if (ls_node_value > 0.0)
70  }
71  else
72  {
73  if (ls_node_value < 0.0)
75  }
76 
77  Material::computeProperties();
78 }

◆ computeQpProperties()

void LevelSetBiMaterialBase::computeQpProperties ( )
protectedvirtualinherited

Definition at line 81 of file LevelSetBiMaterialBase.C.

Member Data Documentation

◆ _base_name

const std::string LevelSetBiMaterialBase::_base_name
protectedinherited

global material properties

Definition at line 45 of file LevelSetBiMaterialBase.h.

◆ _bimaterial_material_prop

std::vector<const MaterialProperty<RankTwoTensor> *> LevelSetBiMaterialRankTwo::_bimaterial_material_prop
protected

RankTwoTensor Material properties for the two separate materials in the bi-material system.

Definition at line 36 of file LevelSetBiMaterialRankTwo.h.

Referenced by assignQpPropertiesForLevelSetNegative(), assignQpPropertiesForLevelSetPositive(), and LevelSetBiMaterialRankTwo().

◆ _level_set_var_number

const unsigned int LevelSetBiMaterialBase::_level_set_var_number
protectedinherited

The variable number of the level set variable we are operating on.

Definition at line 54 of file LevelSetBiMaterialBase.h.

Referenced by LevelSetBiMaterialBase::computeProperties().

◆ _material_prop

MaterialProperty<RankTwoTensor>& LevelSetBiMaterialRankTwo::_material_prop
protected

Global RankTwoTensor material property (switch bi-material diffusion coefficient based on level set values)

Definition at line 39 of file LevelSetBiMaterialRankTwo.h.

Referenced by assignQpPropertiesForLevelSetNegative(), and assignQpPropertiesForLevelSetPositive().

◆ _prop_name

std::string LevelSetBiMaterialBase::_prop_name
protectedinherited

◆ _solution

const NumericVector<Number>* LevelSetBiMaterialBase::_solution
protectedinherited

the subproblem solution vector

Definition at line 60 of file LevelSetBiMaterialBase.h.

◆ _system

const System& LevelSetBiMaterialBase::_system
protectedinherited

system reference

Definition at line 57 of file LevelSetBiMaterialBase.h.

Referenced by LevelSetBiMaterialBase::computeProperties().

◆ _use_positive_property

bool LevelSetBiMaterialBase::_use_positive_property
protectedinherited

use the positive level set region's material properties

Definition at line 63 of file LevelSetBiMaterialBase.h.

Referenced by LevelSetBiMaterialBase::computeProperties(), and LevelSetBiMaterialBase::computeQpProperties().

◆ _xfem

std::shared_ptr<XFEM> LevelSetBiMaterialBase::_xfem
protectedinherited

The documentation for this class was generated from the following files:
LevelSetBiMaterialBase::_use_positive_property
bool _use_positive_property
use the positive level set region's material properties
Definition: LevelSetBiMaterialBase.h:63
LevelSetBiMaterialBase::_xfem
std::shared_ptr< XFEM > _xfem
shared pointer to XFEM
Definition: LevelSetBiMaterialBase.h:51
LevelSetBiMaterialBase::LevelSetBiMaterialBase
LevelSetBiMaterialBase(const InputParameters &parameters)
Definition: LevelSetBiMaterialBase.C:34
LevelSetBiMaterialBase::_base_name
const std::string _base_name
global material properties
Definition: LevelSetBiMaterialBase.h:45
LevelSetBiMaterialBase::assignQpPropertiesForLevelSetNegative
virtual void assignQpPropertiesForLevelSetNegative()=0
assign the material properties for the negative level set region.
LevelSetBiMaterialBase::_system
const System & _system
system reference
Definition: LevelSetBiMaterialBase.h:57
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
LevelSetBiMaterialBase::_level_set_var_number
const unsigned int _level_set_var_number
The variable number of the level set variable we are operating on.
Definition: LevelSetBiMaterialBase.h:54
LevelSetBiMaterialBase::assignQpPropertiesForLevelSetPositive
virtual void assignQpPropertiesForLevelSetPositive()=0
assign the material properties for the positive level set region.
LevelSetBiMaterialBase::_prop_name
std::string _prop_name
Property name.
Definition: LevelSetBiMaterialBase.h:48