https://mooseframework.inl.gov
LevelSetOlssonBubble.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 // MOOSE includes
13 #include "Function.h"
14 
19 {
20 public:
22 
24 
25  using Function::value;
26  virtual Real value(Real /*t*/, const Point & p) const override;
27  virtual ADReal value(const ADReal & /*t*/, const ADPoint & p) const override;
28 
29  virtual RealGradient gradient(Real /*t*/, const Point & p) const override;
30 
31 protected:
34 
36  const Real & _radius;
37 
39  const Real & _epsilon;
40 };
LevelSetOlssonBubble(const InputParameters &parameters)
Implements the "bubble" function from Olsson and Kreiss (2005).
virtual RealGradient gradient(Real, const Point &p) const override
DualNumber< Real, DNDerivativeType, true > ADReal
const Real & _radius
The radius of the bubble.
virtual Real value(Real, const Point &p) const override
const RealVectorValue & _center
The &#39;center&#39; of the bubble.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static InputParameters validParams()
const InputParameters & parameters() const
virtual Real value(Real t, const Point &p) const
const Real & _epsilon
The interface thickness.