OpenAtom
Version1.5a
|
This is a description of the "life" of a CP_Rho_GHartExc object. More...
#include "charm++.h"
#include "debug_flags.h"
#include "utility/util.h"
#include "main/cpaimd.h"
#include "main/AtomsCache.h"
#include "fft_slab_ctrl/fftCacheSlab.h"
#include "main/eesCache.h"
#include "cp_state_ctrl/CP_State_Plane.h"
#include "src_piny_physics_v1.0/include/class_defs/CP_OPERATIONS/class_cplocal.h"
#include "src_piny_physics_v1.0/include/class_defs/CP_OPERATIONS/class_cpxcfnctls.h"
#include "src_piny_physics_v1.0/include/proto_defs/proto_cp_ewald_corrs.h"
#include "src_piny_physics_v1.0/include/class_defs/Interface_ctrl.h"
#include "main/PhysScratchCache.h"
#include <iostream>
#include <fstream>
#include <cmath>
Go to the source code of this file.
Variables | |
int | sizeX |
Config | config |
CkVec < CProxy_CP_Rho_RealSpacePlane > | UrhoRealProxy |
CProxy_CPcharmParaInfoGrp | scProxy |
CProxy_PhysScratchCache | pScratchProxy |
CkVec< CProxy_AtomsCache > | UatomsCacheProxy |
CkVec< CProxy_CP_Rho_GHartExt > | UrhoGHartExtProxy |
CkVec< CProxy_CP_Rho_RHartExt > | UrhoRHartExtProxy |
CkVec< CProxy_eesCache > | UeesCacheProxy |
CkVec< CProxy_FFTcache > | UfftCacheProxy |
ComlibInstanceHandle | commGHartInstance |
ComlibInstanceHandle | commGHartRHartIns0 |
ComlibInstanceHandle | commGHartRHartIns1 |
This is a description of the "life" of a CP_Rho_GHartExc object.
At the start of the program, the constructor CP_Rho_GHartExc is called. We create our own rho_gs slab because we need the kvectors and the fft code.
Each iteration, the CP_Rho_GpacePlane object sends us the same rho data it will use in its own FFTs. We then call the very intensive HartExtVksG function on the data. We contribute the energy to the reduction, fft the vks, and ship the vks to rhoReal.
Then we're done until the next iteration.
There is no RthThread control loop here because there is no meaningful flow of entry methods. We get a message, we calculate, we send, we're done. This object exists solely as a way to parallelize the uncomfortably long HartExtVks computation.
Definition in file CP_Rho_GHartExt.C.