www.mooseframework.org
LevelSetBiMaterialBase.h
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 
10 #pragma once
11 
12 #include "Material.h"
13 
14 // Forward Declarations
16 class XFEM;
17 
18 template <>
19 InputParameters validParams<LevelSetBiMaterialBase>();
20 
25 class LevelSetBiMaterialBase : public Material
26 {
27 public:
28  LevelSetBiMaterialBase(const InputParameters & parameters);
29 
30 protected:
31  virtual void computeProperties();
32  virtual void computeQpProperties();
33 
37  virtual void assignQpPropertiesForLevelSetNegative() = 0;
38 
42  virtual void assignQpPropertiesForLevelSetPositive() = 0;
43 
45  const std::string _base_name;
46 
48  std::string _prop_name;
49 
51  std::shared_ptr<XFEM> _xfem;
52 
54  const unsigned int _level_set_var_number;
55 
57  const System & _system;
58 
60  const NumericVector<Number> * _solution;
61 
64 };
65 
LevelSetBiMaterialBase::_use_positive_property
bool _use_positive_property
use the positive level set region's material properties
Definition: LevelSetBiMaterialBase.h:63
LevelSetBiMaterialBase::computeProperties
virtual void computeProperties()
Definition: LevelSetBiMaterialBase.C:57
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
validParams< LevelSetBiMaterialBase >
InputParameters validParams< LevelSetBiMaterialBase >()
Definition: LevelSetBiMaterialBase.C:17
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::_solution
const NumericVector< Number > * _solution
the subproblem solution vector
Definition: LevelSetBiMaterialBase.h:60
LevelSetBiMaterialBase::computeQpProperties
virtual void computeQpProperties()
Definition: LevelSetBiMaterialBase.C:81
LevelSetBiMaterialBase::_system
const System & _system
system reference
Definition: LevelSetBiMaterialBase.h:57
LevelSetBiMaterialBase
Base class for switching between materials in a bi-material system where the interface is defined by ...
Definition: LevelSetBiMaterialBase.h:25
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.
XFEM
This is the XFEM class.
Definition: XFEM.h:61
LevelSetBiMaterialBase::_prop_name
std::string _prop_name
Property name.
Definition: LevelSetBiMaterialBase.h:48