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 : #include "VariableMappingBase.h" 11 : 12 : InputParameters 13 7502 : VariableMappingBase::validParams() 14 : { 15 7502 : InputParameters params = MooseObject::validParams(); 16 7502 : params += RestartableModelInterface::validParams(); 17 7502 : params.addClassDescription("Base class for mapping objects."); 18 7502 : params.registerBase("VariableMappingBase"); 19 7502 : params.registerSystemAttributeName("VariableMappingBase"); 20 15004 : params.addParam<std::vector<VariableName>>("variables", 21 : "The names of the variables which need a mapping."); 22 7502 : return params; 23 0 : } 24 : 25 187 : VariableMappingBase::VariableMappingBase(const InputParameters & parameters) 26 : : MooseObject(parameters), 27 187 : RestartableModelInterface(*this, /*read_only=*/false, _type + "_" + name()), 28 561 : _variable_names(isParamValid("filename") 29 374 : ? getModelData<std::vector<VariableName>>("variables") 30 583 : : declareModelData<std::vector<VariableName>>( 31 : "variables", getParam<std::vector<VariableName>>("variables"))), 32 935 : _mapping_ready_to_use(declareModelData<std::map<VariableName, bool>>("mapping_ready_to_use")) 33 : { 34 187 : } 35 : 36 : void 37 825 : VariableMappingBase::checkIfReadyToUse(const VariableName & libmesh_dbg_var(vname)) const 38 : { 39 : mooseAssert(_mapping_ready_to_use.find(vname) != _mapping_ready_to_use.end() && 40 : _mapping_ready_to_use[vname], 41 : "The mapping for variable " + vname + "is not ready to use!"); 42 825 : }