Loading 3_density_offset/density_offset.py +11 −7 Original line number Diff line number Diff line Loading @@ -2,8 +2,11 @@ import sys import numpy as np import mechnet as mn from multiprocessing import Pool from functools import partial sys.path.append("/home/lpyka/hierarchical_interface/") from lib.push_data import push_data_to, copy_py_file_to def get_parametercollection(seed): def get_parametercollection(seed, offset): par = mn.ParameterCollection() nx = 8 # needs to == el**h ny = nx Loading @@ -17,7 +20,7 @@ def get_parametercollection(seed): #new parameters necessary for the structure par.set_xhierarchicalelementsize(2) # log_el(nx) = h <-> nx = el**h par.set_yhierarchicalelementsize(2) par.set_gapzoffset(1) # == o_set par.set_gapzoffset(offset) # == o_set par.set_thresholdrng(seed) par.set_structurerng(seed + 1_000_000) par.set_weibullparameter(1.5) Loading @@ -25,7 +28,7 @@ def get_parametercollection(seed): par.set_uniformupperdirichlet(1.0) return par def run_a_simulation_fuse(seed): def run_a_simulation_fuse(seed, offset): constructor = mn.cubic3D.Cubic3DFullConnectionConstructor() #new decorators to modify network structure: #random positioning of missing edges fitting to the amount that would be missing in a hierarchical network with Loading @@ -39,7 +42,7 @@ def run_a_simulation_fuse(seed): boundaries = mn.cubic3D.FixedLowerBoundaryDecorator(boundaries) boundaries = mn.cubic3D.UniformDisplacedUpperBoundaryDecorator(boundaries) parametercollection = get_parametercollection(seed) parametercollection = get_parametercollection(seed, offset) network = constructor.start_construction(parametercollection) bounded_network = boundaries.start_assign_boundaries(network) Loading @@ -50,6 +53,7 @@ def run_a_simulation_fuse(seed): intrescal = mn.sim.StartInterimResultsCalculator() #InterimResultsCalculator stack pre-computes data needed for output and simulation step intrescal = mn.sim.FuseCurrentsVoltagesCalculator(intrescal) outgen = mn.sim.StartOutputGenerator() outgen = mn.sim.IVCurveGenerator(outgen) applier = mn.sim.HottestFuseBreakApplier() checker = mn.sim.NonInitialChecker(mn.sim.ConnectedPathChecker()) simulation = mn.sim.Simulation(builder, solver, intrescal, outgen, applier, checker) Loading @@ -64,14 +68,14 @@ def run_a_simulation_fuse(seed): return (network_descriptor_dict, simdata_dict, simulation.simulationname, simulation.simulationdoc) if __name__=="__main__": run_a_simulation_fuse(1001) list_of_parameters = [] offset = 1 for seed in range(1000, 1010): list_of_parameters.append(seed) with Pool(10) as p: results = p.map(run_a_simulation_fuse, list_of_parameters) results = p.map(partial(run_a_simulation_fuse, offset=offset), list_of_parameters) # for data in results: # mn.datman.save_simulation_output(data[0], data[1], data[2], data[3], targetdirectory="./", suffix="", overwritemode=False) #print(data[1]["current_data"]["stiffnessmatrix"].toarray()) push_data_to(f'/FASTTEMP/p7/lpyka/hierarchical_interface/3_density_offset/offset_{offset}') print("\nRun successfull.") No newline at end of file Loading
3_density_offset/density_offset.py +11 −7 Original line number Diff line number Diff line Loading @@ -2,8 +2,11 @@ import sys import numpy as np import mechnet as mn from multiprocessing import Pool from functools import partial sys.path.append("/home/lpyka/hierarchical_interface/") from lib.push_data import push_data_to, copy_py_file_to def get_parametercollection(seed): def get_parametercollection(seed, offset): par = mn.ParameterCollection() nx = 8 # needs to == el**h ny = nx Loading @@ -17,7 +20,7 @@ def get_parametercollection(seed): #new parameters necessary for the structure par.set_xhierarchicalelementsize(2) # log_el(nx) = h <-> nx = el**h par.set_yhierarchicalelementsize(2) par.set_gapzoffset(1) # == o_set par.set_gapzoffset(offset) # == o_set par.set_thresholdrng(seed) par.set_structurerng(seed + 1_000_000) par.set_weibullparameter(1.5) Loading @@ -25,7 +28,7 @@ def get_parametercollection(seed): par.set_uniformupperdirichlet(1.0) return par def run_a_simulation_fuse(seed): def run_a_simulation_fuse(seed, offset): constructor = mn.cubic3D.Cubic3DFullConnectionConstructor() #new decorators to modify network structure: #random positioning of missing edges fitting to the amount that would be missing in a hierarchical network with Loading @@ -39,7 +42,7 @@ def run_a_simulation_fuse(seed): boundaries = mn.cubic3D.FixedLowerBoundaryDecorator(boundaries) boundaries = mn.cubic3D.UniformDisplacedUpperBoundaryDecorator(boundaries) parametercollection = get_parametercollection(seed) parametercollection = get_parametercollection(seed, offset) network = constructor.start_construction(parametercollection) bounded_network = boundaries.start_assign_boundaries(network) Loading @@ -50,6 +53,7 @@ def run_a_simulation_fuse(seed): intrescal = mn.sim.StartInterimResultsCalculator() #InterimResultsCalculator stack pre-computes data needed for output and simulation step intrescal = mn.sim.FuseCurrentsVoltagesCalculator(intrescal) outgen = mn.sim.StartOutputGenerator() outgen = mn.sim.IVCurveGenerator(outgen) applier = mn.sim.HottestFuseBreakApplier() checker = mn.sim.NonInitialChecker(mn.sim.ConnectedPathChecker()) simulation = mn.sim.Simulation(builder, solver, intrescal, outgen, applier, checker) Loading @@ -64,14 +68,14 @@ def run_a_simulation_fuse(seed): return (network_descriptor_dict, simdata_dict, simulation.simulationname, simulation.simulationdoc) if __name__=="__main__": run_a_simulation_fuse(1001) list_of_parameters = [] offset = 1 for seed in range(1000, 1010): list_of_parameters.append(seed) with Pool(10) as p: results = p.map(run_a_simulation_fuse, list_of_parameters) results = p.map(partial(run_a_simulation_fuse, offset=offset), list_of_parameters) # for data in results: # mn.datman.save_simulation_output(data[0], data[1], data[2], data[3], targetdirectory="./", suffix="", overwritemode=False) #print(data[1]["current_data"]["stiffnessmatrix"].toarray()) push_data_to(f'/FASTTEMP/p7/lpyka/hierarchical_interface/3_density_offset/offset_{offset}') print("\nRun successfull.") No newline at end of file