Ejemplo n.º 1
0
void
HeatConductionApp::associateSyntax(Syntax & syntax, ActionFactory & action_factory)
{
#undef registerAction
#define registerAction(tplt, action) action_factory.reg<tplt>(stringifyName(tplt), action)

    // This registers an action to add the "slave_flux" vector to the system at the right time
    registerTask("add_slave_flux_vector", false);
    addTaskDependency("add_slave_flux_vector", "ready_to_init");
    addTaskDependency("init_problem", "add_slave_flux_vector");
    registerAction(AddSlaveFluxVectorAction, "add_slave_flux_vector");
    syntax.registerActionSyntax("AddSlaveFluxVectorAction", "ThermalContact/*");


    syntax.registerActionSyntax("ThermalContactAuxBCsAction",       "ThermalContact/*", "add_aux_kernel");
    syntax.registerActionSyntax("ThermalContactAuxVarsAction",      "ThermalContact/*", "add_aux_variable");
    syntax.registerActionSyntax("ThermalContactBCsAction",          "ThermalContact/*", "add_bc");
    syntax.registerActionSyntax("ThermalContactDiracKernelsAction", "ThermalContact/*", "add_dirac_kernel");
    syntax.registerActionSyntax("ThermalContactMaterialsAction",    "ThermalContact/*", "add_material");

    registerAction(ThermalContactAuxBCsAction,       "add_aux_kernel");
    registerAction(ThermalContactAuxVarsAction,      "add_aux_variable");
    registerAction(ThermalContactBCsAction,          "add_bc");
    registerAction(ThermalContactDiracKernelsAction, "add_dirac_kernel");
    registerAction(ThermalContactMaterialsAction,    "add_material");

#undef registerAction
#define registerAction(tplt, action) action_factory.regLegacy<tplt>(stringifyName(tplt), action)
}
Ejemplo n.º 2
0
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)
}