LCOV - code coverage report
Current view: top level - utils - iodata.hpp (source / functions) Coverage Total Hit
Test: Palace Coverage Report Lines: 100.0 % 1 1
Test Date: 2025-10-23 22:45:05 Functions: 100.0 % 1 1
Legend: Lines: hit not hit

            Line data    Source code
       1              : // Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
       2              : // SPDX-License-Identifier: Apache-2.0
       3              : 
       4              : #ifndef PALACE_UTILS_IODATA_HPP
       5              : #define PALACE_UTILS_IODATA_HPP
       6              : 
       7              : #include "utils/configfile.hpp"
       8              : #include "utils/units.hpp"
       9              : 
      10              : namespace mfem
      11              : {
      12              : 
      13              : class ParMesh;
      14              : 
      15              : }  // namespace mfem
      16              : 
      17              : namespace palace
      18              : {
      19              : 
      20              : std::stringstream PreprocessFile(const char *filename);
      21              : 
      22              : //
      23              : // A parser class for processing the configuration file which controls runtime options.
      24              : //
      25              : class IoData
      26              : {
      27              : public:
      28              :   // Configuration file objects.
      29              :   config::ProblemData problem;
      30              :   config::ModelData model;
      31              :   config::DomainData domains;
      32              :   config::BoundaryData boundaries;
      33              :   config::SolverData solver;
      34              : 
      35              :   // Class that holds mesh scale and converts between SI quantities and normalized values.
      36              :   Units units;
      37              : 
      38              : private:
      39              :   bool init;
      40              : 
      41              :   // Check configuration file options and compatibility with requested problem type.
      42              :   void CheckConfiguration();
      43              : 
      44              : public:
      45           31 :   IoData(const Units &units) : units(units), init(false) {}
      46              : 
      47              :   // Parse command line arguments and override options defaults.
      48              :   IoData(const char *filename, bool print);
      49              : 
      50              :   // Nondimensionalize input values for use in the solver, including the mesh coordinates.
      51              :   void NondimensionalizeInputs(mfem::ParMesh &mesh);
      52              : };
      53              : 
      54              : }  // namespace palace
      55              : 
      56              : #endif  // PALACE_UTILS_IODATA_HPP
        

Generated by: LCOV version 2.0-1