.. | ||
org | ||
83.mo_optimization.bats | ||
cipsi_orb_opt.irp.f | ||
class.irp.f | ||
constants.h | ||
debug_gradient_list_opt.irp.f | ||
debug_gradient_opt.irp.f | ||
debug_hessian_list_opt.irp.f | ||
debug_hessian_opt.irp.f | ||
diagonal_hessian_list_opt.irp.f | ||
diagonal_hessian_opt.irp.f | ||
diagonalization_hessian.irp.f | ||
EZFIO.cfg | ||
first_diagonal_hessian_list_opt.irp.f | ||
first_diagonal_hessian_opt.irp.f | ||
first_gradient_list_opt.irp.f | ||
first_gradient_opt.irp.f | ||
first_hessian_list_opt.irp.f | ||
first_hessian_opt.irp.f | ||
gradient_list_opt.irp.f | ||
gradient_opt.irp.f | ||
hessian_list_opt.irp.f | ||
hessian_opt.irp.f | ||
NEED | ||
orb_opt.irp.f | ||
README.md | ||
run_orb_opt_trust_v2.irp.f | ||
save_energy.irp.f | ||
state_average_energy.irp.f | ||
state_weight_normalization.irp.f | ||
update_parameters.irp.f | ||
update_st_av_ci_energy.irp.f |
Orbital optimization
Methods
Different methods are available:
- full hessian
qp set orbital_optimization optimization_method full
- diagonal hessian
qp set orbital_optimization optimization_method diag
- identity matrix
qp set orbital_optimization optimization_method none
After the optimization the ezfio contains the optimized orbitals
For a fixed number of determinants
To optimize the MOs for the actual determinants:
qp run orb_opt
For a complete optimization, i.e, with a larger and larger wave function
To optimize the MOs with a larger and larger wave function:
qp run optimization
The results are stored in the EZFIO in “mo_optimization/result_opt”,
with the following format:
(1) (2) (3) (4)
1: Number of determinants in the wf,
2: Cispi energy before the optimization,
3: Cipsi energy after the optimization,
4: Energy difference between (2) and (3).
The optimization process if the following: - we do a first cipsi step
to obtain a small number of determinants in the wf - we run an orbital
optimization for this wf - we do a new cipsi step to double the number
of determinants in the wf - we run an orbital optimization for this wf -
… - we do that until the energy difference between (2) and (3) is
smaller than the targeted accuracy for the cispi
(targeted_accuracy_cipsi in qp edit) or the wf is larger than a given
size (n_det_max_opt in qp_edit) - after that you can reset your
determinants (qp reset -d) and run a clean Cispi calculation
End of the optimization
You can choos the number of determinants after what the optimization will stop:
qp set orbital_optimization n_det_max_opt 1e5 # or any number
Weight of the states
You can change the weights of the differents states directly in qp
edit.
It will affect ths weights used in the orbital optimization.
Tests
To run the tests:
qp test
Org files
The org files are stored in the directory org in order to avoid overwriting on user changes. The org files can be modified, to export the change to the source code, run
./TANGLE_org_mode.sh
mv *.irp.f ../.