-
Notifications
You must be signed in to change notification settings - Fork 15
Restart file collection + POD training #216
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
* add libROM to CMakelists.txt * Add shell_script * Minor changes * Add module file
* Update script to analyze forces on constraints * initial ci workflow files. * default branch name release. * create build directory for compilation. * minor fix --------- Co-authored-by: Jean-Luc Fattebert <fattebertj@ornl.gov>
* changed the Signal.h header file name. * additional routine to find scalapack library, if nothing is found. * ci workflow with test and format * changed branch name * ctest verbose * added --oversubscribe to cmake MPIEXEC_PREFLAGS variable. * parallel hdf5 package fix. also librom is included. * ci workflow only checks the first 20 tests. * minor fix * rom-fpmd driver and librom dependency in cmake. librom must be compiled before mgmol cmake. * cmake fix and toolchain file for LC quartz. * bug fix on FindSCALAPACK.cmake * librom-mgmol installation script for LC quartz.
|
@jeanlucf22 , this PR is still work-in-progress, but I'd like to ask you to review one function I drafted: The main intention with this function is to load wavefunctions from an existing restart file. Once the wavefunction data is loaded, we could convert/store the data into libROM matrix. This function will be called at least after Although, I'm not confident whether I put all the necessary routines in this function. Ultimately I should set up a unit test for this, but I just wanted to check with you if I missed something important or did not use some routines properly. |
This function loads the wavefunctions from an HDF5 file for the case OrbitalsType=ExtendedGridOrbitals. Would that fill your needs? |
…_info > 2) actions.
eeb3de8 to
5ec2dbe
Compare
This PR implements the restart file collection for libROM snapshot/POD matrix generation. This PR also includes some groundworks for overall ROM workflow.
libROM snapshot generation at FOM simulation
If
ROM.offline.save_librom_snapshotis set true, then the offline FOM simulation will generate libROM snapshot matrix files withct.md_print_filename + "_mdstep" + std::to_string(mdstep) + "_orbital" + "." + std::to_string(rank), e.g.,MD_mdstep1_snapshot.000000.The libROM snapshot files will be generated at
(md_iteration_ % ct.checkpoint) == 0.ROM workflow main driver
rom_main.ccand ROM workflow routinesrom_main.ccwill handle the entire workflow of ROM. Currently, only the restart file collection + POD training is implemented.src/rom_workflows.handsrc/rom_workflows.cc.readRestartFiles.MGmol<OrbitalsType>::loadOrbitalFromRestartFileMGmol<OrbitalsType>::loadOrbitalFromRestartFilereads the data from a restart file and generates a newOrbitalsTypeclass.OrbitalsType::read_func_hdf5reads the wavefunction from the restart file, further manipulation is required with additional routines, at least the extrapolation if used.loadOrbitalFromRestartFileused most routines that are usedif (ct.restart_info > 2).Option description separated
src/main.ccare now moved into a separate headertools/OptionDescription.h. The ROM driversrc/rom_main.ccshares the same option parsing routines.ROM-related options/controls
Controlclass has the ROM-related options all packed into one member variableROMPrivateOption rom_pri_options. This member variable is private in order to prevent changes from outside.src/rom_Control.hwill contain all enumeration/options related to ROM workflow.Pointer initialization
MGmol<OrbitalsType>::orbitals_extrapol_andOrbitalsExtrapolation::orbitals_minus1_are initialized asnullptrat class declaration. This is a change reflecting the issuenullptrinitialization of pointer member variables in class definition #223 .Minor changes
src/mgmol_config.h.ingenerates a compile-time header file, which has the libROM flagMGMOL_HAS_LIBROM. mgmol can be installed with/without libROM.src/tools/Signal_mgmol.h->src/tools/mgmol_Signal.h