mirror of
https://gitlab.com/scemama/QCaml.git
synced 2024-09-01 09:13:40 +02:00
factorization in multipoles
This commit is contained in:
parent
0f86ece4f3
commit
16658180f3
@ -133,25 +133,25 @@ let contracted_class shell_a shell_b : float Zmap.t array =
|
||||
let x2 = h0 +. xa *. (2. *. x -. xa *. f0) in
|
||||
let y2 = h1 +. ya *. (2. *. y -. ya *. f1) in
|
||||
let z2 = h2 +. za *. (2. *. z -. za *. f2) in
|
||||
let x3 = j0 +. xa *. f0 *. (3. *. x2 -. 3. *. x *. xa +. xa *. xa) in
|
||||
let y3 = j1 +. ya *. f1 *. (3. *. y2 -. 3. *. y *. ya +. ya *. ya) in
|
||||
let z3 = j2 +. za *. f2 *. (3. *. z2 -. 3. *. z *. za +. za *. za) in
|
||||
let x4 = l0 +. xa *. f0 *. ( 4. *. x3 -. 6. *. x2 *. xa +. 4. *. x *. xa *. xa -. xa *. xa *. xa) in
|
||||
let y4 = l1 +. ya *. f1 *. ( 4. *. y3 -. 6. *. y2 *. ya +. 4. *. y *. ya *. ya -. ya *. ya *. ya) in
|
||||
let z4 = l2 +. za *. f2 *. ( 4. *. z3 -. 6. *. z2 *. za +. 4. *. z *. za *. za -. za *. za *. za) in
|
||||
let x3 = j0 +. xa *. f0 *. (3. *. x2 +. xa *. ( -. 3. *. x +. xa)) in
|
||||
let y3 = j1 +. ya *. f1 *. (3. *. y2 +. ya *. ( -. 3. *. y +. ya)) in
|
||||
let z3 = j2 +. za *. f2 *. (3. *. z2 +. za *. ( -. 3. *. z +. za)) in
|
||||
let x4 = l0 +. xa *. f0 *. (4. *. x3 +. xa *. ( -. 6. *. x2 +. xa *. (4. *. x -. xa))) in
|
||||
let y4 = l1 +. ya *. f1 *. (4. *. y3 +. ya *. ( -. 6. *. y2 +. ya *. (4. *. y -. ya))) in
|
||||
let z4 = l2 +. za *. f2 *. (4. *. z3 +. za *. ( -. 6. *. z2 +. za *. (4. *. z -. za))) in
|
||||
|
||||
let c = contracted_class in
|
||||
let d = coef_prod *. norm in
|
||||
c.(0).(i) <- c.(0).(i) +. d *. x *. f1 *. f2;
|
||||
c.(1).(i) <- c.(1).(i) +. d *. f0 *. y *. f2;
|
||||
c.(2).(i) <- c.(2).(i) +. d *. f0 *. f1 *. z;
|
||||
c.(3).(i) <- c.(3).(i) +. d *. x2 *. f1 *. f2;
|
||||
c.(4).(i) <- c.(4).(i) +. d *. f0 *. y2 *. f2;
|
||||
c.(5).(i) <- c.(5).(i) +. d *. f0 *. f1 *. z2;
|
||||
c.(6).(i) <- c.(6).(i) +. d *. x *. y *. f2;
|
||||
c.(7).(i) <- c.(7).(i) +. d *. f0 *. y *. z;
|
||||
c.(8).(i) <- c.(8).(i) +. d *. x *. f1 *. z;
|
||||
c.(9).(i) <- c.(9).(i) +. d *. x3 *. f1 *. f2;
|
||||
c.( 0).(i) <- c.( 0).(i) +. d *. x *. f1 *. f2;
|
||||
c.( 1).(i) <- c.( 1).(i) +. d *. f0 *. y *. f2;
|
||||
c.( 2).(i) <- c.( 2).(i) +. d *. f0 *. f1 *. z;
|
||||
c.( 3).(i) <- c.( 3).(i) +. d *. x2 *. f1 *. f2;
|
||||
c.( 4).(i) <- c.( 4).(i) +. d *. f0 *. y2 *. f2;
|
||||
c.( 5).(i) <- c.( 5).(i) +. d *. f0 *. f1 *. z2;
|
||||
c.( 6).(i) <- c.( 6).(i) +. d *. x *. y *. f2;
|
||||
c.( 7).(i) <- c.( 7).(i) +. d *. f0 *. y *. z;
|
||||
c.( 8).(i) <- c.( 8).(i) +. d *. x *. f1 *. z;
|
||||
c.( 9).(i) <- c.( 9).(i) +. d *. x3 *. f1 *. f2;
|
||||
c.(10).(i) <- c.(10).(i) +. d *. f0 *. y3 *. f2;
|
||||
c.(11).(i) <- c.(11).(i) +. d *. f0 *. f1 *. z3;
|
||||
c.(12).(i) <- c.(12).(i) +. d *. x4 *. f1 *. f2;
|
||||
|
Loading…
Reference in New Issue
Block a user