ReciprocalMatDiffusion

Calculates the divergence of flux for a variable mobility in reciprocal space.

ReciprocalMatDiffusion computes the divergence of the flux with variable mobility using FFTs, and adds a no-flux correction on masked boundaries psi>0.

Overview

Inputs: - chemical_potential: field . - mobility: mobility . - psi: mask for imposing Neumann no-flux boundaries. Set always_update_psi = true if the mask changes.

The object computes in reciprocal space and adds inside the mask to enforce .

Example Input File Syntax

[TensorComputes<<<{"href": "../../syntax/TensorComputes/index.html"}>>>]
  [Solve<<<{"href": "../../syntax/TensorComputes/Solve/index.html"}>>>]
    [kappa_grad_eta]
      type = ReciprocalMatDiffusion<<<{"description": "Calculates the divergence of flux for a variable mobility in reciprocal space.", "href": "ReciprocalMatDiffusion.html"}>>>
      buffer<<<{"description": "The buffer this compute is writing to"}>>> = 'kappa_grad_eta'
      chemical_potential<<<{"description": "Chemical potential buffer name"}>>> = 'eta'
      mobility<<<{"description": "Mobility buffer name"}>>> = 'L_kappa'
      psi<<<{"description": "Variable to impose Neuamnn BC."}>>> = psi
    []
  []
[]
(test/tests/kks/KKS_no_flux_bc.i)

Input Parameters

  • bufferThe buffer this compute is writing to

    C++ Type:std::string

    Controllable:No

    Description:The buffer this compute is writing to

  • chemical_potentialChemical potential buffer name

    C++ Type:std::string

    Controllable:No

    Description:Chemical potential buffer name

  • mobilityMobility buffer name

    C++ Type:std::string

    Controllable:No

    Description:Mobility buffer name

Required Parameters

  • always_update_psiFalseSet to true if the BC changes .

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Set to true if the BC changes .

  • psiVariable to impose Neuamnn BC.

    C++ Type:std::string

    Controllable:No

    Description:Variable to impose Neuamnn BC.

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