# Level Set Module

The level set module provides basic functionality to solve the level set equation, the following links provided detailed information on the theory and use of the level set module:

For reference the following tables list the objects contained within the level set module and a brief description of there purpose, each object may be selected to navigate to a detailed page.

## Functions

• Moose App
• Axisymmetric2D3DSolutionFunctionFunction for reading a 2D axisymmetric solution from file and mapping it to a 3D Cartesian model
• BicubicSplineFunction
• CompositeFunctionMultiplies an arbitrary set of functions together
• ConstantFunction
• ImageFunctionFunction with values sampled from a given image stack
• LinearCombinationFunctionReturns the linear combination of the functions
• ParsedFunction
• ParsedVectorFunction
• PiecewiseBilinearInterpolates values from a csv file
• PiecewiseConstantDefines data using a set of x-y data pairs
• PiecewiseLinearLinearly interpolates between pairs of x-y data
• PiecewiseMulticonstantPiecewiseMulticonstant performs constant interpolation on 1D, 2D, 3D or 4D data. The data_file specifies the axes directions and the function values. If a point lies outside the data range, the appropriate end value is used.
• PiecewiseMultilinearPiecewiseMultilinear performs linear interpolation on 1D, 2D, 3D or 4D data. The data_file specifies the axes directions and the function values. If a point lies outside the data range, the appropriate end value is used.
• SolutionFunction
• SplineFunction
• TestSetupPostprocessorDataActionFunction
• VectorPostprocessorFunction
• Richards App
• RichardsExcavGeomThis function defines excavation geometry. It can be used to enforce pressures at the boundary of excavations, and to record fluid fluxes into excavations.
• Functional Expansion Tools App
• FunctionSeriesThis function uses a convolution of functional series (functional expansion or FX) to create a 1D, 2D, or 3D function
• Navier Stokes App
• WedgeFunctionFunction which computes the exact solution for Jeffery-Hamel flow in a wedge.
• Level Set App
• LevelSetOlssonBubbleImplementation of 'bubble' ranging from 0 to 1.
• LevelSetOlssonVortexA function for creating vortex velocity fields for level set equation benchmark problems.
• Porous Flow App
• MovingPlanarFrontThis function defines the position of a moving front. The front is an infinite plane with normal pointing from start_posn to end_posn. The front's distance from start_posn is defined by 'distance', so if the 'distance' function is time dependent, the front's position will change with time. Roughly speaking, the function returns true_value for points lying in between start_posn and start_posn + distance. Precisely speaking, two planes are constructed, both with normal pointing from start_posn to end_posn. The first plane passes through start_posn; the second plane passes through end_posn. Given a point p and time t, this function returns false_value if ANY of the following are true: (a) t=deactivation_time; (c) p is 'behind' start_posn (ie, p lies on one side of the start_posn plane and end_posn lies on the other side); (d) p is 'ahead' of the front (ie, p lies one one side of the front and start_posn lies on the other side); (e) the distance between p and the front is greater than active_length. Otherwise, the point is 'in the active zone' and the function returns true_value.

## Kernels

