https://mooseframework.inl.gov
PorousFlowAddMaterialAction.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 "Action.h"
13 #include "PorousFlowDependencies.h"
14 
15 class AddMaterialAction;
16 
33 {
34 
35 public:
37 
39 
40  virtual void act() override;
41 
42 protected:
47  void createDependencyList();
48 
54  bool isPFMaterialRequired(std::string pf_material_type, bool at_nodes);
55 
63  bool isPFMaterialPresent(AddMaterialAction * material, bool at_nodes);
64 
70  void addPFMaterial(AddMaterialAction * material, bool at_nodes);
71 
73  std::string _dictator_name;
75  std::set<std::string> _dependency_list;
77  std::vector<AddMaterialAction *> _ama_materials;
78 };
bool isPFMaterialPresent(AddMaterialAction *material, bool at_nodes)
Check to see if the material with a given at_nodes parameter has already been included in the input f...
void addPFMaterial(AddMaterialAction *material, bool at_nodes)
Adds the material for the given at_nodes parameter.
PorousFlowAddMaterialAction(const InputParameters &params)
std::string _dictator_name
Name of the PorousFlowDictator.
bool isPFMaterialRequired(std::string pf_material_type, bool at_nodes)
Check to see if the material with a given at_nodes parameter is required.
static InputParameters validParams()
std::set< std::string > _dependency_list
List of kernels, actions etc that may depend on PorousFlow materials.
Holds the PorousFlow dependencies of kernels, auxkernels, materials, etc.
Action to automatically ensure that PorousFlowMaterials are correctly evaluated at either the qps...
std::vector< AddMaterialAction * > _ama_materials
List of all materials added in the input file by AddMaterialAction.
void createDependencyList()
Creates a set of all actions, kernels, etc to check material dependency against in order to determine...