LCOV - code coverage report
Current view: top level - include/userobjects - MyTRIMElementRun.h (source / functions) Hit Total Coverage
Test: idaholab/magpie: 5710af Lines: 1 1 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 "MyTRIMRunBase.h"
      12             : #include "ThreadedRecoilElementAveragedLoop.h"
      13             : 
      14             : /**
      15             :  * This UserObject rasterizes a simulation domain for the MyTRIM library
      16             :  */
      17             : class MyTRIMElementRun : public MyTRIMRunBase
      18             : {
      19             : public:
      20             :   static InputParameters validParams();
      21             : 
      22             :   MyTRIMElementRun(const InputParameters & parameters);
      23             : 
      24         142 :   virtual void initialize() {}
      25             :   virtual void execute();
      26             :   virtual void finalize();
      27             : 
      28             :   /// @{ shorthand typedefs
      29             :   typedef ThreadedRecoilElementAveragedLoop::MyTRIMResult MyTRIMResult;
      30             :   typedef ThreadedRecoilElementAveragedLoop::MyTRIMResultMap MyTRIMResultMap;
      31             :   /// @}
      32             : 
      33             :   /// get the TRIM result data
      34             :   const MyTRIMResult & result(const Elem *) const;
      35             : 
      36             : protected:
      37             :   ///@{ pack/unpack the _result_map into a structure suitable for parallel communication
      38             :   void serialize(std::string & serialized_buffer);
      39             :   void deserialize(std::vector<std::string> & serialized_buffers);
      40             :   ///@}
      41             : 
      42             :   /// data such as interstitials and vacancies produced will be stored here
      43             :   MyTRIMResultMap _result_map;
      44             : 
      45             :   ///@{ timers
      46             :   PerfID _perf_trim;
      47             :   PerfID _perf_finalize;
      48             :   ///@}
      49             : 
      50             : private:
      51             :   /// zero result to return for elements that have not been touched by the cascades
      52             :   MyTRIMResult _zero;
      53             : };

Generated by: LCOV version 1.14