https://mooseframework.inl.gov
Loading...
Searching...
No Matches
InterfaceDiffusionFluxMatch.C
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
11
13
16{
19 "Enforce flux continuity between two different variables across a subdomain boundary");
20 return params;
21}
22
27
28Real
30{
31 // equal gradients means difference is zero
32 Real res =
34
35 switch (type)
36 {
37 case Moose::Element:
38 return res * _test[_i][_qp];
39
40 case Moose::Neighbor:
41 return res * _test_neighbor[_i][_qp];
42 }
43
44 mooseError("Internal error.");
45}
46
47Real
registerMooseObject("PhaseFieldApp", InterfaceDiffusionFluxMatch)
void addClassDescription(const std::string &doc_string)
Base class for Diffusion equation terms coupling two different variables across a subdomain boundary.
static InputParameters validParams()
const Real _D_neighbor
neighbor diffusion coefficient
const Real _D
diffusion coefficient
Enforce gradient continuity between two different variables across a subdomain boundary.
virtual Real computeQpJacobian(Moose::DGJacobianType type) override
InterfaceDiffusionFluxMatch(const InputParameters &parameters)
virtual Real computeQpResidual(Moose::DGResidualType type) override
const TemplateVariablePhiGradient & _grad_phi_neighbor
const TemplateVariableGradient & _grad_u
const TemplateVariablePhiGradient & _grad_phi
const TemplateVariableGradient & _grad_neighbor_value
const TemplateVariableTestValue & _test_neighbor
const MooseArray< Point > & _normals
const TemplateVariableTestValue & _test
const std::string & type() const
void mooseError(Args &&... args) const
DGResidualType
DGJacobianType
NeighborNeighbor
ElementElement
NeighborElement
ElementNeighbor