• Moose App
• AnisotropicDiffusionAnisotropic diffusion kernel with weak form given by .
• BodyForceDemonstrates the multiple ways that scalar values can be introduced into kernels, e.g. (controllable) constants, functions, and postprocessors. Implements the weak form .
• CoefTimeDerivativeThe time derivative operator with the weak form of .
• ConservativeAdvectionConservative form of which in its weak form is given by: .
• CoupledForceImplements a source term proportional to the value of a coupled variable. Weak form: .
• CoupledTimeDerivativeTime derivative Kernel that acts on a coupled variable. Weak form: .
• DiffusionThe Laplacian operator (), with the weak form of .
• MassEigenKernelAn eigenkernel with weak form where is the eigenvalue.
• MassLumpedTimeDerivativeLumped formulation of the time derivative . Its corresponding weak form is where denotes the time derivative of the solution coefficient associated with node .
• MatDiffusionDiffusion equation Kernel that takes an isotropic Diffusivity from a material property
• MaterialDerivativeRankFourTestKernelClass used for testing derivatives of a rank four tensor material property.
• MaterialDerivativeRankTwoTestKernelClass used for testing derivatives of a rank two tensor material property.
• MaterialDerivativeTestKernelClass used for testing derivatives of a scalar material property.
• NullKernelKernel that sets a zero residual.
• ReactionImplements a simple consuming reaction term with weak form .
• TimeDerivativeThe time derivative operator with the weak form of .
• UserForcingFunctionDemonstrates the multiple ways that scalar values can be introduced into kernels, e.g. (controllable) constants, functions, and postprocessors. Implements the weak form .
• VectorBodyForceDemonstrates the multiple ways that scalar values can be introduced into kernels, e.g. (controllable) constants, functions, and postprocessors. Implements the weak form .
• VectorDiffusionThe Laplacian operator (), with the weak form of .
• Phase Field Test App
• GaussContForcing
• Phase Field App
• ACBarrierFunctionAllen Cahn kernel used when 'mu' is a function of variables
• ACGBPolyGrain-Boundary model concentration dependent residual
• ACGrGrElasticDrivingForceAdds elastic energy contribution to the Allen-Cahn equation
• ACGrGrMultiMulti-phase poly-crystaline Allen-Cahn Kernel
• ACGrGrPolyGrain-Boundary model poly-crystaline interface Allen-Cahn Kernel
• ACInterfaceGradient energy Allen-Cahn Kernel
• ACInterface2DMultiPhase1Gradient energy Allen-Cahn Kernel where the derivative of interface parameter kappa wrt the gradient of order parameter is considered.
• ACInterface2DMultiPhase2Gradient energy Allen-Cahn Kernel where the interface parameter kappa is considered.
• ACInterfaceKobayashi1Anisotropic gradient energy Allen-Cahn Kernel Part 1
• ACInterfaceKobayashi2Anisotropic Gradient energy Allen-Cahn Kernel Part 2
• ACInterfaceStressInterface stress driving force Allen-Cahn Kernel
• ACKappaFunctionGradient energy term for when kappa as a function of the variable
• ACMultiInterfaceGradient energy Allen-Cahn Kernel with cross terms
• ACSEDGPolyStored Energy contribution to grain growth
• ACSwitchingKernel for Allen-Cahn equation that adds derivatives of switching functions and energies
• AllenCahnAllen-Cahn Kernel that uses a DerivativeMaterial Free Energy
• AllenCahnElasticEnergyOffDiagThis kernel calculates off-diagonal jacobian of elastic energy in AllenCahn with respect to displacements
• CHBulkPFCTradCahn-Hilliard kernel for a polynomial phase field crystal free energy.
• CHInterfaceGradient energy Cahn-Hilliard Kernel with a scalar (isotropic) mobility
• CHInterfaceAnisoGradient energy Cahn-Hilliard Kernel with a tensor (anisotropic) mobility
• CHMathSimple demonstration Cahn-Hilliard Kernel using an algebraic double-well potential
• CHPFCRFFCahn-Hilliard residual for the RFF form of the phase field crystal model
• CHSplitChemicalPotentialChemical potential kernel in Split Cahn-Hilliard that solves chemical potential in a weak form
• CHSplitConcentrationConcentration kernel in Split Cahn-Hilliard that solves chemical potential in a weak form
• CHSplitFluxComputes flux as nodal variable
• CahnHilliardCahn-Hilliard Kernel that uses a DerivativeMaterial Free Energy and a scalar (isotropic) mobility
• CahnHilliardAnisoCahn-Hilliard Kernel that uses a DerivativeMaterial Free Energy and a tensor (anisotropic) mobility
• CoefCoupledTimeDerivativeScaled time derivative Kernel that acts on a coupled variable
• CoefReactionImplements the residual term (p*u, test)
• ConservedLangevinNoiseSource term for noise from a ConservedNoise userobject
• CoupledAllenCahnCoupled Allen-Cahn Kernel that uses a DerivativeMaterial Free Energy
• CoupledMaterialDerivativeKernel that implements the first derivative of a function material property with respect to a coupled variable.
• CoupledSusceptibilityTimeDerivativeA modified coupled time derivative Kernel that multiplies the time derivative of a coupled variable by a generalized susceptibility
• CoupledSwitchingTimeDerivativeCoupled time derivative Kernel that multiplies the time derivative by $\frac{dh_\alpha}{d\eta_i} F_\alpha + \frac{dh_\beta}{d\eta_i} F_\beta + \dots) • DiscreteNucleationForceTerm for inserting grain nuclei or phases in non-conserved order parameter fields • GradientComponentSet the kernel variable to a specified component of the gradient of a coupled variable. • HHPFCRFFReaction type kernel for the RFF phase fit crystal model • KKSACBulkCKKS model kernel (part 2 of 2) for the Bulk Allen-Cahn. This includes all terms dependent on chemical potential. • KKSACBulkFKKS model kernel (part 1 of 2) for the Bulk Allen-Cahn. This includes all terms NOT dependent on chemical potential. • KKSCHBulkKKS model kernel for the Bulk Cahn-Hilliard term. This operates on the concentration 'c' as the non-linear variable • KKSMultiACBulkCMulti-phase KKS model kernel (part 2 of 2) for the Bulk Allen-Cahn. This includes all terms dependent on chemical potential. • KKSMultiACBulkFKKS model kernel (part 1 of 2) for the Bulk Allen-Cahn. This includes all terms NOT dependent on chemical potential. • KKSMultiPhaseConcentrationKKS multi-phase model kernel to enforce . The non-linear variable of this kernel is , the final phase concentration in the list. • KKSPhaseChemicalPotentialKKS model kernel to enforce the pointwise equality of phase chemical potentials dFa/dca = dFb/dcb. The non-linear variable of this kernel is ca. • KKSPhaseConcentrationKKS model kernel to enforce the decomposition of concentration into phase concentration (1-h(eta))ca + h(eta)cb - c = 0. The non-linear variable of this kernel is cb. • KKSSplitCHCResKKS model kernel for the split Bulk Cahn-Hilliard term. This operates on the chemical potential 'c' as the non-linear variable • LangevinNoiseSource term for non-conserved Langevin noise • LaplacianSplitSplit with a variable that holds the Laplacian of a phase field variable. • MaskedBodyForceKernel that defines a body force modified by a material mask • MatAnisoDiffusionDiffusion equation Kernel that takes an anisotropic Diffusivity from a material property • MatGradSquareCoupledGradient square of a coupled variable. • MatReactionKernel to add -L*v, where L=reaction rate, v=variable • MultiGrainRigidBodyMotionAdds rigid mody motion to grains • SimpleACInterfaceGradient energy for Allen-Cahn Kernel with constant Mobility and Interfacial parameter • SimpleCHInterfaceGradient energy for Cahn-Hilliard equation with constant Mobility and Interfacial parameter • SimpleCoupledACInterfaceGradient energy for Allen-Cahn Kernel with constant Mobility and Interfacial parameter for a coupled order parameter variable. • SimpleSplitCHWResGradient energy for split Cahn-Hilliard equation with constant Mobility for a coupled order parameter variable. • SingleGrainRigidBodyMotionAdds rigid mody motion to a single grain • SoretDiffusionAdd Soret effect to Split formulation Cahn-Hilliard Kernel • SplitCHMathSimple demonstration split formulation Cahn-Hilliard Kernel using an algebraic double-well potential • SplitCHParsedSplit formulation Cahn-Hilliard Kernel that uses a DerivativeMaterial Free Energy • SplitCHWResSplit formulation Cahn-Hilliard Kernel for the chemical potential variable with a scalar (isotropic) mobility • SplitCHWResAnisoSplit formulation Cahn-Hilliard Kernel for the chemical potential variable with a tensor (anisotropic) mobility • SusceptibilityTimeDerivativeA modified time derivative Kernel that multiplies the time derivative of a variable by a generalized susceptibility • SwitchingFunctionConstraintEtaLagrange multiplier kernel to constrain the sum of all switching functions in a multiphase system. This kernel acts on a non-conserved order parameter eta_i. • SwitchingFunctionConstraintLagrangeLagrange multiplier kernel to constrain the sum of all switching functions in a multiphase system. This kernel acts on the lagrange multiplier variable. • SwitchingFunctionPenaltyPenalty kernel to constrain the sum of all switching functions in a multiphase system. • CHPFCRFFSplitKernel • HHPFCRFFSplitKernel • PFCRFFKernel • PolycrystalElasticDrivingForce • PolycrystalKernel • PolycrystalStoredEnergy • RigidBodyMultiKernel • Misc App • CoefDiffusionKernel for diffusion with diffusivity = coef + function • ThermoDiffusionKernel for thermo-diffusion (Soret effect, thermophoresis, etc.) • Navier Stokes Test App • AdvectionThis class solves the scalar advection equation, with SUPG stabilization. • Level Set App • LevelSetAdvectionImplements the level set advection equation: , where the weak form is . • LevelSetAdvectionSUPGSUPG stablization term for the advection portion of the level set equation. • LevelSetForcingFunctionSUPGThe SUPG stablization term for a forcing function. • LevelSetOlssonReinitializationThe re-initialization equation defined by Olsson et. al. (2007). • LevelSetTimeDerivativeSUPGSUPG stablization terms for the time derivative of the level set equation. • Solid Mechanics App • HomogenizationKernel • OutOfPlaneStress • SolidMechImplicitEuler • StressDivergence • StressDivergenceRSpherical • StressDivergenceRZ • XFEMApp • CrackTipEnrichmentStressDivergenceTensorsEnrich stress divergence kernel for small-strain simulations • Heat Conduction App • AnisoHeatConduction • HeatCapacityConductionTimeDerivativeTime derivative term of the heat equation with the heat capacity as an argument. • HeatConductionComputes residual/Jacobian contribution for term. • HeatConductionTimeDerivativeTime derivative term of the heat equation for quasi-constant specific heat and the density . • HeatSourceDemonstrates the multiple ways that scalar values can be introduced into kernels, e.g. (controllable) constants, functions, and postprocessors. Implements the weak form . • HomogenizedHeatConduction • JouleHeatingSourceDemonstrates the multiple ways that scalar values can be introduced into kernels, e.g. (controllable) constants, functions, and postprocessors. Implements the weak form . • SpecificHeatConductionTimeDerivativeTime derivative term of the heat equation with the specific heat and the density as arguments. • Richards App • DarcyFluxDarcy flux. nabla_i (k_ij/mu (nabla_j P - w_j)), where k_ij is the permeability tensor, mu is the fluid viscosity, P is the fluid pressure, and w_j is the fluid weight • PoroFullSatTimeDerivativeKernel = biot_coefficient*d(volumetric_strain)/dt + (1/biot_modulus)*d(porepressure)/dt. This is the time-derivative for poromechanics for a single-phase, fully-saturated fluid with constant bulk modulus • Q2PNegativeNodalMassOld- fluid_mass • Q2PNodalMassFluid mass lumped to the nodes divided by dt • Q2PPorepressureFluxFlux according to Darcy-Richards flow. The Variable for this Kernel should be the porepressure. • Q2PSaturationDiffusionDiffusion part of the Flux according to Darcy-Richards flow. The Variable of this Kernel must be the saturation. • Q2PSaturationFluxFlux according to Darcy-Richards flow. The Variable of this Kernel must be the saturation • RichardsFlux • RichardsFullyUpwindFlux • RichardsLumpedMassChange • RichardsMassChangeThe time derivative operator with the weak form of . • RichardsPPenaltyThis adds a term to the residual that attempts to enforce variable > lower_var. The term is a*(lower - variable) for variable • Tensor Mechanics App • CosseratStressDivergenceTensorsStress divergence kernel for the Cartesian coordinate system • DynamicStressDivergenceTensorsResidual due to stress related Rayleigh damping and HHT time integration terms • GeneralizedPlaneStrainOffDiagGeneralized Plane Strain kernel to provide contribution of the out-of-plane strain to other kernels • GravityApply gravity. Value is in units of acceleration. • InertialForceCalculates the residual for the interial force () and the contribution of mass dependent Rayleigh damping and HHT time integration scheme ($\eta \cdot M \cdot ((1+\alpha)velq2-\alpha \cdot vel-old) $) • InertialForceBeamCalculates the residual for the interial force/moment and the contribution of mass dependent Rayleigh damping and HHT time integration scheme. • InertialTorqueKernel for interial torque: density * displacement x acceleration • MomentBalancing • OutOfPlanePressureApply pressure in the out-of-plane direction in 2D plane stress or generalized plane strain models • PhaseFieldFractureMechanicsOffDiagStress divergence kernel for phase-field fracture: Computes off diagonal damage dependent Jacobian components. To be used with StressDivergenceTensors or DynamicStressDivergenceTensors. • PlasticHeatEnergyPlastic heat energy density = coeff * stress * plastic_strain_rate • PoroMechanicsCouplingAdds , where the subscript is the component. • StressDivergenceBeamQuasi-static and dynamic stress divergence kernel for Beam element • StressDivergenceRSphericalTensorsCalculate stress divergence for an spherically symmetric 1D problem in polar coordinates. • StressDivergenceRZTensorsCalculate stress divergence for an axisymmetric problem in cylinderical coordinates. • StressDivergenceTensorsStress divergence kernel for the Cartesian coordinate system • StressDivergenceTensorsTrussKernel for truss element • WeakPlaneStressPlane stress kernel to provide out-of-plane strain contribution • DynamicTensorMechanics • PoroMechanics • TensorMechanics • Porous Flow App • PorousFlowAdvectiveFluxFully-upwinded advective flux of the component given by fluid_component • PorousFlowBasicAdvectionAdvective flux of a Variable using the Darcy velocity of the fluid phase • PorousFlowDesorpedMassTimeDerivativeDesorped component mass derivative wrt time. • PorousFlowDesorpedMassVolumetricExpansionDesorped_mass * rate_of_solid_volumetric_expansion • PorousFlowDispersiveFluxDispersive and diffusive flux of the component given by fluid_component in all phases • PorousFlowEffectiveStressCouplingAdds , where the subscript is the component. • PorousFlowEnergyTimeDerivativeDerivative of heat-energy-density wrt time • PorousFlowExponentialDecayResidual = rate * (variable - reference). Useful for modelling exponential decay of a variable • PorousFlowFullySaturatedDarcyBaseDarcy flux suitable for models involving a fully-saturated, single phase, single component fluid. No upwinding is used • PorousFlowFullySaturatedDarcyFlowDarcy flux suitable for models involving a fully-saturated single phase, multi-component fluid. No upwinding is used • PorousFlowFullySaturatedHeatAdvectionHeat flux that arises from the advection of a fully-saturated single phase fluid. No upwinding is used • PorousFlowFullySaturatedMassTimeDerivativeFully-saturated version of the single-component, single-phase fluid mass derivative wrt time • PorousFlowHeatAdvectionFully-upwinded heat flux, advected by the fluid • PorousFlowHeatConductionHeat conduction in the Porous Flow module • PorousFlowHeatVolumetricExpansionEnergy-density*rate_of_solid_volumetric_expansion • PorousFlowMassRadioactiveDecayRadioactive decay of a fluid component • PorousFlowMassTimeDerivativeComponent mass derivative wrt time for component given by fluid_component • PorousFlowMassVolumetricExpansionComponent_mass*rate_of_solid_volumetric_expansion • PorousFlowPlasticHeatEnergyPlastic heat energy density source = (1 - porosity) * coeff * stress * plastic_strain_rate • PorousFlowPreDisPrecipitation-dissolution of chemical species • Navier Stokes App • DistributedForce • DistributedPower • INSChorinCorrectorThis class computes the 'Chorin' Corrector equation in fully-discrete (both time and space) form. • INSChorinPredictorThis class computes the 'Chorin' Predictor equation in fully-discrete (both time and space) form. • INSChorinPressurePoissonThis class computes the pressure Poisson solve which is part of the 'split' scheme used for solving the incompressible Navier-Stokes equations. • INSCompressibilityPenaltyThe penalty term may be used when Dirichlet boundary condition is applied to the entire boundary. • INSMassThis class computes the mass equation residual and Jacobian contributions for the incompressible Navier-Stokes momentum equation. • INSMassRZThis class computes the mass equation residual and Jacobian contributions for the incompressible Navier-Stokes momentum equation in RZ coordinates. • INSMomentumLaplaceFormThis class computes momentum equation residual and Jacobian viscous contributions for the 'Laplacian' form of the governing equations. • INSMomentumLaplaceFormRZThis class computes additional momentum equation residual and Jacobian contributions for the incompressible Navier-Stokes momentum equation in RZ (axisymmetric cylindrical) coordinates, using the 'Laplace' form of the governing equations. • INSMomentumTimeDerivativeThis class computes the time derivative for the incompressible Navier-Stokes momentum equation. • INSMomentumTractionFormThis class computes momentum equation residual and Jacobian viscous contributions for the 'traction' form of the governing equations. • INSMomentumTractionFormRZThis class computes additional momentum equation residual and Jacobian contributions for the incompressible Navier-Stokes momentum equation in RZ (axisymmetric cylindrical) coordinates. • INSPressurePoissonThis class computes the pressure Poisson solve which is part of the 'split' scheme used for solving the incompressible Navier-Stokes equations. • INSProjectionThis class computes the 'projection' part of the 'split' method for solving incompressible Navier-Stokes. • INSSplitMomentumThis class computes the 'split' momentum equation residual. • INSTemperatureThis class computes the residual and Jacobian contributions for the incompressible Navier-Stokes temperature (energy) equation. • INSTemperatureTimeDerivativeThis class computes the time derivative for the incompressible Navier-Stokes momentum equation. • MassConvectiveFlux • MomentumConvectiveFlux • NSEnergyInviscidFluxThis class computes the inviscid part of the energy flux. • NSEnergyThermalFluxThis class is responsible for computing residuals and Jacobian terms for the k * grad(T) * grad(phi) term in the Navier-Stokes energy equation. • NSEnergyViscousFluxViscous flux terms in energy equation. • NSGravityForceThis class computes the gravity force contribution. • NSGravityPowerThis class computes the momentum contributed by gravity. • NSMassInviscidFluxThis class computes the inviscid flux in the mass equation. • NSMomentumInviscidFluxThe inviscid flux (convective + pressure terms) for the momentum conservation equations. • NSMomentumInviscidFluxWithGradPThis class computes the inviscid flux with pressure gradient in the momentum equation. • NSMomentumViscousFluxDerived instance of the NSViscousFluxBase class for the momentum equations. • NSSUPGEnergyCompute residual and Jacobian terms form the SUPG terms in the energy equation. • NSSUPGMassCompute residual and Jacobian terms form the SUPG terms in the mass equation. • NSSUPGMomentumCompute residual and Jacobian terms form the SUPG terms in the momentum equation. • NSTemperatureL2This class was originally used to solve for the temperature using an L2-projection. • PressureGradient • TotalEnergyConvectiveFlux • Fluid Properties Test App • NaNInterfaceTestKernelKernel to test NaNInterface using NaNInterfaceTestFluidProperties • Chemical Reactions App • CoupledBEEquilibriumSubDerivative of equilibrium species concentration wrt time • CoupledBEKineticDerivative of kinetic species concentration wrt time • CoupledConvectionReactionSubConvection of equilibrium species • CoupledDiffusionReactionSubDiffusion of equilibrium species • DarcyFluxPressure • DesorptionFromMatrixMass flow rate from the matrix to the porespace. Add this to TimeDerivative kernel to get complete DE for the fluid adsorbed in the matrix • DesorptionToPorespaceMass flow rate to the porespace from the matrix. Add this to the other kernels for the porepressure variable to form the complete DE • PrimaryConvectionConvection of primary species • PrimaryDiffusionDiffusion of primary species • PrimaryTimeDerivativeDerivative of primary species concentration wrt time • Misc Test App • Convection ## MultiApps ## Postprocessors ## Problem ## Transfers ## UserObjects ## Level Set Module Tasks The following additional tasks should be completed to make the level set module more useful and robust for real-world applications: • Develop automated techniques for setting the various re-initialization tuning parameters (, , etc.), see the Theory page for more details. • Implement a signed-distance-preserving re-initialization scheme based on established methods, e.g. Min (2010). • Implement additional stabilization techniques such as the Galerkin Least Squares Hughes et al. (1989) method and "shock/discontinuity capturing" schemes Hughes and Mallet (1986) and Shakib et al. (1991). • Create module-specific input file syntax for level set problems to simplify input file generation and usage. • Solve additional benchmark problems with various stabilization and re-initialization schemes, and investigate different mesh refinement and adaptivity strategies for said problems. ## Objects, Actions, and, Syntax ## Functions • Moose App • AddFunctionAction • Axisymmetric2D3DSolutionFunctionFunction for reading a 2D axisymmetric solution from file and mapping it to a 3D Cartesian model • BicubicSplineFunction • CompositeFunctionMultiplies an arbitrary set of functions together • ConstantFunction • ImageFunctionFunction with values sampled from a given image stack • LinearCombinationFunctionReturns the linear combination of the functions • ParsedFunction • ParsedGradFunction • ParsedVectorFunction • PiecewiseBilinearInterpolates values from a csv file • PiecewiseConstantDefines data using a set of x-y data pairs • PiecewiseLinearLinearly interpolates between pairs of x-y data • PiecewiseMulticonstantPiecewiseMulticonstant performs constant interpolation on 1D, 2D, 3D or 4D data. The data_file specifies the axes directions and the function values. If a point lies outside the data range, the appropriate end value is used. • PiecewiseMultilinearPiecewiseMultilinear performs linear interpolation on 1D, 2D, 3D or 4D data. The data_file specifies the axes directions and the function values. If a point lies outside the data range, the appropriate end value is used. • SolutionFunction • SplineFunction • TestSetupPostprocessorDataActionFunction • VectorPostprocessorFunction • Richards App • Grad2ParsedFunction • GradParsedFunction • RichardsExcavGeomThis function defines excavation geometry. It can be used to enforce pressures at the boundary of excavations, and to record fluid fluxes into excavations. • Functional Expansion Tools App • FunctionSeriesThis function uses a convolution of functional series (functional expansion or FX) to create a 1D, 2D, or 3D function • Navier Stokes App • WedgeFunctionFunction which computes the exact solution for Jeffery-Hamel flow in a wedge. • Level Set App • LevelSetOlssonBubbleImplementation of 'bubble' ranging from 0 to 1. • LevelSetOlssonVortexA function for creating vortex velocity fields for level set equation benchmark problems. • Porous Flow App • MovingPlanarFrontThis function defines the position of a moving front. The front is an infinite plane with normal pointing from start_posn to end_posn. The front's distance from start_posn is defined by 'distance', so if the 'distance' function is time dependent, the front's position will change with time. Roughly speaking, the function returns true_value for points lying in between start_posn and start_posn + distance. Precisely speaking, two planes are constructed, both with normal pointing from start_posn to end_posn. The first plane passes through start_posn; the second plane passes through end_posn. Given a point p and time t, this function returns false_value if ANY of the following are true: (a) t=deactivation_time; (c) p is 'behind' start_posn (ie, p lies on one side of the start_posn plane and end_posn lies on the other side); (d) p is 'ahead' of the front (ie, p lies one one side of the front and start_posn lies on the other side); (e) the distance between p and the front is greater than active_length. Otherwise, the point is 'in the active zone' and the function returns true_value. ## Kernels • Moose App • AddKernelAction • AnisotropicDiffusionAnisotropic diffusion kernel with weak form given by . • BodyForceDemonstrates the multiple ways that scalar values can be introduced into kernels, e.g. (controllable) constants, functions, and postprocessors. Implements the weak form . • CoefTimeDerivativeThe time derivative operator with the weak form of . • ConservativeAdvectionConservative form of which in its weak form is given by: . • CoupledForceImplements a source term proportional to the value of a coupled variable. Weak form: . • CoupledTimeDerivativeTime derivative Kernel that acts on a coupled variable. Weak form: . • DiffusionThe Laplacian operator (), with the weak form of . • MassEigenKernelAn eigenkernel with weak form where is the eigenvalue. • MassLumpedTimeDerivativeLumped formulation of the time derivative . Its corresponding weak form is where denotes the time derivative of the solution coefficient associated with node . • MatDiffusionDiffusion equation Kernel that takes an isotropic Diffusivity from a material property • MaterialDerivativeRankFourTestKernelClass used for testing derivatives of a rank four tensor material property. • MaterialDerivativeRankTwoTestKernelClass used for testing derivatives of a rank two tensor material property. • MaterialDerivativeTestKernelClass used for testing derivatives of a scalar material property. • NullKernelKernel that sets a zero residual. • ReactionImplements a simple consuming reaction term with weak form . • TimeDerivativeThe time derivative operator with the weak form of . • UserForcingFunctionDemonstrates the multiple ways that scalar values can be introduced into kernels, e.g. (controllable) constants, functions, and postprocessors. Implements the weak form . • VectorBodyForceDemonstrates the multiple ways that scalar values can be introduced into kernels, e.g. (controllable) constants, functions, and postprocessors. Implements the weak form . • VectorDiffusionThe Laplacian operator (), with the weak form of . • Phase Field Test App • GaussContForcing • Phase Field App • ACBarrierFunctionAllen Cahn kernel used when 'mu' is a function of variables • ACGBPolyGrain-Boundary model concentration dependent residual • ACGrGrElasticDrivingForceAdds elastic energy contribution to the Allen-Cahn equation • ACGrGrMultiMulti-phase poly-crystaline Allen-Cahn Kernel • ACGrGrPolyGrain-Boundary model poly-crystaline interface Allen-Cahn Kernel • ACInterfaceGradient energy Allen-Cahn Kernel • ACInterface2DMultiPhase1Gradient energy Allen-Cahn Kernel where the derivative of interface parameter kappa wrt the gradient of order parameter is considered. • ACInterface2DMultiPhase2Gradient energy Allen-Cahn Kernel where the interface parameter kappa is considered. • ACInterfaceKobayashi1Anisotropic gradient energy Allen-Cahn Kernel Part 1 • ACInterfaceKobayashi2Anisotropic Gradient energy Allen-Cahn Kernel Part 2 • ACInterfaceStressInterface stress driving force Allen-Cahn Kernel • ACKappaFunctionGradient energy term for when kappa as a function of the variable • ACMultiInterfaceGradient energy Allen-Cahn Kernel with cross terms • ACSEDGPolyStored Energy contribution to grain growth • ACSwitchingKernel for Allen-Cahn equation that adds derivatives of switching functions and energies • AllenCahnAllen-Cahn Kernel that uses a DerivativeMaterial Free Energy • AllenCahnElasticEnergyOffDiagThis kernel calculates off-diagonal jacobian of elastic energy in AllenCahn with respect to displacements • CHBulkPFCTradCahn-Hilliard kernel for a polynomial phase field crystal free energy. • CHInterfaceGradient energy Cahn-Hilliard Kernel with a scalar (isotropic) mobility • CHInterfaceAnisoGradient energy Cahn-Hilliard Kernel with a tensor (anisotropic) mobility • CHMathSimple demonstration Cahn-Hilliard Kernel using an algebraic double-well potential • CHPFCRFFCahn-Hilliard residual for the RFF form of the phase field crystal model • CHSplitChemicalPotentialChemical potential kernel in Split Cahn-Hilliard that solves chemical potential in a weak form • CHSplitConcentrationConcentration kernel in Split Cahn-Hilliard that solves chemical potential in a weak form • CHSplitFluxComputes flux as nodal variable • CahnHilliardCahn-Hilliard Kernel that uses a DerivativeMaterial Free Energy and a scalar (isotropic) mobility • CahnHilliardAnisoCahn-Hilliard Kernel that uses a DerivativeMaterial Free Energy and a tensor (anisotropic) mobility • CoefCoupledTimeDerivativeScaled time derivative Kernel that acts on a coupled variable • CoefReactionImplements the residual term (p*u, test) • ConservedLangevinNoiseSource term for noise from a ConservedNoise userobject • CoupledAllenCahnCoupled Allen-Cahn Kernel that uses a DerivativeMaterial Free Energy • CoupledMaterialDerivativeKernel that implements the first derivative of a function material property with respect to a coupled variable. • CoupledSusceptibilityTimeDerivativeA modified coupled time derivative Kernel that multiplies the time derivative of a coupled variable by a generalized susceptibility • CoupledSwitchingTimeDerivativeCoupled time derivative Kernel that multiplies the time derivative by$\frac{dh_\alpha}{d\eta_i} F_\alpha + \frac{dh_\beta}{d\eta_i} F_\beta + \dots)
• DiscreteNucleationForceTerm for inserting grain nuclei or phases in non-conserved order parameter fields
• GradientComponentSet the kernel variable to a specified component of the gradient of a coupled variable.
• HHPFCRFFReaction type kernel for the RFF phase fit crystal model
• KKSACBulkCKKS model kernel (part 2 of 2) for the Bulk Allen-Cahn. This includes all terms dependent on chemical potential.
• KKSACBulkFKKS model kernel (part 1 of 2) for the Bulk Allen-Cahn. This includes all terms NOT dependent on chemical potential.
• KKSCHBulkKKS model kernel for the Bulk Cahn-Hilliard term. This operates on the concentration 'c' as the non-linear variable
• KKSMultiACBulkCMulti-phase KKS model kernel (part 2 of 2) for the Bulk Allen-Cahn. This includes all terms dependent on chemical potential.
• KKSMultiACBulkFKKS model kernel (part 1 of 2) for the Bulk Allen-Cahn. This includes all terms NOT dependent on chemical potential.
• KKSMultiPhaseConcentrationKKS multi-phase model kernel to enforce . The non-linear variable of this kernel is , the final phase concentration in the list.
• KKSPhaseChemicalPotentialKKS model kernel to enforce the pointwise equality of phase chemical potentials dFa/dca = dFb/dcb. The non-linear variable of this kernel is ca.
• KKSPhaseConcentrationKKS model kernel to enforce the decomposition of concentration into phase concentration (1-h(eta))ca + h(eta)cb - c = 0. The non-linear variable of this kernel is cb.
• KKSSplitCHCResKKS model kernel for the split Bulk Cahn-Hilliard term. This operates on the chemical potential 'c' as the non-linear variable
• LangevinNoiseSource term for non-conserved Langevin noise
• LaplacianSplitSplit with a variable that holds the Laplacian of a phase field variable.
• MaskedBodyForceKernel that defines a body force modified by a material mask
• MatAnisoDiffusionDiffusion equation Kernel that takes an anisotropic Diffusivity from a material property
• MatGradSquareCoupledGradient square of a coupled variable.
• MatReactionKernel to add -L*v, where L=reaction rate, v=variable
• MultiGrainRigidBodyMotionAdds rigid mody motion to grains
• SimpleACInterfaceGradient energy for Allen-Cahn Kernel with constant Mobility and Interfacial parameter
• SimpleCHInterfaceGradient energy for Cahn-Hilliard equation with constant Mobility and Interfacial parameter
• SimpleCoupledACInterfaceGradient energy for Allen-Cahn Kernel with constant Mobility and Interfacial parameter for a coupled order parameter variable.
• SimpleSplitCHWResGradient energy for split Cahn-Hilliard equation with constant Mobility for a coupled order parameter variable.
• SingleGrainRigidBodyMotionAdds rigid mody motion to a single grain
• SoretDiffusionAdd Soret effect to Split formulation Cahn-Hilliard Kernel
• SplitCHMathSimple demonstration split formulation Cahn-Hilliard Kernel using an algebraic double-well potential
• SplitCHParsedSplit formulation Cahn-Hilliard Kernel that uses a DerivativeMaterial Free Energy
• SplitCHWResSplit formulation Cahn-Hilliard Kernel for the chemical potential variable with a scalar (isotropic) mobility
• SplitCHWResAnisoSplit formulation Cahn-Hilliard Kernel for the chemical potential variable with a tensor (anisotropic) mobility
• SusceptibilityTimeDerivativeA modified time derivative Kernel that multiplies the time derivative of a variable by a generalized susceptibility
• SwitchingFunctionConstraintEtaLagrange multiplier kernel to constrain the sum of all switching functions in a multiphase system. This kernel acts on a non-conserved order parameter eta_i.
• SwitchingFunctionConstraintLagrangeLagrange multiplier kernel to constrain the sum of all switching functions in a multiphase system. This kernel acts on the lagrange multiplier variable.
• SwitchingFunctionPenaltyPenalty kernel to constrain the sum of all switching functions in a multiphase system.
• CHPFCRFFSplitKernel
• HHPFCRFFSplitKernel
• PFCRFFKernel
• PolycrystalElasticDrivingForce
• PolycrystalKernel
• PolycrystalStoredEnergy
• RigidBodyMultiKernel
• Misc App
• CoefDiffusionKernel for diffusion with diffusivity = coef + function
• ThermoDiffusionKernel for thermo-diffusion (Soret effect, thermophoresis, etc.)
• Navier Stokes Test App
• AdvectionThis class solves the scalar advection equation, with SUPG stabilization.
• Level Set App
• LevelSetAdvectionImplements the level set advection equation: , where the weak form is .
• LevelSetAdvectionSUPGSUPG stablization term for the advection portion of the level set equation.
• LevelSetForcingFunctionSUPGThe SUPG stablization term for a forcing function.
• LevelSetOlssonReinitializationThe re-initialization equation defined by Olsson et. al. (2007).
• LevelSetTimeDerivativeSUPGSUPG stablization terms for the time derivative of the level set equation.
• Solid Mechanics App
• HomogenizationKernel
• OutOfPlaneStress
• SolidMechImplicitEuler
• StressDivergence
• StressDivergenceRSpherical
• StressDivergenceRZ
• XFEMApp
• CrackTipEnrichmentStressDivergenceTensorsEnrich stress divergence kernel for small-strain simulations
• Heat Conduction App
• AnisoHeatConduction
• HeatCapacityConductionTimeDerivativeTime derivative term of the heat equation with the heat capacity as an argument.
• HeatConductionComputes residual/Jacobian contribution for term.
• HeatConductionTimeDerivativeTime derivative term of the heat equation for quasi-constant specific heat and the density .
• HeatSourceDemonstrates the multiple ways that scalar values can be introduced into kernels, e.g. (controllable) constants, functions, and postprocessors. Implements the weak form .
• HomogenizedHeatConduction
• JouleHeatingSourceDemonstrates the multiple ways that scalar values can be introduced into kernels, e.g. (controllable) constants, functions, and postprocessors. Implements the weak form .
• SpecificHeatConductionTimeDerivativeTime derivative term of the heat equation with the specific heat and the density as arguments.
• Richards App
• DarcyFluxDarcy flux. nabla_i (k_ij/mu (nabla_j P - w_j)), where k_ij is the permeability tensor, mu is the fluid viscosity, P is the fluid pressure, and w_j is the fluid weight
• PoroFullSatTimeDerivativeKernel = biot_coefficient*d(volumetric_strain)/dt + (1/biot_modulus)*d(porepressure)/dt. This is the time-derivative for poromechanics for a single-phase, fully-saturated fluid with constant bulk modulus
• Q2PNegativeNodalMassOld- fluid_mass
• Q2PNodalMassFluid mass lumped to the nodes divided by dt
• Q2PPorepressureFluxFlux according to Darcy-Richards flow. The Variable for this Kernel should be the porepressure.
• Q2PSaturationDiffusionDiffusion part of the Flux according to Darcy-Richards flow. The Variable of this Kernel must be the saturation.
• Q2PSaturationFluxFlux according to Darcy-Richards flow. The Variable of this Kernel must be the saturation
• RichardsFlux
• RichardsFullyUpwindFlux
• RichardsLumpedMassChange
• RichardsMassChangeThe time derivative operator with the weak form of .
• RichardsPPenaltyThis adds a term to the residual that attempts to enforce variable > lower_var. The term is a*(lower - variable) for variable
• Tensor Mechanics App
• CosseratStressDivergenceTensorsStress divergence kernel for the Cartesian coordinate system
• DynamicStressDivergenceTensorsResidual due to stress related Rayleigh damping and HHT time integration terms
• GeneralizedPlaneStrainOffDiagGeneralized Plane Strain kernel to provide contribution of the out-of-plane strain to other kernels
• GravityApply gravity. Value is in units of acceleration.
• InertialForceCalculates the residual for the interial force () and the contribution of mass dependent Rayleigh damping and HHT time integration scheme ($\eta \cdot M \cdot ((1+\alpha)velq2-\alpha \cdot vel-old)$)
• InertialForceBeamCalculates the residual for the interial force/moment and the contribution of mass dependent Rayleigh damping and HHT time integration scheme.
• InertialTorqueKernel for interial torque: density * displacement x acceleration
• MomentBalancing
• OutOfPlanePressureApply pressure in the out-of-plane direction in 2D plane stress or generalized plane strain models
• PhaseFieldFractureMechanicsOffDiagStress divergence kernel for phase-field fracture: Computes off diagonal damage dependent Jacobian components. To be used with StressDivergenceTensors or DynamicStressDivergenceTensors.
• PlasticHeatEnergyPlastic heat energy density = coeff * stress * plastic_strain_rate
• PoroMechanicsCouplingAdds , where the subscript is the component.
• StressDivergenceBeamQuasi-static and dynamic stress divergence kernel for Beam element
• StressDivergenceRSphericalTensorsCalculate stress divergence for an spherically symmetric 1D problem in polar coordinates.
• StressDivergenceRZTensorsCalculate stress divergence for an axisymmetric problem in cylinderical coordinates.
• StressDivergenceTensorsStress divergence kernel for the Cartesian coordinate system
• StressDivergenceTensorsTrussKernel for truss element
• WeakPlaneStressPlane stress kernel to provide out-of-plane strain contribution
• DynamicTensorMechanics
• PoroMechanics
• TensorMechanics
• Porous Flow App
• PorousFlowAdvectiveFluxFully-upwinded advective flux of the component given by fluid_component
• PorousFlowBasicAdvectionAdvective flux of a Variable using the Darcy velocity of the fluid phase
• PorousFlowDesorpedMassTimeDerivativeDesorped component mass derivative wrt time.
• PorousFlowDesorpedMassVolumetricExpansionDesorped_mass * rate_of_solid_volumetric_expansion
• PorousFlowDispersiveFluxDispersive and diffusive flux of the component given by fluid_component in all phases
• PorousFlowEffectiveStressCouplingAdds , where the subscript is the component.
• PorousFlowEnergyTimeDerivativeDerivative of heat-energy-density wrt time
• PorousFlowExponentialDecayResidual = rate * (variable - reference). Useful for modelling exponential decay of a variable
• PorousFlowFullySaturatedDarcyBaseDarcy flux suitable for models involving a fully-saturated, single phase, single component fluid. No upwinding is used
• PorousFlowFullySaturatedDarcyFlowDarcy flux suitable for models involving a fully-saturated single phase, multi-component fluid. No upwinding is used
• PorousFlowFullySaturatedHeatAdvectionHeat flux that arises from the advection of a fully-saturated single phase fluid. No upwinding is used
• PorousFlowFullySaturatedMassTimeDerivativeFully-saturated version of the single-component, single-phase fluid mass derivative wrt time
• PorousFlowHeatAdvectionFully-upwinded heat flux, advected by the fluid
• PorousFlowHeatConductionHeat conduction in the Porous Flow module
• PorousFlowHeatVolumetricExpansionEnergy-density*rate_of_solid_volumetric_expansion
• PorousFlowMassRadioactiveDecayRadioactive decay of a fluid component
• PorousFlowMassTimeDerivativeComponent mass derivative wrt time for component given by fluid_component
• PorousFlowMassVolumetricExpansionComponent_mass*rate_of_solid_volumetric_expansion
• PorousFlowPlasticHeatEnergyPlastic heat energy density source = (1 - porosity) * coeff * stress * plastic_strain_rate
• PorousFlowPreDisPrecipitation-dissolution of chemical species
• Navier Stokes App
• DistributedForce
• DistributedPower
• INSChorinCorrectorThis class computes the 'Chorin' Corrector equation in fully-discrete (both time and space) form.
• INSChorinPredictorThis class computes the 'Chorin' Predictor equation in fully-discrete (both time and space) form.
• INSChorinPressurePoissonThis class computes the pressure Poisson solve which is part of the 'split' scheme used for solving the incompressible Navier-Stokes equations.
• INSCompressibilityPenaltyThe penalty term may be used when Dirichlet boundary condition is applied to the entire boundary.
• INSMassThis class computes the mass equation residual and Jacobian contributions for the incompressible Navier-Stokes momentum equation.
• INSMassRZThis class computes the mass equation residual and Jacobian contributions for the incompressible Navier-Stokes momentum equation in RZ coordinates.
• INSMomentumLaplaceFormThis class computes momentum equation residual and Jacobian viscous contributions for the 'Laplacian' form of the governing equations.
• INSMomentumLaplaceFormRZThis class computes additional momentum equation residual and Jacobian contributions for the incompressible Navier-Stokes momentum equation in RZ (axisymmetric cylindrical) coordinates, using the 'Laplace' form of the governing equations.
• INSMomentumTimeDerivativeThis class computes the time derivative for the incompressible Navier-Stokes momentum equation.
• INSMomentumTractionFormThis class computes momentum equation residual and Jacobian viscous contributions for the 'traction' form of the governing equations.
• INSMomentumTractionFormRZThis class computes additional momentum equation residual and Jacobian contributions for the incompressible Navier-Stokes momentum equation in RZ (axisymmetric cylindrical) coordinates.
• INSPressurePoissonThis class computes the pressure Poisson solve which is part of the 'split' scheme used for solving the incompressible Navier-Stokes equations.
• INSProjectionThis class computes the 'projection' part of the 'split' method for solving incompressible Navier-Stokes.
• INSSplitMomentumThis class computes the 'split' momentum equation residual.
• INSTemperatureThis class computes the residual and Jacobian contributions for the incompressible Navier-Stokes temperature (energy) equation.
• INSTemperatureTimeDerivativeThis class computes the time derivative for the incompressible Navier-Stokes momentum equation.
• MassConvectiveFlux
• MomentumConvectiveFlux
• NSEnergyInviscidFluxThis class computes the inviscid part of the energy flux.
• NSEnergyThermalFluxThis class is responsible for computing residuals and Jacobian terms for the k * grad(T) * grad(phi) term in the Navier-Stokes energy equation.
• NSEnergyViscousFluxViscous flux terms in energy equation.
• NSGravityForceThis class computes the gravity force contribution.
• NSGravityPowerThis class computes the momentum contributed by gravity.
• NSMassInviscidFluxThis class computes the inviscid flux in the mass equation.
• NSMomentumInviscidFluxThe inviscid flux (convective + pressure terms) for the momentum conservation equations.
• NSMomentumInviscidFluxWithGradPThis class computes the inviscid flux with pressure gradient in the momentum equation.
• NSMomentumViscousFluxDerived instance of the NSViscousFluxBase class for the momentum equations.
• NSSUPGEnergyCompute residual and Jacobian terms form the SUPG terms in the energy equation.
• NSSUPGMassCompute residual and Jacobian terms form the SUPG terms in the mass equation.
• NSSUPGMomentumCompute residual and Jacobian terms form the SUPG terms in the momentum equation.
• NSTemperatureL2This class was originally used to solve for the temperature using an L2-projection.
• TotalEnergyConvectiveFlux
• Fluid Properties Test App
• NaNInterfaceTestKernelKernel to test NaNInterface using NaNInterfaceTestFluidProperties
• Chemical Reactions App
• CoupledBEEquilibriumSubDerivative of equilibrium species concentration wrt time
• CoupledBEKineticDerivative of kinetic species concentration wrt time
• CoupledConvectionReactionSubConvection of equilibrium species
• CoupledDiffusionReactionSubDiffusion of equilibrium species
• DarcyFluxPressure
• DesorptionFromMatrixMass flow rate from the matrix to the porespace. Add this to TimeDerivative kernel to get complete DE for the fluid adsorbed in the matrix
• DesorptionToPorespaceMass flow rate to the porespace from the matrix. Add this to the other kernels for the porepressure variable to form the complete DE
• PrimaryConvectionConvection of primary species
• PrimaryDiffusionDiffusion of primary species
• PrimaryTimeDerivativeDerivative of primary species concentration wrt time
• Misc Test App
• Convection

## References

1. T. J. R. Hughes, L. P. Franca, and G. M. Hullbert. A new finite element formulation for computational fluid dynamics: VIII. The Galerkin/least--squares method advective–diffusive equations. Computer Methods in Applied Mechanics and Engineering, 73:173–189, 1989.[BibTeX]
2. T. J. R. Hughes and M. Mallet. A new finite element formulation for computational fluid dynamics: II. Beyond SUPG. Computer Methods in Applied Mechanics and Engineering, 54:341–355, 1986.[BibTeX]
3. C. Min. On reinitializing level set functions. Journal of Computational Physics, 229(8):2764–2772, April 2010. URL: http://dx.doi.org/10.1016/j.jcp.2009.12.032.[BibTeX]
4. F. Shakib, T. J. R. Hughes, and Z. Johan. A new finite element formulation for computational fluid dynamics: X. The compressible Euler and Navier–Stokes equations. Computer Methods in Applied Mechanics and Engineering, 89:141–219, 1991.[BibTeX]