MCPcopy Create free account
hub / github.com/SINGROUP/dscribe / getCfactorsD

Function getCfactorsD

dscribe/ext/soapGTO.cpp:108–1981  ·  view source on GitHub ↗

================================================================

Source from the content-addressed store, hash-verified

106}
107//================================================================
108void getCfactorsD(double* preCoef, double* prCofDX, double* prCofDY, double* prCofDZ, int Asize, double* x,double* x2, double* x4, double* x6, double* x8, double* x10,double* x12,double* x14,double* x16,double* x18, double* y,double* y2, double* y4, double* y6, double* y8, double* y10,double* y12,double* y14,double* y16,double* y18, double* z, double* z2, double* z4, double* z6, double* z8, double* z10,double* z12,double* z14,double* z16,double* z18, double* r2, double* r4, double* r6, double* r8,double* r10,double* r12,double* r14,double* r16,double* r18, double* r20, double* x20, double* y20, double* z20, int totalAN, int lMax, bool return_derivatives){
109
110 for (int i = 0; i < Asize; i++) {
111 if (lMax > 1){
112 preCoef[ +i] = 1.09254843059208*x[i]*y[i];
113 preCoef[totalAN*1+i] = 1.09254843059208*y[i]*z[i];
114 preCoef[totalAN*2+i] = -0.31539156525252*x2[i] - 0.31539156525252*y2[i] + 0.63078313050504*z2[i];
115 preCoef[totalAN*3+i] = 1.09254843059208*x[i]*z[i];
116 preCoef[totalAN*4+i] = 0.54627421529604*x2[i] - 0.54627421529604*y2[i];
117 if (return_derivatives) {
118 prCofDX[ +i] = 1.09254843059208*y[i];
119 prCofDX[totalAN*1+i] = 0;
120 prCofDX[totalAN*2+i] = -0.63078313050504*x[i];
121 prCofDX[totalAN*3+i] = 1.09254843059208*z[i];
122 prCofDX[totalAN*4+i] = 1.09254843059208*x[i];
123
124 prCofDY[ +i] = 1.09254843059208*x[i];
125 prCofDY[totalAN*1+i] = 1.09254843059208*z[i];
126 prCofDY[totalAN*2+i] = -0.63078313050504*y[i];
127 prCofDY[totalAN*3+i] = 0;
128 prCofDY[totalAN*4+i] = -1.09254843059208*y[i];
129
130 prCofDZ[ +i] = 0;
131 prCofDZ[totalAN*1+i] = 1.09254843059208*y[i];
132 prCofDZ[totalAN*2+i] = 1.26156626101008*z[i];
133 prCofDZ[totalAN*3+i] = 1.09254843059208*x[i];
134 prCofDZ[totalAN*4+i] = 0;
135 }
136 if (lMax > 2){
137 preCoef[totalAN*5+i] = 0.590043589926644*y[i]*(3.0*x2[i] - y2[i]);
138 preCoef[totalAN*6+i] = 2.89061144264055*x[i]*y[i]*z[i];
139 preCoef[totalAN*7+i] = -0.457045799464466*y[i]*(x2[i] + y2[i] - 4.0*z2[i]);
140 preCoef[totalAN*8+i] = 0.373176332590115*z[i]*(-3.0*x2[i] - 3.0*y2[i] + 2.0*z2[i]);
141 preCoef[totalAN*9+i] = -0.457045799464466*x[i]*(x2[i] + y2[i] - 4.0*z2[i]);
142 preCoef[totalAN*10+i] = 1.44530572132028*z[i]*(x2[i] - y2[i]);
143 preCoef[totalAN*11+i] = 0.590043589926644*x[i]*(x2[i] - 3.0*y2[i]);
144
145 if(return_derivatives){
146 prCofDX[totalAN*5+i] = 3.54026153955986*x[i]*y[i];
147 prCofDX[totalAN*6+i] = 2.89061144264055*y[i]*z[i];
148 prCofDX[totalAN*7+i] = -0.914091598928931*x[i]*y[i];
149 prCofDX[totalAN*8+i] = -2.23905799554069*x[i]*z[i];
150 prCofDX[totalAN*9+i] = -1.3711373983934*x2[i] - 0.457045799464466*y2[i] + 1.82818319785786*z2[i];
151 prCofDX[totalAN*10+i] = 2.89061144264055*x[i]*z[i];
152 prCofDX[totalAN*11+i] = 1.77013076977993*x2[i] - 1.77013076977993*y2[i];
153
154 prCofDY[totalAN*5+i] = 1.77013076977993*x2[i] - 1.77013076977993*y2[i];
155 prCofDY[totalAN*6+i] = 2.89061144264055*x[i]*z[i];
156 prCofDY[totalAN*7+i] = -0.457045799464466*x2[i] - 1.3711373983934*y2[i] + 1.82818319785786*z2[i];
157 prCofDY[totalAN*8+i] = -2.23905799554069*y[i]*z[i];
158 prCofDY[totalAN*9+i] = -0.914091598928931*x[i]*y[i];
159 prCofDY[totalAN*10+i] = -2.89061144264055*y[i]*z[i];
160 prCofDY[totalAN*11+i] = -3.54026153955986*x[i]*y[i];
161
162 prCofDZ[totalAN*5+i] = 0;
163 prCofDZ[totalAN*6+i] = 2.89061144264055*x[i]*y[i];
164 prCofDZ[totalAN*7+i] = 3.65636639571573*y[i]*z[i];
165 prCofDZ[totalAN*8+i] = -1.11952899777035*x2[i] - 1.11952899777035*y2[i] + 2.23905799554069*z2[i];

Callers 1

soapGTOFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected