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

#include <XFEMPhaseTransitionMovingInterfaceVelocity.h>

Inheritance diagram for XFEMPhaseTransitionMovingInterfaceVelocity:
[legend]

Public Member Functions

 XFEMPhaseTransitionMovingInterfaceVelocity (const InputParameters &parameters)
 
virtual ~XFEMPhaseTransitionMovingInterfaceVelocity ()
 
virtual Real computeMovingInterfaceVelocity (unsigned int point_id) const override
 Compute the interface velocity for a point. More...
 
virtual void initialize () override
 
unsigned int numberPoints () const
 Compute total number of points that are used to define an interface. More...
 

Protected Attributes

Real _diffusivity_at_positive_level_set
 Diffusivity in the positive level set region. More...
 
Real _diffusivity_at_negative_level_set
 Diffusivity in the negative level set region. More...
 
Real _equilibrium_concentration_jump
 Jump of the equilibrium concentrations at phase boundary. More...
 
const PointValueAtXFEMInterface_value_at_interface_uo
 Pointer to PointValueAtXFEMInterface object. More...
 

Detailed Description

Definition at line 20 of file XFEMPhaseTransitionMovingInterfaceVelocity.h.

Constructor & Destructor Documentation

◆ XFEMPhaseTransitionMovingInterfaceVelocity()

XFEMPhaseTransitionMovingInterfaceVelocity::XFEMPhaseTransitionMovingInterfaceVelocity ( const InputParameters &  parameters)

Definition at line 30 of file XFEMPhaseTransitionMovingInterfaceVelocity.C.

32  : XFEMMovingInterfaceVelocityBase(parameters),
33  _diffusivity_at_positive_level_set(getParam<Real>("diffusivity_at_positive_level_set")),
34  _diffusivity_at_negative_level_set(getParam<Real>("diffusivity_at_negative_level_set")),
35  _equilibrium_concentration_jump(getParam<Real>("equilibrium_concentration_jump"))
36 {
37 }
Real _diffusivity_at_negative_level_set
Diffusivity in the negative level set region.
Real _diffusivity_at_positive_level_set
Diffusivity in the positive level set region.
Real _equilibrium_concentration_jump
Jump of the equilibrium concentrations at phase boundary.
XFEMMovingInterfaceVelocityBase(const InputParameters &parameters)

◆ ~XFEMPhaseTransitionMovingInterfaceVelocity()

virtual XFEMPhaseTransitionMovingInterfaceVelocity::~XFEMPhaseTransitionMovingInterfaceVelocity ( )
inlinevirtual

Definition at line 24 of file XFEMPhaseTransitionMovingInterfaceVelocity.h.

24 {}

Member Function Documentation

◆ computeMovingInterfaceVelocity()

Real XFEMPhaseTransitionMovingInterfaceVelocity::computeMovingInterfaceVelocity ( unsigned int  point_id) const
overridevirtual

Compute the interface velocity for a point.

Parameters
point_idPoint ID
Returns
Real Interface velocity

Implements XFEMMovingInterfaceVelocityBase.

Definition at line 40 of file XFEMPhaseTransitionMovingInterfaceVelocity.C.

42 {
43  Real value_positive = _value_at_interface_uo->getValueAtPositiveLevelSet()[point_id];
44  Real value_negative = _value_at_interface_uo->getValueAtNegativeLevelSet()[point_id];
45  RealVectorValue grad_positive = _value_at_interface_uo->getGradientAtPositiveLevelSet()[point_id];
46  RealVectorValue grad_negative = _value_at_interface_uo->getGradientAtNegativeLevelSet()[point_id];
47 
48  // Current implementation only supports the case that the interface is moving horizontally
49  return std::abs((_diffusivity_at_positive_level_set * grad_positive(0) -
50  _diffusivity_at_negative_level_set * grad_negative(0)) /
51  (value_positive - value_negative + _equilibrium_concentration_jump));
52 }
const PointValueAtXFEMInterface * _value_at_interface_uo
Pointer to PointValueAtXFEMInterface object.
Real _diffusivity_at_negative_level_set
Diffusivity in the negative level set region.
Real _diffusivity_at_positive_level_set
Diffusivity in the positive level set region.
std::map< unsigned int, Real > getValueAtPositiveLevelSet() const
get the map that stores the point index and its values at the positive level set side ...
std::map< unsigned int, Real > getValueAtNegativeLevelSet() const
get the map that stores the point index and its values at the negative level set side ...
Real _equilibrium_concentration_jump
Jump of the equilibrium concentrations at phase boundary.
std::map< unsigned int, RealVectorValue > getGradientAtPositiveLevelSet() const
get the map that stores the point index and its gradient at the positive level set side ...
std::map< unsigned int, RealVectorValue > getGradientAtNegativeLevelSet() const
get the map that stores the point index and its graident at the negative level set side ...

◆ initialize()

void XFEMMovingInterfaceVelocityBase::initialize ( )
overridevirtualinherited

Definition at line 29 of file XFEMMovingInterfaceVelocityBase.C.

30 {
31  const UserObject * uo =
32  &(_fe_problem.getUserObjectBase(getParam<UserObjectName>("value_at_interface_uo")));
33 
34  if (dynamic_cast<const PointValueAtXFEMInterface *>(uo) == nullptr)
35  mooseError("UserObject casting to PointValueAtXFEMInterface in XFEMMovingInterfaceVelocity");
36 
37  _value_at_interface_uo = dynamic_cast<const PointValueAtXFEMInterface *>(uo);
38 }
const PointValueAtXFEMInterface * _value_at_interface_uo
Pointer to PointValueAtXFEMInterface object.

◆ numberPoints()

unsigned int XFEMMovingInterfaceVelocityBase::numberPoints ( ) const
inlineinherited

Compute total number of points that are used to define an interface.

Definition at line 39 of file XFEMMovingInterfaceVelocityBase.h.

Referenced by MovingLineSegmentCutSetUserObject::execute(), and MovingLineSegmentCutSetUserObject::finalize().

const PointValueAtXFEMInterface * _value_at_interface_uo
Pointer to PointValueAtXFEMInterface object.

Member Data Documentation

◆ _diffusivity_at_negative_level_set

Real XFEMPhaseTransitionMovingInterfaceVelocity::_diffusivity_at_negative_level_set
protected

Diffusivity in the negative level set region.

Definition at line 33 of file XFEMPhaseTransitionMovingInterfaceVelocity.h.

Referenced by computeMovingInterfaceVelocity().

◆ _diffusivity_at_positive_level_set

Real XFEMPhaseTransitionMovingInterfaceVelocity::_diffusivity_at_positive_level_set
protected

Diffusivity in the positive level set region.

Definition at line 30 of file XFEMPhaseTransitionMovingInterfaceVelocity.h.

Referenced by computeMovingInterfaceVelocity().

◆ _equilibrium_concentration_jump

Real XFEMPhaseTransitionMovingInterfaceVelocity::_equilibrium_concentration_jump
protected

Jump of the equilibrium concentrations at phase boundary.

Definition at line 36 of file XFEMPhaseTransitionMovingInterfaceVelocity.h.

Referenced by computeMovingInterfaceVelocity().

◆ _value_at_interface_uo

const PointValueAtXFEMInterface* XFEMMovingInterfaceVelocityBase::_value_at_interface_uo
protectedinherited

The documentation for this class was generated from the following files: