www.mooseframework.org
TestBoundaryFlux.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 #include "TestBoundaryFlux.h"
11 
13 
14 template <>
15 InputParameters
17 {
18  InputParameters params = validParams<BoundaryFluxBase>();
19  params.addClassDescription("Boundary flux used for testing");
20  return params;
21 }
22 
23 TestBoundaryFlux::TestBoundaryFlux(const InputParameters & parameters)
24  : BoundaryFluxBase(parameters)
25 {
26 }
27 
28 void
29 TestBoundaryFlux::calcFlux(unsigned int /*iside*/,
30  dof_id_type /*ielem*/,
31  const std::vector<Real> & solution,
32  const RealVectorValue & normal,
33  std::vector<Real> & flux) const
34 {
35  mooseAssert(solution.size() == 3, "Solution vector must have exactly 3 entries.");
36 
37  const Real & A = solution[0];
38  const Real & B = solution[1];
39  const Real & C = solution[2];
40 
41  flux.resize(2);
42  flux[0] = (A - B) * C * normal(0);
43  flux[1] = A * B * normal(0);
44 }
45 
46 void
47 TestBoundaryFlux::calcJacobian(unsigned int /*iside*/,
48  dof_id_type /*ielem*/,
49  const std::vector<Real> & /*uvec*/,
50  const RealVectorValue & /*dwave*/,
51  DenseMatrix<Real> & /*jac1*/) const
52 {
53  mooseError("Not implemented.");
54 }
TestBoundaryFlux.h
registerMooseObject
registerMooseObject("RdgTestApp", TestBoundaryFlux)
BoundaryFluxBase
A base class for computing/caching fluxes at boundaries.
Definition: BoundaryFluxBase.h:30
validParams< TestBoundaryFlux >
InputParameters validParams< TestBoundaryFlux >()
Definition: TestBoundaryFlux.C:16
TestBoundaryFlux::TestBoundaryFlux
TestBoundaryFlux(const InputParameters &parameters)
Definition: TestBoundaryFlux.C:23
TestBoundaryFlux::calcFlux
virtual void calcFlux(unsigned int iside, dof_id_type ielem, const std::vector< Real > &uvec1, const RealVectorValue &dwave, std::vector< Real > &flux) const override
Solve the Riemann problem on the boundary face.
Definition: TestBoundaryFlux.C:29
validParams< BoundaryFluxBase >
InputParameters validParams< BoundaryFluxBase >()
Definition: BoundaryFluxBase.C:14
TestBoundaryFlux
Boundary flux used for testing.
Definition: TestBoundaryFlux.h:22
TestBoundaryFlux::calcJacobian
virtual void calcJacobian(unsigned int iside, dof_id_type ielem, const std::vector< Real > &uvec1, const RealVectorValue &dwave, DenseMatrix< Real > &jac1) const override
Compute the Jacobian matrix on the boundary face.
Definition: TestBoundaryFlux.C:47