We present the numerical code TAURUS_mix that performs the configuration mixing of symmetry-projected reference states to build better approximations to the eigenstates of the nuclear Hamiltonian. The correlated states thus obtained are linear superpositions of the reference states with the weights of the latter being determined by solving the Hill-Wheeler-Griffin (HWG) equation for each value of the angular momentum and parity considered. The code uses as inputs the projected matrix elements generated by the code TAURUS_pav and computes as output the matrix elements of the correlated states for the most important spectroscopic observables: energy, charge radius, electromagnetic moments and reduced transition probabilities, etc.
This code is part of the larger project TAURUS that aims at developing a numerical suite centered around the concept of symmetry-projected variational calculations and was initially supported by the the European Union’s Horizon 2020 research and innovation programme.
We provide scripts to compile the code in two alternative ways. The first one is based on Bash
scripting whereas the second one is relying on the Make
compilation tool.
Pick the method you prefer but be aware that we cannot guarantee that the scripts, as is, will work on your system. In particular, if it does not work we encourage you to
check your compiler version (there are a few Fortran 2003/2008 commands that might not be implemented in old compilers) and the path to link the BLAS/LAPACK libraries (required).
To compile the code, go to the main directory and enter the command
bash compile.sh FC
where FC
is the following argument
FC
=gfortran
,ifort
Fortran compiler.
For example, to compile using the intel compiler, execute the command
bash compile.sh ifort
The script can also be launched without any argument
bash compile.sh
In such case, the script will assume the value gfortran
as argument.
If the compilation is successful, i.e. the executable file taurus_mix.exe
was created and moved to the exe
directory, the script will print "compilation successful." as last message.
Otherwise, the script will print the message "compilation failed.".
The cleaning of files and directories is automatically perfomed by the script after the compilation.
To compile the code, go to the main directory and enter the command
make all FC=
where FC
is the same argument as above. The argument has to be entered with the name of the variable.
For example, to compile using the intel compiler, execute the command
make all FC=ifort
The script can also be launched without any argument
make
In such case, the script will assume the recipe all
and the values FC=gfortran
.
To clean the directories before or after a fresh compilation, type
make clean
It will automatically remove the *.mod
and *.o
files in the the mod/
and obj/
subdirectories, respectively.
You can also use the command make deepclean
if you want to delete the directories mod/
and obj/
themselves.
To execute the code, go in the directory containing the executable file and type the command
./taurus_mix.exe < input.txt
where input.txt
is the STDIN file containing the inputs parameters. The details concerning the format of STDIN can be found in the file doc/manual_input.pdf
.
The code also requires, in the same directory, the files containing the matrix elements of the projected states.
To simplify the execution of the code, we provide the script launch.sh
that performs all the necessary steps to run a calculation.
To use it, go in the main directory and type the command
bash launch.sh
At the end of a successful run, the code will print in the STDOUT the following sentence
This is the end, my only friend, the end.
As explained above, the code will require as input files, the STDIN and the various files containing the projected matrix elements. Note that the files that contain the matrix elements for the electromagnetic transitions are optional and their absence will not block the execution of the code.
See the file extras/manual_input.pdf
for more details.
During its execution, the code prints various information (e.g. norm eigenvalues for each symmetry block, expectation values for the different observables, etc.) in the STDOUT.
We recommend to store the printing in a file output.txt
by typing
./taurus_mix.exe < input.txt > output.txt
or
bash launch.sh > ouput.txt
Additionally, the code will produce other files containing relevant informations such as the the weights in the superposed states, the energy spectrum and electromagnetic transition probabilities, etc. The names of all the files produced during a run are recalled at the end of the STDOUT.
We provide 2 examples of simple calculations in the examples
directory:
- Configuration mixing for triaxial valence-space calculations of Mg25 with the USDB effective interaction.
- Configuration mixing for axial no-core ab initio calculations of Ti48 with the IMRSG-evolved EM18/20 chiral Hamiltonian.
To run an example calculation, go the appropriate subdirectory and execute the script
bash launch_example.sh
The examples take less than a second to complete on a recent laptop.
These examples are somewhat trivial but can be used to become familiar with the code and check that it runs properly. In particular, for each example, we provide a file containing the expected result after a correct run of the code.
If you use this code in your research work and publications, please cite us:
Symmetry-projected variational calculations with the numerical suite TAURUS
II. Configuration mixing of symmetry-projected reference states
B. Bally, T. R. Rodríguez
Eur. Phys. J. A 60, 62 (2024)
https://doi.org/10.1140/epja/s10050-024-01271-0
TAURUS_mix is licensed under GNU General Public License version 3 (see LICENSE.txt).
The project TAURUS was initially supported by the the European Union’s Horizon 2020 research and innovation programme under the Marie Skłodowska-Curie grant agreement No. 839847.
https://cordis.europa.eu/project/id/839847
For the time being, the people that contributed to the code are:
- Benjamin Bally (CEA Paris-Saclay)
- Tomás R. Rodríguez Frutos (Universidad Complutense de Madrid)