LevelSetOlssonPlane

Olsson and Kreiss (2005) define a level set function () that differs from the traditional signed distance function. They define a level set function ranging from 0 to 1 with a defined thickness (), which is a commonly referred to as a smeared Heaviside function ():

Typically, the interface of the level set function is defined by the 0.5 contour and the interface or boundary layer is defined between 0 and 1.

LevelSetOlssonPlane creates a plane that is defined by a point and a normal vector to the plane. The value is greater than 0.5 if the point is on the same side of the plane as the normal vector and less than 0.5 if it is on the opposite side.

[Functions]
  [phi_exact]
    type = LevelSetOlssonPlane
    epsilon = 0.04
    point = '0.5 0.5 0'
    normal = '0 1 0'
  []
[]
(modules/level_set/test/tests/functions/olsson_plane/olsson_plane.i)

Input Parameters

  • epsilon0.01The interface thickness.

    Default:0.01

    C++ Type:double

    Controllable:No

    Description:The interface thickness.

  • execute_onLINEARThe list of flag(s) indicating when this object should be executed, the available options include FORWARD, ADJOINT, HOMOGENEOUS_FORWARD, ADJOINT_TIMESTEP_BEGIN, ADJOINT_TIMESTEP_END, NONE, INITIAL, LINEAR, NONLINEAR, POSTCHECK, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, CUSTOM.

    Default:LINEAR

    C++ Type:ExecFlagEnum

    Options:FORWARD, ADJOINT, HOMOGENEOUS_FORWARD, ADJOINT_TIMESTEP_BEGIN, ADJOINT_TIMESTEP_END, NONE, INITIAL, LINEAR, NONLINEAR, POSTCHECK, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, CUSTOM

    Controllable:No

    Description:The list of flag(s) indicating when this object should be executed, the available options include FORWARD, ADJOINT, HOMOGENEOUS_FORWARD, ADJOINT_TIMESTEP_BEGIN, ADJOINT_TIMESTEP_END, NONE, INITIAL, LINEAR, NONLINEAR, POSTCHECK, TIMESTEP_END, TIMESTEP_BEGIN, MULTIAPP_FIXED_POINT_END, MULTIAPP_FIXED_POINT_BEGIN, FINAL, CUSTOM.

  • normal0 1 0The normal vector to the plane.

    Default:0 1 0

    C++ Type:libMesh::VectorValue<double>

    Controllable:No

    Description:The normal vector to the plane.

  • point0 0 0A point on the plane.

    Default:0 0 0

    C++ Type:libMesh::VectorValue<double>

    Controllable:No

    Description:A point on the plane.

Optional Parameters

  • control_tagsAdds user-defined labels for accessing object parameters via control logic.

    C++ Type:std::vector<std::string>

    Controllable:No

    Description:Adds user-defined labels for accessing object parameters via control logic.

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Set the enabled status of the MooseObject.

Advanced Parameters

Input Files

References

  1. Elin Olsson and Gunilla Kreiss. A conservative level set method for two phase flow. Journal of computational physics, 210(1):225–246, 2005. URL: http://dx.doi.org/10.1016/j.jcp.2005.04.007.[BibTeX]