LCOV - code coverage report
Current view: top level - src/parser - THMSyntax.C (source / functions) Hit Total Coverage
Test: idaholab/moose thermal_hydraulics: #30301 (3b550b) with base 2ad78d Lines: 79 82 96.3 %
Date: 2025-07-30 13:02:48 Functions: 2 2 100.0 %
Legend: Lines: hit not hit

          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 "THMSyntax.h"
      11             : #include "ActionFactory.h"
      12             : #include "Syntax.h"
      13             : 
      14             : namespace THM
      15             : {
      16             : 
      17             : void
      18       10691 : associateSyntax(Syntax & syntax)
      19             : {
      20       21382 :   syntax.registerActionSyntax("AddHeatStructureMaterialAction",
      21             :                               "HeatStructureMaterials/*",
      22             :                               "THM:add_heat_structure_material");
      23       21382 :   syntax.registerActionSyntax("THMCreateMeshAction", "Components");
      24       21382 :   syntax.registerActionSyntax("AddComponentAction", "Components/*", "THM:add_component");
      25       21382 :   syntax.registerActionSyntax("AddComponentAction", "Components/*/*", "THM:add_component");
      26       21382 :   syntax.registerActionSyntax("AddClosuresAction", "Closures/*", "THM:add_closures");
      27       21382 :   syntax.registerActionSyntax("THMAddControlAction", "ControlLogic/*", "THM:add_control_logic");
      28       21382 :   syntax.registerTaskName("THM:add_control_logic", "THMControl", false);
      29       21382 :   syntax.registerActionSyntax("AddIterationCountPostprocessorsAction", "Debug");
      30       21382 :   syntax.registerActionSyntax("PostprocessorAsControlAction", "Postprocessors/*");
      31       21382 :   syntax.registerActionSyntax("THMDebugAction", "Debug");
      32       21382 :   syntax.registerActionSyntax("THMPrintComponentLoopsAction", "Debug");
      33       21382 :   syntax.registerActionSyntax("THMOutputVectorVelocityAction", "Outputs");
      34       21382 :   syntax.registerActionSyntax("THMSetupOutputAction", "Outputs");
      35       21382 :   syntax.registerActionSyntax("CoupledHeatTransferAction", "CoupledHeatTransfers/*", "add_bc");
      36       21382 :   syntax.registerActionSyntax(
      37             :       "CoupledHeatTransferAction", "CoupledHeatTransfers/*", "add_user_object");
      38       21382 :   syntax.registerActionSyntax(
      39             :       "CoupledHeatTransferAction", "CoupledHeatTransfers/*", "add_transfer");
      40       10691 : }
      41             : 
      42             : void
      43       10691 : registerActions(Syntax & syntax)
      44             : {
      45       10691 :   registerTask("THM:init_simulation", true);
      46       10691 :   registerTask("THM:setup_mesh", true);
      47       10691 :   registerTask("THM:build_mesh", true);
      48       10691 :   registerTask("THM:init_components", true);
      49       10691 :   registerTask("THM:identify_loops", true);
      50       10691 :   registerTask("THM:add_variables", true);
      51       10691 :   registerTask("THM:add_control_logic", true);
      52       10691 :   registerTask("THM:setup_output", true);
      53       10691 :   registerTask("THM:add_component_moose_objects", true);
      54       10691 :   registerTask("THM:integrity_check", true);
      55       10691 :   registerTask("THM:control_data_integrity_check", true);
      56       10691 :   registerTask("THM:preconditioning_integrity_check", true);
      57       10691 :   registerTask("THM:setup_quadrature", true);
      58       10691 :   registerTask("THM:debug_action", false);
      59       10691 :   registerTask("THM:print_component_loops", false);
      60       10691 :   registerTask("THM:output_vector_velocity", true);
      61       10691 :   registerTask("THM:add_relationship_managers", true);
      62             : 
      63       21382 :   registerMooseObjectTask("THM:add_component", Component, false);
      64       21382 :   registerMooseObjectTask("THM:add_heat_structure_material", SolidMaterialProperties, false);
      65       21382 :   registerMooseObjectTask("THM:add_closures", Closures, false);
      66             : 
      67             :   try
      68             :   {
      69       21382 :     syntax.addDependency("THM:output_vector_velocity", "setup_mesh");
      70       21382 :     syntax.addDependency("THM:add_closures", "setup_mesh");
      71       21382 :     syntax.addDependency("THM:init_components", "THM:output_vector_velocity");
      72       21382 :     syntax.addDependency("THM:debug_action", "setup_mesh");
      73       21382 :     syntax.addDependency("THM:init_simulation", "THM:add_component");
      74       21382 :     syntax.addDependency("add_mesh_generator", "THM:add_component");
      75       21382 :     syntax.addDependency("THM:identify_loops", "THM:add_component");
      76             :     // Components must specify their blocks to the Physics before it gets initialized
      77       21382 :     syntax.addDependency("init_physics", "THM:init_components");
      78             :     // Fluid properties are retrieved during component initialization
      79       21382 :     syntax.addDependency("THM:init_components", "add_fluid_properties");
      80             :     // Solid material property used in a component needs a function
      81       21382 :     syntax.addDependency("THM:init_components", "add_function");
      82       21382 :     syntax.addDependency("THM:identify_loops", "add_fluid_properties");
      83       21382 :     syntax.addDependency("THM:integrity_check", "THM:init_components");
      84       21382 :     syntax.addDependency("THM:integrity_check", "THM:identify_loops");
      85       21382 :     syntax.addDependency("THM:integrity_check", "THM:debug_action");
      86       21382 :     syntax.addDependency("THM:build_mesh", "THM:init_simulation");
      87       21382 :     syntax.addDependency("add_mesh_generator", "THM:build_mesh");
      88       21382 :     syntax.addDependency("THM:setup_mesh", "create_problem_complete");
      89       21382 :     syntax.addDependency("add_fluid_properties", "THM:setup_mesh");
      90       21382 :     syntax.addDependency("add_elemental_field_variable", "add_fluid_properties");
      91       21382 :     syntax.addDependency("add_aux_variable", "add_fluid_properties");
      92       21382 :     syntax.addDependency("add_variable", "add_fluid_properties");
      93       21382 :     syntax.addDependency("THM:init_components", "THM:add_heat_structure_material");
      94       21382 :     syntax.addDependency("THM:init_components", "THM:add_closures");
      95       21382 :     syntax.addDependency("add_variable", "THM:init_components");
      96       21382 :     syntax.addDependency("THM:setup_output", "add_output");
      97       21382 :     syntax.addDependency("THM:add_component_moose_objects", "add_material");
      98       21382 :     syntax.addDependency("check_output", "THM:add_component_moose_objects");
      99       21382 :     syntax.addDependency("THM:add_control_logic", "add_control");
     100       21382 :     syntax.addDependency("THM:control_data_integrity_check", "check_integrity");
     101       21382 :     syntax.addDependency("add_user_object", "THM:add_variables");
     102       21382 :     syntax.addDependency("add_output_aux_variables", "THM:add_component_moose_objects");
     103       21382 :     syntax.addDependency("add_periodic_bc", "THM:add_variables");
     104       21382 :     syntax.addDependency("THM:print_component_loops", "THM:control_data_integrity_check");
     105       21382 :     syntax.addDependency("THM:preconditioning_integrity_check", "check_integrity");
     106       21382 :     syntax.addDependency("THM:add_relationship_managers", "add_geometric_rm");
     107       21382 :     syntax.addDependency("THM:add_relationship_managers", "THM:add_component");
     108       21382 :     syntax.addDependency("THM:init_simulation", "THM:add_relationship_managers");
     109       21382 :     syntax.addDependency("THM:output_vector_velocity", "THM:add_relationship_managers");
     110       21382 :     syntax.addDependency("THM:add_variables", "THM:integrity_check");
     111             :   }
     112           0 :   catch (CyclicDependencyException<std::string> & e)
     113             :   {
     114           0 :     mooseError("Cyclic Dependency Detected during addDependency() calls");
     115           0 :   }
     116       10691 : }
     117             : }

Generated by: LCOV version 1.14