www.mooseframework.org
PorousFlowAddMaterialAction.h
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
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 
16 class AddMaterialAction;
17 
18 template <>
20 
37 {
38 
39 public:
40  PorousFlowAddMaterialAction(const InputParameters & params);
41 
42  virtual void act() override;
43 
44 protected:
49  void createDependencyList();
50 
56  bool isPFMaterialRequired(std::string pf_material_type, bool at_nodes);
57 
65  bool isPFMaterialPresent(AddMaterialAction * material, bool at_nodes);
66 
72  void addPFMaterial(AddMaterialAction * material, bool at_nodes);
73 
75  std::string _dictator_name;
77  std::set<std::string> _dependency_list;
79  std::vector<AddMaterialAction *> _ama_materials;
80 };
81 
PorousFlowAddMaterialAction::PorousFlowAddMaterialAction
PorousFlowAddMaterialAction(const InputParameters &params)
Definition: PorousFlowAddMaterialAction.C:36
PorousFlowAddMaterialAction::_dependency_list
std::set< std::string > _dependency_list
List of kernels, actions etc that may depend on PorousFlow materials.
Definition: PorousFlowAddMaterialAction.h:77
PorousFlowAddMaterialAction::_dictator_name
std::string _dictator_name
Name of the PorousFlowDictator.
Definition: PorousFlowAddMaterialAction.h:75
PorousFlowDependencies
Holds the PorousFlow dependencies of kernels, auxkernels, materials, etc.
Definition: PorousFlowDependencies.h:28
PorousFlowAddMaterialAction::_ama_materials
std::vector< AddMaterialAction * > _ama_materials
List of all materials added in the input file by AddMaterialAction.
Definition: PorousFlowAddMaterialAction.h:79
PorousFlowAddMaterialAction::createDependencyList
void createDependencyList()
Creates a set of all actions, kernels, etc to check material dependency against in order to determine...
Definition: PorousFlowAddMaterialAction.C:111
PorousFlowAddMaterialAction::isPFMaterialRequired
bool isPFMaterialRequired(std::string pf_material_type, bool at_nodes)
Check to see if the material with a given at_nodes parameter is required.
Definition: PorousFlowAddMaterialAction.C:150
PorousFlowDependencies.h
PorousFlowAddMaterialAction::act
virtual void act() override
Definition: PorousFlowAddMaterialAction.C:42
PorousFlowAddMaterialAction
Action to automatically ensure that PorousFlowMaterials are correctly evaluated at either the qps,...
Definition: PorousFlowAddMaterialAction.h:36
validParams< PorousFlowAddMaterialAction >
InputParameters validParams< PorousFlowAddMaterialAction >()
Definition: PorousFlowAddMaterialAction.C:28
PorousFlowAddMaterialAction::isPFMaterialPresent
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...
Definition: PorousFlowAddMaterialAction.C:167
PorousFlowAddMaterialAction::addPFMaterial
void addPFMaterial(AddMaterialAction *material, bool at_nodes)
Adds the material for the given at_nodes parameter.
Definition: PorousFlowAddMaterialAction.C:211