https://mooseframework.inl.gov
LinearFVAnisotropicDiffusion.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
10 #pragma once
11 
12 #include "LinearFVFluxKernel.h"
13 
19 {
20 public:
22 
28 
29  virtual void initialSetup() override;
30 
31  virtual Real computeElemMatrixContribution() override;
32 
33  virtual Real computeNeighborMatrixContribution() override;
34 
35  virtual Real computeElemRightHandSideContribution() override;
36 
38 
40 
42 
43 protected:
51 
59 
62 
65 
69 
72 
75 };
Base class for boundary conditions for linear FV systems.
const Moose::Functor< RealVectorValue > & _diffusion_tensor
The functor for the diagonal diffusion tensor (diagonal entries arranged in a vector) ...
virtual Real computeElemMatrixContribution() override
Computes the system matrix contribution from an element side on an internal face. ...
Finite volume kernel that contributes approximations of discretized face flux terms to the matrix and...
This is a wrapper that forwards calls to the implementation, which can be switched out at any time wi...
Kernel that adds contributions from an anisotropic diffusion term discretized using the finite volume...
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system...
virtual Real computeBoundaryMatrixContribution(const LinearFVBoundaryCondition &bc) override
Computes the matrix contribution from a boundary face.
LinearFVAnisotropicDiffusion(const InputParameters &params)
Class constructor.
virtual Real computeNeighborRightHandSideContribution() override
Computes the right hand side contribution from the neighbor side on an internal face.
virtual Real computeElemRightHandSideContribution() override
Computes the right hand side contribution from the element side on an internal face.
virtual Real computeNeighborMatrixContribution() override
Computes the system matrix contribution from the neighbor side on an internal face.
const bool _use_nonorthogonal_correction_on_boundary
Switch to enable/disable nonorthogonal correction on boundary, this is mostly used to disable boundar...
const bool _use_nonorthogonal_correction
Switch to enable/disable nonorthogonal correction.
virtual Real computeBoundaryRHSContribution(const LinearFVBoundaryCondition &bc) override
Computes the right hand side contribution from a boundary face.
Real _flux_matrix_contribution
The cached matrix contribution.
virtual void initialSetup() override
Gets called at the beginning of the simulation before this object is asked to do its job...
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
Real computeFluxMatrixContribution()
Computes the matrix contribution from the diffusive face flux.
Real _flux_rhs_contribution
The cached right hand side contribution.
Real computeFluxRHSContribution()
Computes the right hand side contribution from the diffusive face flux.