Hawaii Hybrid
Loading...
Searching...
No Matches
Changelog
  • 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 implemented calculate_correlation_and_save.
  • 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 $ \textrm{CH}_4-\textrm{CO}_2 $ are adapted.
  • 11.01.2025 fixing error inverting momenta in correlation_eval. Calculating correlation function for $ \textrm{CO}_2-Ar $ 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 $ \textrm{CH}_4-\textrm{CO}_2 $ 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 $ \textrm{CO}_2-\textrm{Ar} $ 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 $\textrm{CO}_2-\textrm{Ar} $ 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 $ \textrm{CO}_2-\textrm{Ar} $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 $ \textrm{M}_0 $ based on the spectral function obtained during each iteration of the pr-mu calculation
  • 20.01.2025 Estimate $ \textrm{M}_2 $ using rejection sampling and using hep. Works for $ \textrm{CO}_2-\textrm{Ar} $
  • 22.01.2025 Trying out calculating correlation function for CO-Ar. Why is the error in $ \textrm{M}_2 $ is 13% for 20.000.000 points? $ \textrm{M}_0 = 1.847 \cdot 10^{-4} $, $ \textrm{M}_2 = 4.148 $. 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 $ \textrm{CH}_4-\textrm{CO}_2 $. 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 $ \textrm{CH}_4-\textrm{CO}_2 $
  • 26.01.2025 examples/mpi_phase_space_integration_ch4_co2 produces $ \textrm{M}_0 $ and $ \textrm{M}_2 $ spectral moments at 300 K which are consistent with previous estimations: $ \textrm{M}_0 = 8.29 \cdot 10^{-4} $, $ \textrm{M}_2 = 5.37 $.
  • 26.01.2025 differentiate between debug/release build in Makefile: apply separate compilation flags
  • 27.01.2025 examples/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 $ \textrm{CO}_2-\textrm{Ar}$ in examples/correlation_array_co2_ar
  • 01.02.2025 During the correlation and pr-mu calculations for $ \textrm{CO}_2-\textrm{Ar} $ 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.2025 calculate_correlation_array_and_save produces spectral profiles for $ \textrm{CO}_2-Ar $ (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: $ \textrm{M}_0 = 1.850 \cdot 10^{-4} $, $ \textrm{M}_2 = 1.884 $.
  • 08.02.2025 the factor by $ \textrm{ALU}^3 $ 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
  • 11.02.2025 loess: refactored creating window & added stubs for running outside OpenMP environment
  • 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 $ \textrm{cm}^{-1} $. 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.2025 hawaii: use appropriate partial partition function for each temperature when calculating $ \textrm{M}_0 $ before proceeding to propagate trajectories
  • 18.03.2025 Caught this mysterious error during bound states calculation for $ \textrm{CH}_4-\textrm{CO}_2 $: [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 $ \textrm{N}_2-\textrm{Ar} $ PIP-NN potential and dipole are added. $ \textrm{N}_2-\textrm{Ar} $ 300K: $ \textrm{M}_0 = 3.833 \cdot 10^{-5} $, $ M_2 = 0.2321. $
  • 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 $ \textrm{H}_2-\textrm{Ar} $ 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 $ \textrm{H}_2-\textrm{Ar} $ 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.2025 MPI_AllReduce $ \rightarrow $ MPI_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 $ \textrm{M}_0(\textrm{mixed}) = 5.44\cdot 10^{-5} $, $ \textrm{M}_2 (\textrm{mixed}) = 1.46 \cdot 10^{-1} $.
  • 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)