Commit a31c9bca authored by Leon Pyka's avatar Leon Pyka
Browse files

restarting test works

parent 9a3195ed
Loading
Loading
Loading
Loading
+54 −0
Original line number Diff line number Diff line
import sys
import numpy as np
import mechnet as mn
import shutil
from multiprocessing import Pool
sys.path.append("/home/lpyka/hierarchical_interface/")
from lib.push_data import push_data_to, copy_runfile_to 

def rerun_simulation(restart_data_zipped):
    seed = restart_data_zipped[0]
    filepath = restart_data_zipped[1]
    path_to_simdata_group = restart_data_zipped[2]
    targetdirectory = restart_data_zipped[3]
    simulationparameters = mn.datman.get_restart_simdata(filepath,path_to_simdata_group,readpickled=True)

    #regenerate fitting simulation object
    #automatic construction based on filename and included documentation
    simulation = mn.datman.get_restart_simulation_object(filepath, path_to_simdata_group)
    
    #restart the simulation; if needed hidden_parameters (typically Python
    #objects like shared variables for communication between parallel processes)
    #reinitialize those and provide them here
    simdata = simulation.restart_simulation(simulationparameters, maximum_runtime=2*85800)
    simdata_dict = simdata.get_simdata_dict()
    
    #get a network descriptor from reading the provided file (allows for simple use of the
    #same function for saving data as beforehand)
    network_descriptor_dict = mn.datman.get_restart_parameter_documentation(filepath, path_to_simdata_group)
    mn.datman.save_simulation_output(network_descriptor_dict, simdata_dict, simulation.simulationname, simulation.simulationdoc,
                                     suffix=str(seed), overwritemode = True, targetdirectory = targetdirectory)
    print("done with sim of seed", seed)
    return (network_descriptor_dict, simdata_dict, simulation.simulationname, simulation.simulationdoc)

if __name__ == "__main__":
    list_of_seeds =  []
    offset = 5
    crack_length = 1 
    restart_data_zipped = []

    seed = 1000
    targetdirectory = f"/FASTTEMP/p7/lpyka/hierarchical_interface/dummy_test/test/a_{crack_length}/"
    filepath = targetdirectory + f"FDB_PARSOL_SIRC-FCVC_SOG-IVCG_HFBA_CPC-NIC_-_{seed}.h5"
    grouppath_bundle = mn.datman.bundle_all_sub_groups(filepath, ["simulationdata"], flaglist=[["partial", True]])
    path_to_simdata_group = grouppath_bundle[0]
    restart_data_zipped.extend([seed, filepath, path_to_simdata_group , targetdirectory])

    results = rerun_simulation(restart_data_zipped)
    #for data in results:
    #    mn.datman.save_simulation_output(data[0], data[1], data[2], data[3], targetdirectory=destination, suffix="", overwritemode=False)
    #print(data[1]["current_data"]["stiffnessmatrix"].toarray())
    copy_runfile_to(runfile_name=__file__, destination=targetdirectory)
    print(f"done with crack_length {crack_length}")
    print("\nRun successfull.")