NumbatAction

Action to automatically add all variables, kernels, boundary conditions and postprocessors for the dimensional formulation

Description

The NumbatAction adds all of the nonlinear variables, kernels, aux variables, aux kernels and postprocessors typically required in a Numbat simulation.

Input file syntax

This action is called in the input file simply as


[Numbat]
  [./Dimensional]
  [../]
[]
(tests/2D/2D_action.i)

The use of this action is exactly equivalent to the following input file syntax

[Variables]
  [./concentration]
    initial_condition = 0
  [../]
  [./pressure]
    initial_condition = 1e6
  [../]
[]

[AuxVariables]
  [./u]
    order = CONSTANT
    family = MONOMIAL
  [../]
  [./v]
    order = CONSTANT
    family = MONOMIAL
  [../]
[]

[Kernels]
  [./time]
    type = NumbatTimeDerivative
    variable = concentration
  [../]
  [./diffusion]
    type = NumbatDiffusion
    variable = concentration
  [../]
  [./convection]
    type = NumbatConvection
    variable = concentration
    pressure = pressure
  [../]
  [./darcy]
    type = NumbatDarcy
    variable = pressure
    concentration = concentration
  [../]
[]

[AuxKernels]
  [./uAux]
    type = NumbatDarcyVelocity
    pressure = pressure
    variable = u
    component = x
  [../]
  [./vAux]
    type = NumbatDarcyVelocity
    pressure = pressure
    variable = v
    component = y
  [../]
[]

[BCs]
  [./conctop]
    type = DirichletBC
    variable = concentration
    boundary = top
    value = 1.0
  [../]
  [./Periodic]
    [./x]
      variable = 'concentration pressure'
      auto_direction = x
    [../]
  [../]
[]

[Postprocessors]
  [./boundary_flux]
    type = NumbatSideFlux
    variable = concentration
    boundary = top
  [../]
  [./total_mass]
    type = NumbatTotalMass
    variable = concentration
  [../]
[]
(tests/2D/2D.i)

A specific value for the saturated boundary concentration can optionally be provided


[Numbat]
  [./Dimensional]
    boundary_concentration = 0.05
  [../]
[]
(tests/2D/2D_c0_action.i)

Input Parameters

  • concentration_scaling1Specifies a scaling factor to apply to the concentration variable

    Default:1

    C++ Type:double

    Description:Specifies a scaling factor to apply to the concentration variable

  • familyLAGRANGESpecifies the family of FE shape functions to use for this variable

    Default:LAGRANGE

    C++ Type:MooseEnum

    Description:Specifies the family of FE shape functions to use for this variable

  • boundary_concentration1Concentration at constant-concentration boundary

    Default:1

    C++ Type:double

    Description:Concentration at constant-concentration boundary

  • inactiveIf specified blocks matching these identifiers will be skipped.

    C++ Type:std::vector

    Description:If specified blocks matching these identifiers will be skipped.

  • periodic_bcsTrueWhether to add periodic boundary conditions

    Default:True

    C++ Type:bool

    Description:Whether to add periodic boundary conditions

  • active__all__ If specified only the blocks named will be visited and made active

    Default:__all__

    C++ Type:std::vector

    Description:If specified only the blocks named will be visited and made active

  • pressure_scaling1Specifies a scaling factor to apply to the pressure variable

    Default:1

    C++ Type:double

    Description:Specifies a scaling factor to apply to the pressure variable

  • orderFIRSTSpecifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)

    Default:FIRST

    C++ Type:MooseEnum

    Description:Specifies the order of the FE shape function to use for this variable (additional orders not listed are allowed)

Optional Parameters