Skip to content

Commit 8858ca2

Browse files
committed
Add case of using another molecule
1 parent 27df66f commit 8858ca2

File tree

2 files changed

+17
-0
lines changed

2 files changed

+17
-0
lines changed

README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,8 @@ The following command-line options are available when running `capi-demo`. These
174174
| --adet_comm_size <int> | Number of nodes used to split the alpha-determinants. | 1 |
175175
| --bdet_comm_size <int> | Number of nodes used to split the beta-determinants. | 1 |
176176
| --task_comm_size <int> | MPI communicator size for task-level parallelism. | 1 |
177+
| --energy_target <float> | Target energy for convergence (optional). | -326.6 (Fe4S4) |
178+
| --energy_variance <float> | Target energy variance for convergence (optional). | 1.0 (Fe4S4) |
177179

178180

179181
## Input Data
@@ -185,6 +187,13 @@ These parameters can also be obtained using `ffsim`.
185187

186188
- The values in the `initial_occupancies_fe4s4.json` file are the eigenvalues obtained by diagonalizing the contracted one-electron density matrix from the MP2 method.
187189

190+
## Case of Using another molecule
191+
To simulate a different molecule, you need to prepare the following files:
192+
1. An FCIDUMP file containing the molecular integrals for the target molecule.
193+
2. A JSON file containing the parameters for the LUCJ circuit, including the number of orbitals, number of electrons, and other relevant settings.
194+
3. A JSON file defining the initial orbital occupancies.
195+
4. Set appropriate values for `--energy_target` and `--energy_variance` based on the target molecule.
196+
5. Change the file paths in the main.cpp.
188197

189198
## Contributing
190199

src/sbd_helper.hpp

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,14 @@ SBD generate_sbd_data(int argc, char *argv[])
9090
sbd.task_comm_size = std::atoi(argv[i + 1]);
9191
i++;
9292
}
93+
if (std::string(argv[i]) == "--energy_target") {
94+
sbd.init = std::atoi(argv[i + 1]);
95+
i++;
96+
}
97+
if (std::string(argv[i]) == "--energy_variance") {
98+
sbd.init = std::atoi(argv[i + 1]);
99+
i++;
100+
}
93101
}
94102
return sbd;
95103
}

0 commit comments

Comments
 (0)