PAPRECA hybrid off-lattice kMC/MD simulator  2.0.0 (17 September 2024)
debug.h
Go to the documentation of this file.
1 /*----------------------------------------------------------------------------------------
2 PAPRECA hybrid off-lattice kinetic Monte Carlo/Molecular dynamics simulator.
3 Copyright (C) 2024 Stavros Ntioudis, James P. Ewen, Daniele Dini, and C. Heath Turner
4 
5 This program is free software; you can redistribute it and/or
6 modify it under the terms of the GNU General Public License
7 as published by the Free Software Foundation; either version 2
8 of the License, or (at your option) any later version.
9 
10 This program is distributed in the hope that it will be useful,
11 but WITHOUT ANY WARRANTY; without even the implied warranty of
12 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 GNU General Public License for more details.
14 
15 You should have received a copy of the GNU General Public License
16 along with this program; if not, write to the Free Software
17 Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
18 ----------------------------------------------------------------------------------------*/
19 
22 
23 #ifndef DEBUG_H
24 #define DEBUG_H
25 
26 //System Headers
27 #include <unordered_map>
28 #include <unordered_set>
29 #include <iostream>
30 
31 //PAPRECA headers
32 #include "bond.h"
33 #include "event.h"
34 #include "event_list.h"
35 
36 //LAMMPS headers
37 #include "lammps.h"
39 #include "library.h"
40 #include "pointers.h"
41 #include "atom.h"
43 
44 
45 namespace PAPRECA{
46 
47 
48 
49  void debugPrintBondMapPairs( ATOM2BONDS_MAP const &bonds_map , const int &proc_num );
50  void debugPrintBasicAtomInfo( LAMMPS_NS::LAMMPS *lmp , const int &proc_id );
51  void debugPrintNeighborLists( LAMMPS_NS::LAMMPS *lmp , const int &proc_id );
52  void debugCheckBondsInNeibLists( LAMMPS_NS::LAMMPS *lmp , const int &proc_id , ATOM2BONDS_MAP &atomID2bonds );
53  void debugPrintBondsList( LAMMPS_NS::tagint *bonds_list , LAMMPS_NS::bigint &bonds_num , const int &proc_id );
54  void debugPrintType2SigmaMap( INTPAIR2DOUBLE_MAP &types2sigma );
55  void debugPrintEventInfo( Event *event , const int &proc_id );
57 
58 } //End of PAPRECA namespace
59 
60 
61 
62 
63 #endif
Declarations for PAPRECA::Bond.
Declarations for PAPRECA:Event class and its children classes.
Declarations of PredefinedEvent classes.
Definition: bond.cpp:26
void debugPrintNeighborLists(LAMMPS_NS::LAMMPS *lmp, const int &proc_id)
Definition: debug.cpp:67
void debugCheckBondsInNeibLists(LAMMPS_NS::LAMMPS *lmp, const int &proc_id, ATOM2BONDS_MAP &atomID2bonds)
Definition: debug.cpp:98
std::unordered_map< LAMMPS_NS::tagint, BOND_VECTOR > ATOM2BONDS_MAP
maps atom IDs to their associated PAPRECA::BOND_VECTOR to allow easy access of bonds and bond types.
Definition: bond.h:46
void debugPrintType2SigmaMap(INTPAIR2DOUBLE_MAP &types2sigma)
Definition: debug.cpp:133
void debugPrintBondMapPairs(ATOM2BONDS_MAP const &bonds_map, const int &proc_id)
Definition: debug.cpp:31
void debugPrintEventInfo(Event *event, const int &proc_id)
Definition: debug.cpp:146
void debugCheckDeposition()
std::unordered_map< INT_PAIR, double, PairHash > INTPAIR2DOUBLE_MAP
Definition: utilities.h:178
void debugPrintBasicAtomInfo(LAMMPS_NS::LAMMPS *lmp, const int &proc_id)
Definition: debug.cpp:45
void debugPrintBondsList(LAMMPS_NS::tagint *bonds_list, LAMMPS_NS::bigint &bonds_num, const int &proc_id)
Definition: debug.cpp:121