LCOV - code coverage report
Current view: top level - include/userobjects - MyTRIMRunBase.h (source / functions) Hit Total Coverage
Test: idaholab/magpie: 5710af Lines: 3 3 100.0 %
Date: 2025-07-21 23:34:39 Functions: 1 1 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /**********************************************************************/
       2             : /*                     DO NOT MODIFY THIS HEADER                      */
       3             : /* MAGPIE - Mesoscale Atomistic Glue Program for Integrated Execution */
       4             : /*                                                                    */
       5             : /*            Copyright 2017 Battelle Energy Alliance, LLC            */
       6             : /*                        ALL RIGHTS RESERVED                         */
       7             : /**********************************************************************/
       8             : 
       9             : #pragma once
      10             : 
      11             : #include "GeneralUserObject.h"
      12             : #include "MyTRIMRasterizer.h"
      13             : 
      14             : #include <map>
      15             : #include <vector>
      16             : 
      17             : class MooseMesh;
      18             : 
      19             : /**
      20             :  * This UserObject rasterizes a simulation domain for the MyTRIM library
      21             :  */
      22             : class MyTRIMRunBase : public GeneralUserObject
      23             : {
      24             : public:
      25             :   static InputParameters validParams();
      26             : 
      27             :   MyTRIMRunBase(const InputParameters & parameters);
      28             : 
      29             :   // get the number of elements in the TRIM simulation
      30         223 :   unsigned int nVars() const { return _nvars; }
      31             : 
      32             :   // get the name of the rasterizer object (this is to add an artificial dependence in an AuxKernel)
      33         476 :   UserObjectName getRasterizerName() const { return getParam<UserObjectName>("rasterizer"); }
      34             : 
      35             :   // get const reference to the rasterizer object
      36         235 :   const MyTRIMRasterizer & rasterizer() const { return _rasterizer; }
      37             : 
      38             : protected:
      39             :   /// Rasterizer object to provide the material data
      40             :   const MyTRIMRasterizer & _rasterizer;
      41             : 
      42             :   /// trim simulation parameters
      43             :   const MyTRIMRasterizer::TrimParameters & _trim_parameters;
      44             : 
      45             :   /// number of elements in the TRIM simulation
      46             :   const unsigned int _nvars;
      47             : 
      48             :   /// number of primary knock-on atoms (PKA) to simulate
      49             :   const std::vector<MyTRIM_NS::IonBase> & _pka_list;
      50             : 
      51             :   /// The Mesh we're using
      52             :   MooseMesh & _mesh;
      53             : 
      54             :   /// dimension of the mesh
      55             :   const unsigned int _dim;
      56             : };

Generated by: LCOV version 1.14