https://mooseframework.inl.gov
ParallelElectricFieldInterface.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 {
18  params.addClassDescription("VectorInterfaceKernel that implements the condition "
19  "$\\vec{E}_{1}^{\\parallel} - \\vec{E}_{2}^{\\parallel} = 0$");
20  return params;
21 }
22 
24  : VectorInterfaceKernel(parameters)
25 {
26 }
27 
28 Real
30 {
31  _u_parallel = -_normals[_qp].cross(_normals[_qp].cross(_u[_qp]));
33 
34  Real res = 0;
35 
36  switch (type)
37  {
38  case Moose::Element:
40  break;
41 
42  case Moose::Neighbor:
44  break;
45  }
46 
47  return res;
48 }
49 
50 Real
52 {
53  _phi_u_parallel = -_normals[_qp].cross(_normals[_qp].cross(_phi[_j][_qp]));
55 
56  Real jac = 0;
57 
58  switch (type)
59  {
61  jac = _test[_i][_qp] * _phi_u_parallel;
62  break;
63 
66  break;
67 
70  break;
71 
74  break;
75  }
76 
77  return jac;
78 }
VectorInterfaceKernel that enforces the equivalence of the parallel vector field components on either...
NeighborElement
const TemplateVariableValue & _neighbor_value
virtual Real computeQpJacobian(Moose::DGJacobianType type) override
const TemplateVariableValue & _u
const MooseArray< Point > & _normals
RealVectorValue _phi_secondary_parallel
Parallel component of the test function on the secondary side of the boundary.
const TemplateVariablePhiValue & _phi
RealVectorValue _phi_u_parallel
Parallel component of the test function on the primary side of the boundary.
DGResidualType
ElementElement
ParallelElectricFieldInterface(const InputParameters &parameters)
ElementNeighbor
RealVectorValue _secondary_parallel
Parallel component of the solution vector field on the secondary side of the boundary.
const std::string & type() const
const TemplateVariableTestValue & _test
DGJacobianType
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
virtual Real computeQpResidual(Moose::DGResidualType type) override
void addClassDescription(const std::string &doc_string)
RealVectorValue _u_parallel
Parallel component of the solution vector field on the primary side of the boundary.
registerMooseObject("ElectromagneticsApp", ParallelElectricFieldInterface)
const TemplateVariableTestValue & _test_neighbor
NeighborNeighbor
const TemplateVariablePhiValue & _phi_neighbor
static InputParameters validParams()