Commit 9a09208c authored by COULAUD Olivier's avatar COULAUD Olivier

periodic improvement

parent bd6e637b
NaCl (4x4x4 unit cells) crystal
2 1 128 -0.2346403E+05
16.000000000000 0.000000000000 0.000000000000
0.000000000000 16.000000000000 0.000000000000
0.000000000000 0.000000000000 16.000000000000
Na 1
-0.3857716504E-26 -0.3857716504E-26 -0.3857716504E-26
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 2
3.464100000 3.464100000 3.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 3
4.000000000 -0.3857716504E-26 -0.3857716504E-26
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 4
7.464100000 3.464100000 3.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 5
8.000000000 -0.3857716504E-26 -0.3857716504E-26
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 6
-4.535900000 3.464100000 3.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 7
-4.000000000 -0.3857716504E-26 -0.3857716504E-26
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 8
-0.5359000000 3.464100000 3.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 9
-0.3857716504E-26 4.000000000 -0.3857716504E-26
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 10
3.464100000 7.464100000 3.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 11
4.000000000 4.000000000 -0.3857716504E-26
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 12
7.464100000 7.464100000 3.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 13
8.000000000 4.000000000 -0.3857716504E-26
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 14
-4.535900000 7.464100000 3.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 15
-4.000000000 4.000000000 -0.3857716504E-26
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 16
-0.5359000000 7.464100000 3.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 17
-0.3857716504E-26 8.000000000 -0.3857716504E-26
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 18
3.464100000 -4.535900000 3.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 19
4.000000000 8.000000000 -0.3857716504E-26
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 20
7.464100000 -4.535900000 3.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 21
8.000000000 8.000000000 -0.3857716504E-26
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 22
-4.535900000 -4.535900000 3.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 23
-4.000000000 8.000000000 -0.3857716504E-26
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 24
-0.5359000000 -4.535900000 3.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 25
-0.3857716504E-26 -4.000000000 -0.3857716504E-26
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 26
3.464100000 -0.5359000000 3.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 27
4.000000000 -4.000000000 -0.3857716504E-26
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 28
7.464100000 -0.5359000000 3.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 29
8.000000000 -4.000000000 -0.3857716504E-26
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 30
-4.535900000 -0.5359000000 3.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 31
-4.000000000 -4.000000000 -0.3857716504E-26
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 32
-0.5359000000 -0.5359000000 3.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 33
-0.3857716504E-26 -0.3857716504E-26 4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 34
3.464100000 3.464100000 7.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 35
4.000000000 -0.3857716504E-26 4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 36
7.464100000 3.464100000 7.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 37
8.000000000 -0.3857716504E-26 4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 38
-4.535900000 3.464100000 7.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 39
-4.000000000 -0.3857716504E-26 4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 40
-0.5359000000 3.464100000 7.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 41
-0.3857716504E-26 4.000000000 4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 42
3.464100000 7.464100000 7.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 43
4.000000000 4.000000000 4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 44
7.464100000 7.464100000 7.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 45
8.000000000 4.000000000 4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 46
-4.535900000 7.464100000 7.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 47
-4.000000000 4.000000000 4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 48
-0.5359000000 7.464100000 7.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 49
-0.3857716504E-26 8.000000000 4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 50
3.464100000 -4.535900000 7.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 51
4.000000000 8.000000000 4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 52
7.464100000 -4.535900000 7.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 53
8.000000000 8.000000000 4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 54
-4.535900000 -4.535900000 7.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 55
-4.000000000 8.000000000 4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 56
-0.5359000000 -4.535900000 7.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 57
-0.3857716504E-26 -4.000000000 4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 58
3.464100000 -0.5359000000 7.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 59
4.000000000 -4.000000000 4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 60
7.464100000 -0.5359000000 7.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 61
8.000000000 -4.000000000 4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 62
-4.535900000 -0.5359000000 7.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 63
-4.000000000 -4.000000000 4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 64
-0.5359000000 -0.5359000000 7.464100000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 65
-0.3857716504E-26 -0.3857716504E-26 8.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 66
3.464100000 3.464100000 -4.535900000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 67
4.000000000 -0.3857716504E-26 8.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 68
7.464100000 3.464100000 -4.535900000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 69
8.000000000 -0.3857716504E-26 8.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 70
-4.535900000 3.464100000 -4.535900000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 71
-4.000000000 -0.3857716504E-26 8.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 72
-0.5359000000 3.464100000 -4.535900000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 73
-0.3857716504E-26 4.000000000 8.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 74
3.464100000 7.464100000 -4.535900000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 75
4.000000000 4.000000000 8.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 76
7.464100000 7.464100000 -4.535900000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 77
8.000000000 4.000000000 8.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 78
-4.535900000 7.464100000 -4.535900000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 79
-4.000000000 4.000000000 8.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 80
-0.5359000000 7.464100000 -4.535900000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 81
-0.3857716504E-26 8.000000000 8.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 82
3.464100000 -4.535900000 -4.535900000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 83
4.000000000 8.000000000 8.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 84
7.464100000 -4.535900000 -4.535900000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 85
8.000000000 8.000000000 8.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 86
-4.535900000 -4.535900000 -4.535900000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 87
-4.000000000 8.000000000 8.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 88
-0.5359000000 -4.535900000 -4.535900000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 89
-0.3857716504E-26 -4.000000000 8.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 90
3.464100000 -0.5359000000 -4.535900000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 91
4.000000000 -4.000000000 8.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 92
7.464100000 -0.5359000000 -4.535900000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 93
8.000000000 -4.000000000 8.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 94
-4.535900000 -0.5359000000 -4.535900000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 95
-4.000000000 -4.000000000 8.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 96
-0.5359000000 -0.5359000000 -4.535900000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 97
-0.3857716504E-26 -0.3857716504E-26 -4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 98
3.464100000 3.464100000 -0.5359000000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 99
4.000000000 -0.3857716504E-26 -4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 100
7.464100000 3.464100000 -0.5359000000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 101
8.000000000 -0.3857716504E-26 -4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 102
-4.535900000 3.464100000 -0.5359000000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 103
-4.000000000 -0.3857716504E-26 -4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 104
-0.5359000000 3.464100000 -0.5359000000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 105
-0.3857716504E-26 4.000000000 -4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 106
3.464100000 7.464100000 -0.5359000000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 107
4.000000000 4.000000000 -4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 108
7.464100000 7.464100000 -0.5359000000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 109
8.000000000 4.000000000 -4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 110
-4.535900000 7.464100000 -0.5359000000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 111
-4.000000000 4.000000000 -4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 112
-0.5359000000 7.464100000 -0.5359000000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 113
-0.3857716504E-26 8.000000000 -4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 114
3.464100000 -4.535900000 -0.5359000000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 115
4.000000000 8.000000000 -4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 116
7.464100000 -4.535900000 -0.5359000000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 117
8.000000000 8.000000000 -4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 118
-4.535900000 -4.535900000 -0.5359000000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 119
-4.000000000 8.000000000 -4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 120
-0.5359000000 -4.535900000 -0.5359000000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 121
-0.3857716504E-26 -4.000000000 -4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 122
3.464100000 -0.5359000000 -0.5359000000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 123
4.000000000 -4.000000000 -4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 124
7.464100000 -0.5359000000 -0.5359000000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 125
8.000000000 -4.000000000 -4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 126
-4.535900000 -0.5359000000 -0.5359000000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
Na 127
-4.000000000 -4.000000000 -4.000000000
-0.385771650408E-11 -0.385771650408E-11 -0.385771650408E-11
-88727.4795939 -88727.4795939 -88727.4795939
Cl 128
-0.5359000000 -0.5359000000 -0.5359000000
0.249936562236E-11 0.249936562236E-11 0.249936562236E-11
88727.4795939 88727.4795939 88727.4795939
NaCl (10x10x10 unit cell) crystal
2 1 2000 -0.4269175E+06 3
2 1 2000 -0.4269175E+06
40.00
Na 1
-0.3909861360E-25 -0.3909861360E-25 -0.3909861360E-25
......
......@@ -382,17 +382,25 @@ The kernel should be able to proceed usual FMM operator in a tree of height of s
\section{Results}
\subsection{Ewald summation comparisons}
The energy computed by molecular dynamics codes is given by
The energy computed by molecular dynamics codes for a finite system is given by
$$
U = \frac{1}{4 \pi\epsilon_0}\sum_{i=0}^{N}{\sum_{j<i}{\frac{q_i q_j}{\|x_i-x_j\|}}}
$$
and the force on atom $x_i$
and the force on atom $x_i$ is
$$
f(x_i) = \frac{q_i }{4 \pi\epsilon_0}\sum_{j=0,i\neq j}^{N}{q_j\frac{x_i-x_j}{\|x_i-x_j\|^3}}
$$
Now consider a periodic system, the energy computed by molecular dynamics codes atypically by Ewald method is
$$
U = \frac{1}{8 \pi\epsilon_0}\sum_{|n|=0}^{\infty}{\sum_{i,j}^{N}{\sum_{j<i}{'\frac{q_i q_j}{\|x_i-x_j + n L \| }}}}
$$
where $L$ is the box size and ${'}$ specifies that for $n=0$ the omit i equal $j$ in the sum. The force on atom $x_i$ is
$$
f(x_i) = \frac{q_i}{8 \pi\epsilon_0}\sum_{|n|=0}^{\infty}{\sum_{i,j}^{N}{'q_j\frac{x_i-x_j}{\|x_i-x_j + n L\|^3}}}
$$
In the Ewald method, to original box is replicated up to the infinity, and then the method is equivalent to consider a surrounding conductor ($\epsilon=\infty$).
The Ewald method is equivalent to consider a surrounding conductor ($\epsilon=\infty$). The method described in this document and implemented in ScalFMM consider a finite set of the original box surrounded by a vacuum with dielectric constant $\epsilon=1$. The results by these two approaches are different \cite{DeLeeuw1980, Heyes1981} and for a very large sphere surrounding all boxes we have the following equation
The method described in this document and implemented in ScalFMM consider a finite set of the original box surrounded by a vacuum with dielectric constant $\epsilon=1$. The results by these two approaches are different \cite{DeLeeuw1980, Heyes1981} and for a very large sphere surrounding all boxes we have the following equation
\begin{equation}
E_{Ewald} = E_{FMM} -\frac{2\pi}{3V}|\sum_{i=1}^{N}{q_i x_i}|^2.
\end{equation}
......@@ -400,6 +408,20 @@ By tacking the gradient of this equation, the relationship between FMM forces an
\begin{equation}
F_{Ewald}(x_k) = -\nabla_k E_{Ewald} = F_{FMM}(x_k) + \frac{4\pi}{3V} q_k \sum_{i=1}^{N}{q_i x_i}.
\end{equation}
If we denote by $\mathbf{D}= \sum_{i=1}^{N}{q_i x_i}$ the dipole moment of the system then the periodic energy is
\begin{equation}
E_{Ewald} = E_{FMM} - \frac{2\pi}{3V}\mathbf{D}.\mathbf{D} =\sum_{i=1}^{N}{q_i V_i^{Ewald}}
\end{equation}
the potential
\begin{equation}
V^{Ewald}(r) = V^{FMM}(r) - \frac{4\pi}{3V} r.\mathbf{D}
\end{equation}
and the forces are
\begin{equation}
F_{Ewald}(x_k) = -\nabla_k E_{Ewald} = F_{FMM}(x_k) + \frac{4\pi}{3V} q_k \mathbf{D}.
\end{equation}
\subsubsection{DL\_Poly comparisons}
DL\_POLY\_2 uses the following internal molecular units \\
......@@ -502,14 +524,14 @@ struct MDParticle {
\end{verbatim}
We save the direct evaluation of the forces in a binary file. To read the file you should proceed as follow
\begin{verbatim}
std::ifstream fileout(filenameOut,
std::ifstream filein(filename,
std::ifstream::in| std::ios::binary);
file.seekg (std::ios::beg);
1 file.read( (char*)(&nbParticles), sizeof(int));
2 fileout.read( (char*)(&boxsize[0]), sizeof(double)*3);
3 fileout.read((char*)&PER[0],sizeof(int)*4);
4 fileout.read( (char*)(&denergy), sizeof(denergy));
filein.seekg (std::ios::beg);
1 filein.read( (char*)(&nbParticles), sizeof(int));
2 filein.read( (char*)(&boxsize[0]), sizeof(double)*3);
3 filein.read((char*)&PER[0],sizeof(int)*4);
4 filein.read( (char*)(&denergy), sizeof(denergy));
//
particles = new MDParticle[nbParticles*2];
fileout.read((char*)&particles[0], sizeof(MDParticle)*nbParticles);
......
// ===================================================================================
// Copyright ScalFmm 2011 INRIA, Olivier Coulaud, Bérenger Bramas, Matthias Messner
// Copyright ScalFmm 2011 INRIA, Olivier Coulaud, Berenger Bramas, Matthias Messner
// olivier.coulaud@inria.fr, berenger.bramas@inria.fr
// This software is a computer program whose purpose is to compute the FMM.
//
......@@ -46,11 +46,11 @@ class TestSphericalDirectPeriodic : public FUTester<TestSphericalDirectPeriodic>
typedef FFmmAlgorithmPeriodic<OctreeClass, CellClass, ContainerClass, KernelClass, LeafClass > FmmClass;
// Parameters
const int NbLevels = 3;
const int NbLevels = 3;
const int SizeSubLevels = 2;
const int PeriodicDeep = 3;
const int DevP = 9;
const int NbParticles = 1;
const int DevP = 9;
const int NbParticles = 1;
FSphericalCell::Init(DevP);
......@@ -131,14 +131,16 @@ class TestSphericalDirectPeriodic : public FUTester<TestSphericalDirectPeriodic>
Print("Compute Diff...");
FMath::FAccurater potentialDiff;
FMath::FAccurater fx, fy, fz;
FReal energy = 0.0 ;
{ // Check that each particle has been summed with all other
tree.forEachLeaf([&](LeafClass* leaf){
const FReal*const potentials = leaf->getTargets()->getPotentials();
const FReal*const forcesX = leaf->getTargets()->getForcesX();
const FReal*const forcesY = leaf->getTargets()->getForcesY();
const FReal*const forcesZ = leaf->getTargets()->getForcesZ();
const int nbParticlesInLeaf = leaf->getTargets()->getNbParticles();
const FReal*const physicalValues = leaf->getTargets()->getPhysicalValues();
const FReal*const forcesX = leaf->getTargets()->getForcesX();
const FReal*const forcesY = leaf->getTargets()->getForcesY();
const FReal*const forcesZ = leaf->getTargets()->getForcesZ();
const int nbParticlesInLeaf = leaf->getTargets()->getNbParticles();
const FVector<int>& indexes = leaf->getTargets()->getIndexes();
for(int idxPart = 0 ; idxPart < nbParticlesInLeaf ; ++idxPart){
......@@ -147,32 +149,39 @@ class TestSphericalDirectPeriodic : public FUTester<TestSphericalDirectPeriodic>
fx.add(particles[indexPartOrig].forces[0],forcesX[idxPart]);
fy.add(particles[indexPartOrig].forces[1],forcesY[idxPart]);
fz.add(particles[indexPartOrig].forces[2],forcesZ[idxPart]);
energy += potentials[idxPart]*physicalValues[idxPart];
}
});
}
Print("Potential diff is = ");
Print(potentialDiff.getL2Norm());
Print(potentialDiff.getInfNorm());
printf(" L2Norm %e\n",potentialDiff.getRelativeL2Norm());
printf(" RMSError %e\n",potentialDiff.getRMSError());
Print("Fx diff is = ");
Print(fx.getL2Norm());
Print(fx.getInfNorm());
printf(" L2Norm %e\n",fx.getRelativeL2Norm());
printf(" RMSError %e\n",fx.getRMSError());
Print(fx.getRelativeL2Norm());
Print(fx.getRelativeInfNorm());
Print("Fy diff is = ");
Print(fy.getL2Norm());
Print(fy.getInfNorm());
printf(" L2Norm %e\n",fy.getRelativeL2Norm());
printf(" RMSError %e\n",fy.getRMSError());
Print("Fz diff is = ");
Print(fz.getL2Norm());
Print(fz.getInfNorm());
const FReal MaximumDiff = FReal(0.0001);
uassert(potentialDiff.getL2Norm() < MaximumDiff);
uassert(potentialDiff.getInfNorm() < MaximumDiff);
uassert(fx.getL2Norm() < MaximumDiff);
uassert(fx.getInfNorm() < MaximumDiff);
uassert(fy.getL2Norm() < MaximumDiff);
uassert(fy.getInfNorm() < MaximumDiff);
uassert(fz.getL2Norm() < MaximumDiff);
uassert(fz.getInfNorm() < MaximumDiff);
printf(" L2Norm %e\n",fz.getRelativeL2Norm());
printf(" RMSError %e\n",fz.getRMSError());
FReal L2error = (fx.getRelativeL2Norm()*fx.getRelativeL2Norm() + fy.getRelativeL2Norm()*fy.getRelativeL2Norm() + fz.getRelativeL2Norm() *fz.getRelativeL2Norm() );
printf(" L2 Force Error= %e\n",FMath::Sqrt(L2error)) ;
printf(" Energy = %.12e\n",energy);
const FReal MaximumDiff = FReal(0.001);
uassert(potentialDiff.getRelativeL2Norm() < MaximumDiff); // 1
uassert(potentialDiff.getRMSError() < MaximumDiff); // 2
uassert(fx.getRelativeL2Norm() < MaximumDiff); // 3
uassert(fx.getRMSError() < MaximumDiff); // 4
uassert(fy.getRelativeL2Norm() < MaximumDiff); // 5
uassert(fy.getRMSError() < MaximumDiff); // 6
uassert(fz.getRelativeL2Norm() < MaximumDiff); // 7
uassert(fz.getRMSError() < MaximumDiff); // 8
delete[] particles;
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment