void PorousFlowActionBase::addTemperatureMaterial(bool at_nodes) { if (_current_task == "add_material") { if (!parameters().hasDefaultCoupledValue("temperature")) mooseError( "Attempt to add a PorousFlowTemperature material without setting a temperature variable"); std::string material_type = "PorousFlowTemperature"; InputParameters params = _factory.getValidParams(material_type); params.applySpecificParameters(parameters(), {"temperature"}); params.set<UserObjectName>("PorousFlowDictator") = _dictator_name; std::string material_name = "PorousFlowActionBase_Temperature_qp"; if (at_nodes) material_name = "PorousFlowActionBase_Temperature"; params.set<bool>("at_nodes") = at_nodes; _problem->addMaterial(material_type, material_name, params); } }
void PorousFlowActionBase::addMassFractionMaterial(bool at_nodes) { if (_current_task == "add_material") { if (!(parameters().hasDefaultCoupledValue("mass_fraction_vars") || parameters().hasCoupledValue("mass_fraction_vars"))) mooseError("Attempt to add a PorousFlowMassFraction material without setting the " "mass_fraction_vars"); std::string material_type = "PorousFlowMassFraction"; InputParameters params = _factory.getValidParams(material_type); params.applySpecificParameters(parameters(), {"mass_fraction_vars"}); params.set<UserObjectName>("PorousFlowDictator") = _dictator_name; std::string material_name = "PorousFlowActionBase_MassFraction_qp"; if (at_nodes) material_name = "PorousFlowActionBase_MassFraction"; params.set<bool>("at_nodes") = at_nodes; _problem->addMaterial(material_type, material_name, params); } }