|
IGMPlot 3.16
Optimized IGMplot version able to use wfn/wfx/xyz files
|
Class used to handle every node data storage and processing ; implemented for multiprocessing implementation ; therefore, thread proof. More...
#include <Node.h>

Public Member Functions | |
| Node (int nbAtomParam, int nbAtomMolAParam, ProgData &pdataParam) | |
| Main constructor. | |
| ~Node () | |
| Destructor. | |
| void | computeDensity (axis_t &__restrict posGrid, param_t &__restrict params) |
| Computes density. | |
| void | computeGradHess () |
| Computes gradient and hessian's values. | |
| void | reComputeGrad () |
| Computes gradient only, ig ED gradiet have already been computed before. | |
| void | sortLambdas () |
| Sorting function used to sort lambdas' values. | |
| void | computeSortLambdas () |
| Function used to compute and sort lambdas' values. | |
| void | process (axis_t &posGrid, int index, Results &results, param_t ¶ms) |
| Process all the information for an entire line of the grid. | |
| void | basisChange (double matrixHessianEigVec[3][3]) |
| basis change for every vector of the IGM approach : ED gradient, ED IGM gradient, ... | |
Private Attributes | |
| int | nbAtom |
| The number of atom, both molecule combined. | |
| int | nbAtomMolA |
| The number of atom in molecule A. | |
| LocalData * | data |
| The local data' values. | |
| ProgData & | pdata |
| The program's data. | |
| double *__restrict | diffX |
| Differences between node position and atom's position over x axis. | |
| double *__restrict | diffY |
| Differences between node position and atom's position over y axis. | |
| double *__restrict | diffZ |
| Differences between node position and atom's position over z axis. | |
| double *__restrict | squareX |
| Square of difference value "diffX" over the x axis. | |
| double *__restrict | squareY |
| Square of difference value "diffY" over the y axis. | |
| double *__restrict | squareZ |
| Square of difference value "diffZ" over the z axis. | |
| double *__restrict | rho1 |
| Rho value processed over the x axis. | |
| double *__restrict | rho2 |
| Rho value processed over the y axis. | |
| double *__restrict | rho3 |
| Rho value processed over the z axis. | |
| double *__restrict | distance |
| Distance value between the node position and the atom. | |
| double | rho |
| Rho value processed during density processing. | |
| double | contribution |
| Contribution value processed during density processing. | |
| bool | shouldCompute |
| Tells if the density matched the desired values. | |
| double | hess [6] |
| Six hessian values. | |
| double | lambdas [3] |
| Three lambda's values (eigenvalues of the ED hessian) | |
| double | eigV [3][3] |
| Three eigenvectors. | |
| axis_t | partialGradient |
| Partial gradients added to process gradient values. | |
| double | sumBRho |
| Sum multiplications of rhos' values and B values. | |
| double | sumSquareBRho |
| Sum multiplications of rhos' values and squares of B values. | |
| double | multInvR |
| Multiplicative inverse of the distance. | |
| double | squareMultInvR |
| Square of the multiplicative inverse of the distance. | |
| double *__restrict | opti |
| Optimization value 1. | |
| double | opti2 |
| Optimization value 2. | |
| double | tmp |
| Temporary value. | |
| int | lol2 |
| TO DOCUMENT. | |
Class used to handle every node data storage and processing ; implemented for multiprocessing implementation ; therefore, thread proof.
| Node::Node | ( | int | nbAtomParam, |
| int | nbAtomMolAParam, | ||
| ProgData & | pdataParam ) |
Main constructor.
| nbAtomParam | number of atom counting both molecule |
| nbAtomMolAParam | the number of atom in the first molecule |
| pdataParam | the program's data |
| void Node::basisChange | ( | double | matrixHessianEigVec[3][3] | ) |
basis change for every vector of the IGM approach : ED gradient, ED IGM gradient, ...
| matrixHessianEigVec | input --> the matrix for the basis change |

Computes density.
| posGrid | current position in the grid on all three axis |
| params | the parameters initially read at the beginning of the program |

Process all the information for an entire line of the grid.
| posGrid | the current position in the grid |
| index | index position in the grid |
| results | objet containing the finale results |
| params | parameters read at the beggining |
