FiniteDifferenceBiharmonic

Computes the biharmonic Laplacian(Laplacian(u)) using finite differences.

Overview

Computes factor times the biharmonic of the input buffer in real space. The stencil is the discrete Laplacian of FiniteDifferenceLaplacian composed with itself ("stencil_width" selects the 3-point or 5-point Laplacian), which in 2D with the 3-point Laplacian is the 13-point stencil. It reaches twice as far as the Laplacian, so two (3-point) or four (5-point) ghost layers are exchanged before it is applied.

The operator also exposes its stencil for implicit solvers. On a periodic grid the square of the symmetric Laplacian is positive semidefinite with the constants as its nullspace, so with factor > 0 the operator can be solved implicitly with ImplicitFDSolver, for example as the term of the Cahn-Hilliard equation.

Example Input File Syntax

[TensorComputes<<<{"href": "../../syntax/TensorComputes/index.html"}>>>]
  [Solve<<<{"href": "../../syntax/TensorComputes/Solve/index.html"}>>>]
    [bih]
      type = FiniteDifferenceBiharmonic<<<{"description": "Computes the biharmonic Laplacian(Laplacian(u)) using finite differences.", "href": "FiniteDifferenceBiharmonic.html"}>>>
      buffer<<<{"description": "The buffer this compute is writing to"}>>> = bih_u
      input<<<{"description": "The input buffer"}>>> = u
      factor<<<{"description": "Pre-factor for the biharmonic"}>>> = ${Mkappa}
      stencil_width<<<{"description": "Stencil width of the Laplacian that is applied twice (3 => 3-point, 5 => 5-point)"}>>> = ${stencil}
    []
  []
[]
(test/tests/implicit_fd/biharmonic_mode.i)

Input Parameters

  • bufferThe buffer this compute is writing to

    C++ Type:std::string

    Controllable:No

    Description:The buffer this compute is writing to

  • inputThe input buffer

    C++ Type:std::string

    Controllable:No

    Description:The input buffer

Required Parameters

  • factor1Pre-factor for the biharmonic

    Default:1

    C++ Type:Real

    Unit:(no unit assumed)

    Controllable:No

    Description:Pre-factor for the biharmonic

  • stencil_width3Stencil width of the Laplacian that is applied twice (3 => 3-point, 5 => 5-point)

    Default:3

    C++ Type:MooseEnum

    Options:3, 5

    Controllable:No

    Description:Stencil width of the Laplacian that is applied twice (3 => 3-point, 5 => 5-point)

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