Line data Source code
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 "DependencyResolver.h" 13 : 14 : /** 15 : * Holds the PorousFlow dependencies of kernels, auxkernels, materials, etc. 16 : * For instance the Kernel PorousFlowAdvectiveFlux depends on the Kernel 17 : * PorousFlowDarcyBase, and the Materials PorousFlowMassFraction (nodal version) 18 : * and PorousFlowRelativePermeability (the nodal version). 19 : * 20 : * The main purpose of this class is to enable Actions to easily determine 21 : * which Materials they should add, given that they have to add certain Kernels 22 : * and AuxKernels. 23 : * 24 : * It is envisaged that as more Kernels, etc, are added to PorousFlow, then the 25 : * dependencies constained in this class will be updated to enable Actions 26 : * to work efficiently 27 : */ 28 0 : class PorousFlowDependencies 29 : { 30 : public: 31 : PorousFlowDependencies(); 32 : 33 : protected: 34 : /** 35 : * All dependencies of kernels, auxkernels, materials, etc, are stored in _dependencies 36 : */ 37 : DependencyResolver<std::string> _deps; 38 : };