https://mooseframework.inl.gov
LevelSetBiMaterialBase.h
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 
10 #pragma once
11 
12 #include "Material.h"
13 
14 // Forward Declarations
15 class XFEM;
16 
21 template <bool is_ad>
23 {
24 public:
26 
28 
29 protected:
30  virtual void initQpStatefulProperties() override;
31  virtual void computeProperties() override;
32  virtual void computeQpProperties() override;
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 
58 
61 
64 };
65 
bool _use_positive_property
use the positive level set region&#39;s material properties
const unsigned int _level_set_var_number
The variable number of the level set variable we are operating on.
virtual void computeQpProperties() override
const NumericVector< Number > & _solution
the subproblem solution vector
This is the XFEM class.
Definition: XFEM.h:107
const std::string _base_name
global material properties
std::shared_ptr< XFEM > _xfem
shared pointer to XFEM
virtual void assignQpPropertiesForLevelSetPositive()=0
assign the material properties for the positive level set region.
virtual void computeProperties() override
LevelSetBiMaterialBaseTempl< true > ADLevelSetBiMaterialBase
std::string _prop_name
Property name.
virtual void assignQpPropertiesForLevelSetNegative()=0
assign the material properties for the negative level set region.
LevelSetBiMaterialBaseTempl(const InputParameters &parameters)
virtual void initQpStatefulProperties() override
static InputParameters validParams()
const InputParameters & parameters() const
const libMesh::System & _system
system reference
Base class for switching between materials in a bi-material system where the interface is defined by ...
LevelSetBiMaterialBaseTempl< false > LevelSetBiMaterialBase