https://mooseframework.inl.gov
Loading...
Searching...
No Matches
NeighborCoupleableMooseVariableDependencyIntermediateInterface.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 "NeighborCoupleable.h"
13#include "ScalarCoupleable.h"
16#include "InputParameters.h"
17
23 : public NeighborCoupleable,
24 public ScalarCoupleable,
26{
27public:
29
31 bool nodal,
32 bool neighbor_nodal,
33 bool is_fv = false)
34 : NeighborCoupleable(moose_object, nodal, neighbor_nodal, is_fv),
35 ScalarCoupleable(moose_object),
37 {
38 for (MooseVariableFEBase * coupled_var : getCoupledMooseVars())
39 addMooseVariableDependency(coupled_var);
40 }
41};
InputParameters emptyInputParameters()
const std::vector< MooseVariableFieldBase * > & getCoupledMooseVars() const
Get the list of all coupled variables.
Definition Coupleable.h:84
The main MOOSE class responsible for handling user-defined parameters in almost every MOOSE system.
Every object that can be built by the factory should be derived from this class.
Definition MooseObject.h:31
void addMooseVariableDependency(MooseVariableFieldBase *var)
Call this function to add the passed in MooseVariableFieldBase as a variable that this object depends...
This class provides an interface for common operations on field variables of both FE and FV types wit...
Intermediate base class that ties together all the interfaces for getting MooseVariables with the Moo...
NeighborCoupleableMooseVariableDependencyIntermediateInterface(const MooseObject *moose_object, bool nodal, bool neighbor_nodal, bool is_fv=false)
Enhances Coupleable interface to also couple the values from neighbor elements.
Interface for objects that needs scalar coupling capabilities.