mirror of
https://gitlab.com/scemama/qmcchem.git
synced 2024-08-31 23:33:42 +02:00
Merge branch 'master' of gitlab.com:scemama/qmcchem
This commit is contained in:
commit
bb64e47ac9
2
EZFIO
2
EZFIO
@ -1 +1 @@
|
|||||||
Subproject commit ed1df9f3c1f51752656ca98da5693a4119add05c
|
Subproject commit d5805497fa0ef30e70e055cde1ecec2963303e93
|
@ -1,4 +1,4 @@
|
|||||||
#!/usr/bin/env python3 -u
|
#!/usr/bin/env python3
|
||||||
|
|
||||||
import scipy as sp
|
import scipy as sp
|
||||||
import scipy.optimize
|
import scipy.optimize
|
||||||
@ -9,6 +9,8 @@ import time
|
|||||||
import subprocess
|
import subprocess
|
||||||
from math import sqrt
|
from math import sqrt
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
QMCCHEM_PATH=os.environ["QMCCHEM_PATH"]
|
QMCCHEM_PATH=os.environ["QMCCHEM_PATH"]
|
||||||
|
|
||||||
sys.path.insert(0,QMCCHEM_PATH+"/EZFIO/Python/")
|
sys.path.insert(0,QMCCHEM_PATH+"/EZFIO/Python/")
|
||||||
@ -54,6 +56,7 @@ def main():
|
|||||||
for m in atom_map:
|
for m in atom_map:
|
||||||
print(m[0])
|
print(m[0])
|
||||||
print (d[m[0]])
|
print (d[m[0]])
|
||||||
|
sys.stdout.flush()
|
||||||
return np.array([d[m[0]] for m in atom_map])
|
return np.array([d[m[0]] for m in atom_map])
|
||||||
|
|
||||||
|
|
||||||
@ -118,6 +121,7 @@ def main():
|
|||||||
memo_energy = {'fmin': 100000000.}
|
memo_energy = {'fmin': 100000000.}
|
||||||
def f(x):
|
def f(x):
|
||||||
print ("x = %s"%str(x))
|
print ("x = %s"%str(x))
|
||||||
|
sys.stdout.flush()
|
||||||
h = str(x)
|
h = str(x)
|
||||||
if h in memo_energy:
|
if h in memo_energy:
|
||||||
return memo_energy[h]
|
return memo_energy[h]
|
||||||
@ -144,6 +148,7 @@ def main():
|
|||||||
energy = e #+ variance
|
energy = e #+ variance
|
||||||
err = e_err #sqrt(e_err*e_err+v_err*v_err)
|
err = e_err #sqrt(e_err*e_err+v_err*v_err)
|
||||||
print(" %f %f %f %f %f %f"%(e, e_err, variance, v_err, energy, err))
|
print(" %f %f %f %f %f %f"%(e, e_err, variance, v_err, energy, err))
|
||||||
|
sys.stdout.flush()
|
||||||
if (energy-2.*err) > memo_energy['fmin']+thresh:
|
if (energy-2.*err) > memo_energy['fmin']+thresh:
|
||||||
local_thresh = 10.*thresh
|
local_thresh = 10.*thresh
|
||||||
elif (energy+2.*err) < memo_energy['fmin']-thresh:
|
elif (energy+2.*err) < memo_energy['fmin']-thresh:
|
||||||
@ -154,6 +159,7 @@ def main():
|
|||||||
os.kill(pid,0)
|
os.kill(pid,0)
|
||||||
except OSError:
|
except OSError:
|
||||||
print("---")
|
print("---")
|
||||||
|
sys.stdout.flush()
|
||||||
break
|
break
|
||||||
stop_qmc()
|
stop_qmc()
|
||||||
os.wait()
|
os.wait()
|
||||||
@ -170,6 +176,7 @@ def main():
|
|||||||
opt = sp.optimize.minimize(f,x,method="Powell",
|
opt = sp.optimize.minimize(f,x,method="Powell",
|
||||||
options= {'disp':True, 'ftol':thresh,'xtol':0.02})
|
options= {'disp':True, 'ftol':thresh,'xtol':0.02})
|
||||||
print("x = "+str(opt))
|
print("x = "+str(opt))
|
||||||
|
sys.stdout.flush()
|
||||||
set_params_b(opt['x'][0])
|
set_params_b(opt['x'][0])
|
||||||
set_params_pen(opt['x'][1:])
|
set_params_pen(opt['x'][1:])
|
||||||
|
|
||||||
|
@ -2,7 +2,7 @@ default_target: all
|
|||||||
|
|
||||||
Downloads/irpf90.tar.gz:
|
Downloads/irpf90.tar.gz:
|
||||||
wget --no-check-certificate \
|
wget --no-check-certificate \
|
||||||
"https://gitlab.com/scemama/irpf90/-/archive/v2.0.0/irpf90-v2.0.0.tar.gz" \
|
"https://gitlab.com/scemama/irpf90/-/archive/v2.0.5/irpf90-v2.0.5.tar.gz" \
|
||||||
-O $@.tmp -o /dev/null && mv $@.tmp $@
|
-O $@.tmp -o /dev/null && mv $@.tmp $@
|
||||||
|
|
||||||
Downloads/ezfio.tar.gz:
|
Downloads/ezfio.tar.gz:
|
||||||
@ -31,7 +31,7 @@ _build/irpf90.ok ../bin/irpman ../bin/irpf90: Downloads/irpf90.tar.gz
|
|||||||
touch _build/$${target}.ok || cat _build/$${target}.log
|
touch _build/$${target}.ok || cat _build/$${target}.log
|
||||||
|
|
||||||
|
|
||||||
_build/zmq.ok ../lib/libzmq.a ../lib/libzmq.so.5 ../lib/libzmq.so ../lib/zmq.h ../lib/zmq_utils.h: Downloads/zmq.tar.gz
|
_build/zmq.ok: Downloads/zmq.tar.gz
|
||||||
export target=zmq ; \
|
export target=zmq ; \
|
||||||
./scripts/install_$${target}.sh > _build/$${target}.log 2>&1 &&\
|
./scripts/install_$${target}.sh > _build/$${target}.log 2>&1 &&\
|
||||||
touch _build/$${target}.ok || cat _build/$${target}.log
|
touch _build/$${target}.ok || cat _build/$${target}.log
|
||||||
@ -41,31 +41,31 @@ _build/ezfio.ok: Downloads/ezfio.tar.gz
|
|||||||
./scripts/install_$${target}.sh > _build/$${target}.log 2>&1 &&\
|
./scripts/install_$${target}.sh > _build/$${target}.log 2>&1 &&\
|
||||||
touch _build/$${target}.ok || cat _build/$${target}.log
|
touch _build/$${target}.ok || cat _build/$${target}.log
|
||||||
|
|
||||||
_build/f77_zmq.ok ../src/ZMQ/f77_zmq.h ../lib/libf77zmq.a ../lib/libf77zmq.so: Downloads/f77_zmq.tar.gz _build/zmq.ok ../lib/libzmq.a ../lib/libzmq.so.5 ../lib/libzmq.so ../lib/zmq.h ../lib/zmq_utils.h
|
_build/f77_zmq.ok: Downloads/f77_zmq.tar.gz _build/zmq.ok
|
||||||
export target=f77_zmq ; \
|
export target=f77_zmq ; \
|
||||||
./scripts/install_$${target}.sh > _build/$${target}.log 2>&1 &&\
|
./scripts/install_$${target}.sh > _build/$${target}.log 2>&1 &&\
|
||||||
touch _build/$${target}.ok || cat _build/$${target}.log
|
touch _build/$${target}.ok || cat _build/$${target}.log
|
||||||
|
|
||||||
_build/qmcchemrc.ok ../qmcchemrc: _build/irpf90.ok ../bin/irpman ../bin/irpf90 _build/ezfio.ok
|
_build/qmcchemrc.ok: _build/irpf90.ok _build/ezfio.ok
|
||||||
export target=qmcchemrc; \
|
export target=qmcchemrc; \
|
||||||
./scripts/install_$${target}.sh > _build/$${target}.log 2>&1 &&\
|
./scripts/install_$${target}.sh > _build/$${target}.log 2>&1 &&\
|
||||||
touch _build/$${target}.ok || cat _build/$${target}.log
|
touch _build/$${target}.ok || cat _build/$${target}.log
|
||||||
|
|
||||||
_build/ocaml.ok ../bin/opam: Downloads/opam_installer.sh _build/qmcchemrc.ok ../qmcchemrc
|
_build/ocaml.ok: Downloads/opam_installer.sh _build/qmcchemrc.ok ../qmcchemrc
|
||||||
which opam && touch _build/$${target}.ok ../bin/opam || \
|
which opam && touch _build/$${target}.ok || \
|
||||||
( export target=ocaml; \
|
( export target=ocaml; \
|
||||||
./scripts/install_$${target}.sh > _build/$${target}.log 2>&1 &&\
|
./scripts/install_$${target}.sh > _build/$${target}.log 2>&1 &&\
|
||||||
touch _build/$${target}.ok || cat _build/$${target}.log ;\
|
touch _build/$${target}.ok || cat _build/$${target}.log ;\
|
||||||
)
|
)
|
||||||
|
|
||||||
_build/ocaml_zmq.ok: ../bin/opam ../lib/libzmq.so ../lib/zmq.h ../lib/zmq_utils.h _build/ocaml.ok _build/zmq.ok ../lib/libzmq.a ../lib/libzmq.so.5 ../lib/libzmq.so ../lib/zmq.h ../lib/zmq_utils.h
|
_build/ocaml_zmq.ok: _build/ocaml.ok
|
||||||
export target=ocaml_zmq; \
|
export target=ocaml_zmq; \
|
||||||
./scripts/install_$${target}.sh > _build/$${target}.log 2>&1 &&\
|
./scripts/install_$${target}.sh > _build/$${target}.log 2>&1 &&\
|
||||||
touch _build/$${target}.ok || cat _build/$${target}.log
|
touch _build/$${target}.ok || cat _build/$${target}.log
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
all: _build/ocaml_zmq.ok _build/ocaml.ok ../bin/opam _build/qmcchemrc.ok ../qmcchemrc _build/f77_zmq.ok ../src/ZMQ/f77_zmq.h ../lib/libf77zmq.a ../lib/libf77zmq.so _build/ezfio.ok _build/zmq.ok ../lib/libzmq.a ../lib/libzmq.so.5 ../lib/libzmq.so ../lib/zmq.h ../lib/zmq_utils.h _build/irpf90.ok ../bin/irpman ../bin/irpf90
|
all: _build/ocaml_zmq.ok _build/ocaml.ok _build/qmcchemrc.ok _build/f77_zmq.ok _build/ezfio.ok _build/zmq.ok _build/irpf90.ok
|
||||||
@echo "Now, source again the qmcchemrc file"
|
@echo "Now, source again the qmcchemrc file"
|
||||||
@echo "source $$QMCCHEM_PATH/qmcchemrc"
|
@echo "source $$QMCCHEM_PATH/qmcchemrc"
|
||||||
|
|
||||||
|
@ -139,9 +139,8 @@ let display_summary ~range =
|
|||||||
and print_property property =
|
and print_property property =
|
||||||
let p = Random_variable.of_raw_data ~range property
|
let p = Random_variable.of_raw_data ~range property
|
||||||
in
|
in
|
||||||
Printf.printf "%20s : %s\n%!"
|
Printf.printf "%20s : %!" (Property.to_string property);
|
||||||
(Property.to_string property)
|
Printf.printf "%s\n%!" (Random_variable.to_string p)
|
||||||
(Random_variable.to_string p)
|
|
||||||
in
|
in
|
||||||
List.iter print_property properties ;
|
List.iter print_property properties ;
|
||||||
|
|
||||||
|
@ -209,7 +209,7 @@ let ave_error { property ; data } =
|
|||||||
else
|
else
|
||||||
( Average.of_float (sum /. ansum), None)
|
( Average.of_float (sum /. ansum), None)
|
||||||
end
|
end
|
||||||
| (x,w) :: tail ->
|
| (x, w) :: tail ->
|
||||||
begin
|
begin
|
||||||
let avcu0 = avsum /. ansum in
|
let avcu0 = avsum /. ansum in
|
||||||
let xw = x *. w in
|
let xw = x *. w in
|
||||||
@ -633,6 +633,7 @@ let to_string p =
|
|||||||
in
|
in
|
||||||
Printf.sprintf "%16.10f" ave
|
Printf.sprintf "%16.10f" ave
|
||||||
else
|
else
|
||||||
|
begin
|
||||||
match ave_error p with
|
match ave_error p with
|
||||||
| (ave, Some error) ->
|
| (ave, Some error) ->
|
||||||
let idxmax =
|
let idxmax =
|
||||||
@ -645,16 +646,18 @@ let to_string p =
|
|||||||
Error.to_float ~idx error
|
Error.to_float ~idx error
|
||||||
in
|
in
|
||||||
let s =
|
let s =
|
||||||
Printf.sprintf "%8d : %16.10f +/- %16.10f ;\n" (idx+1) ave error
|
Printf.sprintf "%8d : %16.10f +/- %16.10f ;" (idx+1) ave error
|
||||||
in
|
in
|
||||||
f (accu ^ s) (idx+1)
|
(f [@tailcall]) (s :: accu) (idx+1)
|
||||||
else
|
else
|
||||||
accu
|
List.rev (" ]" :: accu)
|
||||||
in
|
in
|
||||||
(f "[ \n" 0) ^ " ]"
|
f ["[ \n"] 0
|
||||||
|
|> String.concat "\n"
|
||||||
| (ave, None) ->
|
| (ave, None) ->
|
||||||
Average.to_float ave
|
Average.to_float ave
|
||||||
|> Printf.sprintf "%16.10f"
|
|> Printf.sprintf "%16.10f%!"
|
||||||
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|
||||||
|
@ -58,7 +58,10 @@ let of_bytes b =
|
|||||||
| 8 -> let x = Qptypes.float_of_bytes b in
|
| 8 -> let x = Qptypes.float_of_bytes b in
|
||||||
One_dimensional x
|
One_dimensional x
|
||||||
| l -> let len = l/8 in
|
| l -> let len = l/8 in
|
||||||
|
let result =
|
||||||
Multidimensional ( Array.init len (fun i ->
|
Multidimensional ( Array.init len (fun i ->
|
||||||
Bytes.get_int64_ne b (i*8)
|
Bytes.get_int64_ne b (i*8)
|
||||||
|> Int64.float_of_bits ),
|
|> Int64.float_of_bits ),
|
||||||
len )
|
len )
|
||||||
|
in
|
||||||
|
result
|
||||||
|
@ -10,7 +10,10 @@ source make.config
|
|||||||
source qmcchemrc
|
source qmcchemrc
|
||||||
FCFLAGS="${FCFLAGS} -fPIC"
|
FCFLAGS="${FCFLAGS} -fPIC"
|
||||||
export IRPF90 FC FCFLAGS AR RANLIB
|
export IRPF90 FC FCFLAGS AR RANLIB
|
||||||
cd EZFIO
|
cd EZFIO/config
|
||||||
|
[[ -f properties.config ]] || ln -s ../../ezfio_config/properties.config .
|
||||||
|
[[ -f qmc.config ]] || ln -s ../../ezfio_config/qmc.config .
|
||||||
|
cd ..
|
||||||
source ../make.config
|
source ../make.config
|
||||||
make || exit -1
|
make || exit -1
|
||||||
cp lib/libezfio{,_irp}.a ${QMCCHEM_PATH}/lib/ || exit 1
|
cp lib/libezfio{,_irp}.a ${QMCCHEM_PATH}/lib/ || exit 1
|
||||||
|
Loading…
Reference in New Issue
Block a user