24.12.2024: rhsMonomer: accepts pointer so that monomer's qp can be changed if apply_requantization flag is set.
06.01.2025: Makefile: switched to Makefile from build script.
08.01.2025 added MPI library which is hidden by the guard macro, implemented mpi_calculate_M0. Now the MPI and non-MPI versions of hawaii.c are compiled into two object files.
09.01.2025 Porting some of hep-functionality in hep_hawaii.cpp. Zeroth moment can be calculated using adaptive Monte Carlo integration over phase space.
10.01.2025 Tracking the number of turning points is added to correlation_eval.
10.01.2025 PES and its derivatives for are adapted.
11.01.2025 fixing error inverting momenta in correlation_eval. Calculating correlation function for seems to be working correctly. Need to run a calculation with larger number of trajectories.
12.01.2025 added higher-order finite-difference formulas for differentiating energy: compute_numerical_rhs
12.01.2025 trajectory for using kinetic energy only works correctly. Angles transformation and its jacobian needs to be adapted from FUNCHAL to account for different order of coordinates.
15.01.2025 Run calculation of correlation function for for 10.000.000 trajectories. The correlation function is in close agreement with the previous results. Now moving on to adapting code for processing correlation functions in hawaii.
17.01.2025 Adapted functions related to processing correlation function from FUNCHAL. Code implementing LOESS algorithm is left as-is because of the use of Eigen3.
19.01.2025 Added checks for NaN values of dipole in correlation_eval to avoid the corruption of the correlation function estimate. At least one corrupted value of correlation function for has occurred during the calculation of 10.000.000 trajectories. The reason for the occurence of the NaN is unknown. Should investigate when initial condition leading to NaN values is found. Probably this overflow occured due to overflow in generate_normal
19.01.2025 Implemented calculate_spectral_function_using_prmu_representation_and_save function and tested that it produces correct result for at 300 K.
20.01.2025 Enable switch-enum option for compiler to invoke warning in the switch-cases where one of the cases of the enum is not explicitly handled even though default case is present.
20.01.2025 Caught a possible (but really rare) overflow error in the implementation of Box-Mueller algorithm for sampling normally distributed variable: generate_normal.
20.01.2025 Estimate based on the spectral function obtained during each iteration of the pr-mu calculation
20.01.2025 Estimate using rejection sampling and using hep. Works for
22.01.2025 Trying out calculating correlation function for CO-Ar. Why is the error in is 13% for 20.000.000 points? , . There was error in passing the arguments to dipole function. The correlation function breaks at some point during the calculation. Extremely large values (1e194) occur at approximately the same time intervals in the correlation function rendering it useless. Maybe it happens because of the PES, not because of IDS?
25.01.2025 jacobian is working for . hawaii is extended with function to compute numerical jacobian; analytical and numerical jacobians are in close agreement.
25.01.2025 fixed a bug in extract_q_and_write_into_ms where coordinates for second monomer actually were overwriting the coordinates for the first monomer
26.01.2025 adapted dipole function for
26.01.2025examples/mpi_phase_space_integration_ch4_co2 produces and spectral moments at 300 K which are consistent with previous estimations: , .
26.01.2025 differentiate between debug/release build in Makefile: apply separate compilation flags
27.01.2025examples/correlation_ch4_co2 produces what seems to be a correct spectrum, the spectral moments are in agreement with their phase-space counterparts.
27.01.2025 bug fix: desymmetrization procedure didn't propagate temperature to the output structure
31.01.2025 Implementing calculate_correlation_array_and_save that employs individual trajectory reweighting to produce results at satellite temperatures: testing on in examples/correlation_array_co2_ar
01.02.2025 During the correlation and pr-mu calculations for on cluster, the file with temporary result is not written (at least for several iterations at the end of which the file is supposed to be written). Turns out that if stream is flushed using fflush and filesystem caches for a given file descriptor are forced to be committed to disk using syncfs the problem is resolved.
01.02.2025calculate_correlation_array_and_save produces spectral profiles for (unbound states) that are in close agreement with the results obtained in 2021. Ensemble of approximately 8 million trajectories was used.
06.02.2025 CO-Ar 300K: , .
08.02.2025 the factor by is moved from save_correlation_function to correlation_eval.
09.02.2025 added normalized flag to CFnc, changed reading/saving correlation function from/to file
09.02.2025 added parsing Temperature and ntraj from header of the file using regex and added averaging of correlation functions
09.02.2025 rewrite of LOESS code to better understand what's going on there: prepare for OpenMP parallelization, check out different approaches to solve the weighted linear squares problem
09.02.2025 loess: added OpenMP parallelization of the main loop
12.02.2025 added checking for energy conservation inside trajectory: maybe need to check this info in correlation_eval and discard the outlying trajectories?}
12.02.2025 implemented average_correlation_functions using vararg
12.03.2025 calculated correlation functions for He-Ar at 50K and 300K using 500mln and 300mln trajectories, respectively. At 300K we achieved a decent looking spectrum, however at 50K it still looks not converged at large frequencies. Moreover, the correlation function at 50K exhibits pulsing (beating) oscillations which result in some spectral feature at 3.5 . What is it? Is it reproducible in quantum calculation? It is somewhat reproduced in quantum calculation. More investigation is needed. Probably should be discussed in separate paper on He-Ar calculations with spectra provided in wide temperature range.
16.03.2025hawaii: use appropriate partial partition function for each temperature when calculating before proceeding to propagate trajectories
18.03.2025 Caught this mysterious error during bound states calculation for : [n01p012:2488401:0:2488401] Caught signal 7 (Bus error: nonexistent physical address)}. No stack trace, location of error unknown.
23.03.2025 Added functions to perform D4 and D4a desymmetrization. Some fixes included as of 26.06 (d4b file).
02.05.2025 PIP-NN potential and dipole are added. 300K: ,
03.05.2025 When performing calculation of the correlation function, garbage-like values were found in the correlation accumulator. Fixed: forgot to memset before use. Also call to memset is added in calculate_correlation_array_and_save.
03.05.2025 Call to MPI_Reduce is changed to the MPI_Send/MPI_Recv pair in calculate_correlation_and_save.
14.05.2025 Applying requantization to trajectory.
18.05.2025 Added some timestamps for HAWAII output and when saving spectral function to file in prmu-representation. Added the same timestamps for correlation function and correlation function arrays.
19.05.2025 Added PIP-NN representation of the ab initio induced dipole. Checked that it produces the same values as in FUNCHAL.
19.05.2025 experimenting with the Poisson distribution for free path in prmu representation
19.05.2025 reviewed molecular constants for CO. Be careful with modifying molecular constants, since potential or dipole function may heavily rely on the very specific values. It's not the case for PES for CO-Ar but may easily be in other cases.
19.05.2025MPI_AllReduceMPI_Send/MPI_Recv for calculation using prmu representation.
22.05.2025 Analytic consideration of the part of the trajectory when the linear molecule rotates freely
24.05.2025 Receive packets out-of-order from slave processes in calculate_spectral_function_using_prmu_representation_and_save
26.05.2025 Fixed gsl_histogram_extend_right
26.05.2025 Introduced Arena allocator and handled the extension of the histogram when received on the master process
26.05.2025 Introduced histograms of initial and final angular momenta in calculate_spectral_function_using_prmu_representation_and_save. For now, they are printed in the output file (stdout stream). Need to add the option to redirect them to the corresponding files and and customize filepaths through the CalcParams struct.
27.05.2025 Fixed a bug in the logic of turning on/off requantization in calculate_spectral_function_using_prmu_representation_and_save. It was noticed when histogram of the number of requantization switches has become available. After the fix the intensity distribution of requantized lines in the rotational band of CO-Ar became more logical and resembling the HITRAN one.
28.05.2025 Account for the effect of centrifugal distortion when requantization is applied. The line positions of CO became in excellent agreement with those from HITRAN spectra
13.07.2025 fixed parsing error in negative floating-point numbers in driver
13.07.2025 fixed printing accumulated results in mpi_calculate_M0
13.07.2025 mixed spectral moments for CO-Ar at 300 K are , .
13.09.2025 introduced storing floating-point numbers on Processing_Stack and writing them to file: COMPUTE_Mn_CLASSICAL_DETAILED_BALANCE and COMPUTE_Mn_QUANTUM_DETAILED_BALANCE now push result on the stack
14.09.2025 implemented calculating spectral moment from the spectral profile (for COMPUTE_Mn_CLASSICAL_DETAILED_BALANCE) by fitting clamped spline and integrating using adaptive CQUAD method from GSL
16.09.2025 adding floating-point numbers on the stack
17.09.2025 refactored setting up histograms (nswitch, jini, jfin) into separate functions to be reused in different calculation scenarios
17.09.2025 added sending nswitch histogram from slave processes to the master process in calculate_correlation_and_save; refactored the main loop so that master process does not do any trajectory propagation
17.09.2025 added window_size_cap argument for the SMOOTH command in the configuration file (smoothing CH4-CO2 spectra for free states for 100-140K)