void RedbackApp::associateSyntax(Syntax & syntax, ActionFactory & action_factory) { Registry::registerActionsTo(action_factory, {"RedbackApp"}); registerSyntax("RankTwoScalarAction", "RankTwoScalarAction/*"); registerSyntax("RedbackMechAction", "RedbackMechAction/*"); }
void ContactApp::associateSyntax(Syntax & syntax, ActionFactory & action_factory) { registerSyntax("ContactAction", "Contact/*"); registerSyntax("ContactPenetrationAuxAction", "Contact/*"); registerSyntax("ContactPenetrationVarAction", "Contact/*"); registerSyntax("ContactPressureAuxAction", "Contact/*"); registerSyntax("ContactPressureVarAction", "Contact/*"); registerSyntax("NodalAreaAction", "Contact/*"); registerSyntax("NodalAreaVarAction", "Contact/*"); registerAction(ContactAction, "add_aux_kernel"); registerAction(ContactAction, "add_aux_variable"); registerAction(ContactAction, "add_dirac_kernel"); registerTask("output_penetration_info_vars", false); registerAction(ContactAction, "output_penetration_info_vars"); syntax.addDependency("output_penetration_info_vars", "add_output"); registerAction(ContactPenetrationAuxAction, "add_aux_kernel"); registerAction(ContactPenetrationVarAction, "add_aux_variable"); registerAction(ContactPressureAuxAction, "add_aux_kernel"); registerAction(ContactPressureVarAction, "add_aux_variable"); registerAction(NodalAreaAction, "add_user_object"); registerAction(NodalAreaVarAction, "add_aux_variable"); }
void NavierStokesApp::associateSyntax(Syntax & syntax, ActionFactory & action_factory) { #undef registerAction #define registerAction(type, action) \ action_factory.reg<type>(stringifyName(type), action, __FILE__, __LINE__) // Create the syntax registerSyntax("AddNavierStokesVariablesAction", "Modules/NavierStokes/Variables"); registerSyntax("AddNavierStokesICsAction", "Modules/NavierStokes/ICs"); registerSyntax("AddNavierStokesKernelsAction", "Modules/NavierStokes/Kernels"); registerSyntax("AddNavierStokesBCsAction", "Modules/NavierStokes/BCs/*"); // add variables action registerTask("add_navier_stokes_variables", /*is_required=*/false); addTaskDependency("add_navier_stokes_variables", "add_variable"); registerAction(AddNavierStokesVariablesAction, "add_navier_stokes_variables"); // add ICs action registerTask("add_navier_stokes_ics", /*is_required=*/false); addTaskDependency("add_navier_stokes_ics", "add_ic"); registerAction(AddNavierStokesICsAction, "add_navier_stokes_ics"); // add Kernels action registerTask("add_navier_stokes_kernels", /*is_required=*/false); addTaskDependency("add_navier_stokes_kernels", "add_kernel"); registerAction(AddNavierStokesKernelsAction, "add_navier_stokes_kernels"); // add BCs actions registerMooseObjectTask("add_navier_stokes_bcs", NSWeakStagnationInletBC, /*is_required=*/false); appendMooseObjectTask("add_navier_stokes_bcs", NSNoPenetrationBC); appendMooseObjectTask("add_navier_stokes_bcs", NSStaticPressureOutletBC); addTaskDependency("add_navier_stokes_bcs", "add_bc"); registerAction(AddNavierStokesBCsAction, "add_navier_stokes_bcs"); #undef registerAction #define registerAction(type, action) action_factory.regLegacy<type>(stringifyName(type), action) }
void XFEMApp::associateSyntax(Syntax & syntax, ActionFactory & action_factory) { registerTask("setup_xfem", false); registerAction(XFEMAction, "setup_xfem"); syntax.addDependency("setup_xfem", "setup_adaptivity"); registerAction(XFEMAction, "add_aux_variable"); registerAction(XFEMAction, "add_aux_kernel"); registerAction(XFEMAction, "add_variable"); registerAction(XFEMAction, "add_kernel"); registerAction(XFEMAction, "add_bc"); registerSyntax("XFEMAction", "XFEM"); }
void ChemicalReactionsApp::associateSyntax(Syntax & syntax, ActionFactory & action_factory) { Registry::registerActionsTo(action_factory, {"ChemicalReactionsApp"}); registerSyntax("AddPrimarySpeciesAction", "ReactionNetwork/AqueousEquilibriumReactions"); registerSyntax("AddPrimarySpeciesAction", "ReactionNetwork/SolidKineticReactions"); registerSyntax("AddSecondarySpeciesAction", "ReactionNetwork/AqueousEquilibriumReactions"); registerSyntax("AddSecondarySpeciesAction", "ReactionNetwork/SolidKineticReactions"); registerSyntax("AddCoupledEqSpeciesAction", "ReactionNetwork/AqueousEquilibriumReactions"); registerSyntax("AddCoupledSolidKinSpeciesAction", "ReactionNetwork/SolidKineticReactions"); }
void ExampleApp::associateSyntax(Syntax & syntax, ActionFactory & action_factory) { Registry::registerActionsTo(action_factory, {"ExampleApp"}); /** * An Action is a little different than registering the other MOOSE * objects. First, you need to register your Action like normal in its file with * the registerMooseAction macro. - e.g.: * * registerAction("ExampleApp", ConvectionDiffusionAction, "add_kernel"); * * Then we need to tell the parser what new section name to look for and what * Action object to build when it finds it. This is done directly on the syntax * with the registerActionSyntax method. * * The section name should be the "full path" of the parsed section but should NOT * contain a leading slash. Wildcard characters can be used to replace a piece of the * path. */ registerSyntax("ConvectionDiffusionAction", "ConvectionDiffusion"); }
void associateSyntax(Syntax & syntax, ActionFactory & action_factory) { /** * Note: the optional third parameter is used to differentiate which task is * satisfied based on the syntax encountered for classes which are registered * to satisfy more than one task */ registerSyntaxTask("CopyNodalVarsAction", "Variables/*", "check_copy_nodal_vars"); registerSyntaxTask("CopyNodalVarsAction", "Variables/*", "copy_nodal_vars"); registerSyntaxTask("CopyNodalVarsAction", "AuxVariables/*", "check_copy_nodal_vars"); registerSyntaxTask("CopyNodalVarsAction", "AuxVariables/*", "copy_nodal_aux_vars"); registerSyntaxTask("AddKernelAction", "Kernels/*", "add_kernel"); registerSyntaxTask("AddNodalKernelAction", "NodalKernels/*", "add_nodal_kernel"); registerSyntaxTask("AddKernelAction", "AuxKernels/*", "add_aux_kernel"); registerSyntaxTask("AddKernelAction", "Bounds/*", "add_aux_kernel"); registerSyntaxTask("AddScalarKernelAction", "ScalarKernels/*", "add_scalar_kernel"); registerSyntaxTask("AddScalarKernelAction", "AuxScalarKernels/*", "add_aux_scalar_kernel"); registerSyntaxTask("AddBCAction", "BCs/*", "add_bc"); registerSyntax("CreateProblemAction", "Problem"); registerSyntax("DynamicObjectRegistrationAction", "Problem"); registerSyntax("SetupMeshAction", "Mesh"); registerSyntax("SetupMeshCompleteAction", "Mesh"); // registerSyntaxTask("SetupMeshCompleteAction", "Mesh", "prepare_mesh"); // registerSyntaxTask("SetupMeshCompleteAction", "Mesh", "setup_mesh_complete"); registerSyntax("CreateDisplacedProblemAction", "Mesh"); registerSyntax("AddMeshModifierAction", "MeshModifiers/*"); registerSyntax("AddMortarInterfaceAction", "Mesh/MortarInterfaces/*"); registerSyntax("AddFunctionAction", "Functions/*"); syntax.registerSyntaxType("Functions/*", "FunctionName"); registerSyntax("GlobalParamsAction", "GlobalParams"); registerSyntax("AddDistributionAction", "Distributions/*"); registerSyntax("AddSamplerAction", "Samplers/*"); registerSyntax("SetupDebugAction", "Debug"); registerSyntax("SetupResidualDebugAction", "Debug"); /// Variable/AuxVariable Actions registerSyntax("AddVariableAction", "Variables/*"); syntax.registerSyntaxType("Variables/*", "VariableName"); syntax.registerSyntaxType("Variables/*", "NonlinearVariableName"); // syntax.registerActionSyntax("AddVariableAction", "Variables/*", "add_variable"); // syntax.registerActionSyntax("AddVariableAction", "Variables/*", "add_ic"); registerSyntax("AddICAction", "Variables/*/InitialCondition"); registerSyntax("AddAuxVariableAction", "AuxVariables/*"); syntax.registerSyntaxType("AuxVariables/*", "VariableName"); syntax.registerSyntaxType("AuxVariables/*", "AuxVariableName"); // syntax.registerActionSyntax("AddAuxVariableAction", "AuxVariables/*", "add_aux_variable"); // syntax.registerActionSyntax("AddAuxVariableAction", "AuxVariables/*", "add_ic"); registerSyntax("AddICAction", "AuxVariables/*/InitialCondition"); registerSyntaxTask("EmptyAction", "BCs/Periodic", "no_action"); // placeholder registerSyntax("AddPeriodicBCAction", "BCs/Periodic/*"); registerSyntaxTask("AddInitialConditionAction", "ICs/*", "add_ic"); registerSyntax("AddMaterialAction", "Materials/*"); registerSyntax("SetupPostprocessorDataAction", "Postprocessors/*"); registerSyntax("AddPostprocessorAction", "Postprocessors/*"); syntax.registerSyntaxType("Postprocessors/*", "PostprocessorName"); syntax.registerSyntaxType("Postprocessors/*", "UserObjectName"); registerSyntax("AddVectorPostprocessorAction", "VectorPostprocessors/*"); syntax.registerSyntaxType("VectorPostprocessors/*", "VectorPostprocessorName"); registerSyntax("AddDamperAction", "Dampers/*"); registerSyntax("AddOutputAction", "Outputs/*"); registerSyntax("CommonOutputAction", "Outputs"); syntax.registerSyntaxType("Outputs/*", "OutputName"); // Note: Preconditioner Actions will be built by this setup action registerSyntax("SetupPreconditionerAction", "Preconditioning/*"); registerSyntax("AddFieldSplitAction", "Preconditioning/*/*"); registerSyntax("DetermineSystemType", "Executioner"); registerSyntax("CreateExecutionerAction", "Executioner"); registerSyntax("SetupTimeStepperAction", "Executioner/TimeStepper"); registerSyntax("SetupTimeIntegratorAction", "Executioner/TimeIntegrator"); registerSyntax("SetupQuadratureAction", "Executioner/Quadrature"); registerSyntax("SetupPredictorAction", "Executioner/Predictor"); #ifdef LIBMESH_ENABLE_AMR registerSyntax("AdaptivityAction", "Executioner/Adaptivity"); #endif registerSyntax("PartitionerAction", "Mesh/Partitioner"); registerSyntax("AddDiracKernelAction", "DiracKernels/*"); registerSyntax("AddDGKernelAction", "DGKernels/*"); registerSyntax("AddInterfaceKernelAction", "InterfaceKernels/*"); registerSyntax("AddConstraintAction", "Constraints/*"); registerSyntax("AddUserObjectAction", "UserObjects/*"); syntax.registerSyntaxType("UserObjects/*", "UserObjectName"); registerSyntax("AddControlAction", "Controls/*"); registerSyntax("AddBoundsVectorsAction", "Bounds"); registerSyntax("AddNodalNormalsAction", "NodalNormals"); // registerSyntaxTask("AddNodalNormalsAction", "NodalNormals", "add_aux_variable"); // registerSyntaxTask("AddNodalNormalsAction", "NodalNormals", "add_postprocessor"); // registerSyntaxTask("AddNodalNormalsAction", "NodalNormals", "add_user_object"); // Indicator registerSyntax("AddElementalFieldAction", "Adaptivity/Indicators/*"); registerSyntax("AddIndicatorAction", "Adaptivity/Indicators/*"); syntax.registerSyntaxType("Adaptivity/Indicators/*", "IndicatorName"); // Marker registerSyntax("AddElementalFieldAction", "Adaptivity/Markers/*"); registerSyntax("AddMarkerAction", "Adaptivity/Markers/*"); syntax.registerSyntaxType("Adaptivity/Markers/*", "MarkerName"); // New Adaptivity System registerSyntax("SetAdaptivityOptionsAction", "Adaptivity"); // Deprecated Block registerSyntax("DeprecatedBlockAction", "DeprecatedBlock"); // Multi Apps registerSyntax("AddMultiAppAction", "MultiApps/*"); syntax.registerSyntaxType("MultiApps/*", "MultiAppName"); // Transfers registerSyntax("AddTransferAction", "Transfers/*"); // Material derivative test registerSyntaxTask("EmptyAction", "Debug/MaterialDerivativeTest", "no_action"); // placeholder registerSyntax("MaterialDerivativeTestAction", "Debug/MaterialDerivativeTest/*"); addActionTypes(syntax); registerActions(syntax, action_factory); }