https://mooseframework.inl.gov
Loading...
Searching...
No Matches
InterfaceUserObjectBase.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#include "SubProblem.h"
12#include "MooseTypes.h"
13#include "Assembly.h"
14
15#include "libmesh/remote_elem.h"
16
19{
24 params.addClassDescription("Basic UO class to perform computation across an interface");
25
26 // Need one layer of ghosting
27 params.addRelationshipManager("ElementSideNeighborLayers",
30 return params;
31}
32
34 : UserObject(parameters),
35 BoundaryRestrictableRequired(this, false), // false for applying to sidesets
36 TwoMaterialPropertyInterface(this, Moose::EMPTY_BLOCK_IDS, boundaryIDs()),
40 _mesh(_subproblem.mesh()),
41 _q_point(_assembly.qPointsFace()),
42 _qrule(_assembly.qRuleFace()),
43 _JxW(_assembly.JxWFace()),
44 _coord(_assembly.coordTransformation()),
45 _normals(_assembly.normals()),
46 _current_elem(_assembly.elem()),
47 _current_elem_volume(_assembly.elemVolume()),
48 _current_side(_assembly.side()),
49 _current_side_elem(_assembly.sideElem()),
50 _current_side_volume(_assembly.sideElemVolume()),
51 _neighbor_elem(_assembly.neighbor()),
52 _current_neighbor_volume(_assembly.neighborVolume())
53{
54}
A class for requiring an object to be boundary restricted.
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
void addRelationshipManager(const std::string &name, Moose::RelationshipManagerType rm_type, Moose::RelationshipManagerInputParameterCallback input_parameter_callback=nullptr)
Tells MOOSE about a RelationshipManager that this object needs.
void addClassDescription(const std::string &doc_string)
This method adds a description of the class that will be displayed in the input file syntax dump.
static InputParameters validParams()
InterfaceUserObjectBase(const InputParameters &parameters)
Intermediate base class that ties together all the interfaces for getting MooseVariables with the Moo...
Interface for objects that needs transient capabilities.
static InputParameters validParams()
This interface is designed for DGKernel, InternalSideUserObject, InterfaceUserObject,...
Base class for user-specific data.
Definition UserObject.h:20
static InputParameters validParams()
Definition UserObject.C:14
MeshBase & mesh
MOOSE now contains C++17 code, so give a reasonable error message stating what the user can do to add...