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 "Action.h" 13 : 14 : /** 15 : * Input parameters common to all block-restricted NEML2Actions 16 : * 17 : * For example, in the input file, we could have 18 : * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 19 : * [NEML2] 20 : * a = 1 21 : * b = 2 22 : * c = 3 23 : * [block1] 24 : * d = 4 25 : * e = 5 26 : * block = 1 27 : * [] 28 : * [block2] 29 : * d = 6 30 : * e = 7 31 : * block = 2 32 : * [] 33 : * [block3] 34 : * d = 8 35 : * e = 9 36 : * block = 3 37 : * [] 38 : * [] 39 : * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 40 : * 41 : * This object defines input parameters a, b, and c, which will be applied to each of the 42 : * block-restricted NEML2Action: block1, block2, and block3. 43 : */ 44 : class NEML2ActionCommon : public Action 45 : { 46 : public: 47 : /// Parameters that can be specified EITHER under the common area OR under sub-blocks 48 : static InputParameters commonParams(); 49 : 50 : /// Parameters that can ONLY be specified under the common area 51 : static InputParameters validParams(); 52 : 53 : NEML2ActionCommon(const InputParameters &); 54 : 55 18 : virtual void act() override {} 56 : };