def test_restart_macro(self, init_simple_model): macro = [ [ 'load "model.main.any"', 'classoperation Main.ArmModelStudy.Output.MaxMuscleActivity "Dump"', 'classoperation Main.ArmModel.GlobalRef.t "Dump"', ], [ 'load "model.main.any"', 'classoperation Main.ArmModelStudy.Output.MaxMuscleActivity "Dump"', 'classoperation Main.ArmModel.GlobalRef.t "Dump"', ], ] app = AnyPyProcess(return_task_info=True) output = app.start_macro(macro) output = app.start_macro() output[0]["ERROR"] = ["SOME ERROR"] output = app.start_macro(output) for result in output: assert "ERROR" not in result
def test_output_save_load(self,init_simple_model): macro = [['load "model.main.any" -def N_STEP="10"', 'operation Main.ArmModelStudy.InverseDynamics', 'classoperation Main.ArmModelStudy.Output.MaxMuscleActivity "Dump"', 'classoperation Main.ArmModel.GlobalRef.t "Dump"']] app = AnyPyProcess(return_task_info=True) app.start_macro(macro) app.save_results('test.db') reloaded = app.load_results('test.db') reloaded['Main.ArmModel.GlobalRef.t'] reloaded = AnyPyProcess.load_results('test.db') reloaded['Main.ArmModel.GlobalRef.t']
def test_output_convert_data(self,init_simple_model): macro = [['load "model.main.any"', 'operation Main.ArmModelStudy.InverseDynamics', 'classoperation Main.ArmModelStudy.Output.MaxMuscleActivity "Dump"', 'classoperation Main.ArmModel.GlobalRef.t "Dump"'], ['load "model.main.any"', 'operation Main.ArmModelStudy.InverseDynamics', 'classoperation Main.ArmModelStudy.Output.MaxMuscleActivity "Dump"', 'classoperation Main.ArmModel.GlobalRef.t "Dump"'], ['load "model.main.any"', 'operation Main.ArmModelStudy.InverseDynamics', 'classoperation Main.ArmModelStudy.Output.MaxMuscleActivity "Dump"', 'classoperation Main.ArmModel.GlobalRef.t "Dump"']] app = AnyPyProcess(return_task_info=True) output = app.start_macro(macro) out1 = output.to_dynd() assert hasattr(out1, 'Main_ArmModelStudy_Output_MaxMuscleActivity') assert hasattr(out1, 'Main_ArmModel_GlobalRef_t') out2 = output.to_dynd( create_nested_structure = True) assert hasattr(out2, 'Main') assert hasattr(out2.Main.ArmModel.GlobalRef, 't')
def test_start_macro_subdirs(self, tmpdir, default_macro ): number_of_models = 5 setup_models_in_subdirs(tmpdir, number_of_models) app = AnyPyProcess(silent=True ) with tmpdir.as_cwd(): output = app.start_macro(default_macro,search_subdirs='main.any') assert len(output) == number_of_models for result in output: assert 'ERROR' not in result
def test_output_access(self,init_simple_model): macro = [['load "model.main.any" -def N_STEP="5"', 'operation Main.ArmModelStudy.InverseDynamics', 'classoperation Main.ArmModelStudy.Output.MaxMuscleActivity "Dump"', 'classoperation Main.ArmModel.GlobalRef.t "Dump"']]*5 app = AnyPyProcess(return_task_info=True) output = app.start_macro(macro) output['GlobalRef.t'] assert( output['MaxMuscleActivity'].shape == output['Main.ArmModelStudy.Output.MaxMuscleActivity'].shape ) assert( isinstance( output[1:3], AnyPyProcessOutputList ))
def test_start_macro(self,init_simple_model, default_macro): app = AnyPyProcess(silent=True) default_macro[0].extend(['classoperation Main.ArmModelStudy.Output.MaxMuscleActivity "Dump"', 'classoperation Main.ArmModel.GlobalRef.t "Dump"']) output = app.start_macro(default_macro) assert len(output) == 1 assert 'Main.ArmModelStudy.Output.MaxMuscleActivity' in output[0] assert 'Main.ArmModel.GlobalRef.t' in output[0] assert 'ERROR' not in output[0]
def test_explicit_logfiles_multiple(self, init_simple_model): logfile = "test.log" macro = [ ['load "model.main.any"', "operation Main.ArmModelStudy.InverseDynamics"], ['load "model.main.any"', "operation Main.ArmModelStudy.InverseDynamics"], ['load "model.main.any"', "operation Main.ArmModelStudy.InverseDynamics"], ] app = AnyPyProcess(silent=True, keep_logfiles=True, return_task_info=True) output = app.start_macro(macro, logfile=logfile) assert os.path.isfile("test_0.log") assert os.path.isfile("test_1.log") assert os.path.isfile("test_2.log")
def test_output_access(self, init_simple_model): macro = [[ 'load "model.main.any" -def N_STEP="5"', 'operation Main.ArmModelStudy.InverseDynamics', 'classoperation Main.ArmModelStudy.Output.MaxMuscleActivity "Dump"', 'classoperation Main.ArmModel.GlobalRef.t "Dump"' ]] * 5 app = AnyPyProcess(return_task_info=True) output = app.start_macro(macro) output['GlobalRef.t'] assert (output['MaxMuscleActivity'].shape == output['Main.ArmModelStudy.Output.MaxMuscleActivity'].shape) assert (isinstance(output[1:3], AnyPyProcessOutputList))
def test_start_macro_multple_folders_and_macros(self, tmpdir, default_macro): number_of_models = 3 number_of_macros = 3 setup_models_in_subdirs(tmpdir, number_of_models) folderlist = [str(_) for _ in tmpdir.listdir()] macrolist = default_macro * number_of_macros with tmpdir.as_cwd(): app = AnyPyProcess() output = app.start_macro(macrolist, folderlist) assert len(output) == len(folderlist) * len(macrolist) for result in output: assert "ERROR" not in result
def test_output_access_ragged(self,init_simple_model): macro = [['load "model.main.any" -def N_STEP="10"', 'operation Main.ArmModelStudy.InverseDynamics', 'classoperation Main.ArmModelStudy.Output.MaxMuscleActivity "Dump"', 'classoperation Main.ArmModel.GlobalRef.t "Dump"'], ['load "model.main.any" -def N_STEP="20"', 'operation Main.ArmModelStudy.InverseDynamics', 'classoperation Main.ArmModelStudy.Output.MaxMuscleActivity "Dump"', 'classoperation Main.ArmModel.GlobalRef.t "Dump"']] app = AnyPyProcess(return_task_info=True) output = app.start_macro(macro) output['GlobalRef.t'] output['MaxMuscleActivity']
def test_output_access(self, init_simple_model): macro = [[ 'load "model.main.any" -def N_STEP="5"', "operation Main.ArmModelStudy.InverseDynamics", 'classoperation Main.ArmModelStudy.Output.MaxMuscleActivity "Dump"', 'classoperation Main.ArmModel.GlobalRef.t "Dump"', ]] * 5 app = AnyPyProcess() output = app.start_macro(macro) output["GlobalRef.t"] assert (output["MaxMuscleActivity"].shape == output["Main.ArmModelStudy.Output.MaxMuscleActivity"].shape) assert isinstance(output[1:3], AnyPyProcessOutputList)
def test_start_macro(self, init_simple_model, default_macro): app = AnyPyProcess(silent=True) default_macro[0].extend([ 'classoperation Main.ArmModelStudy.Output.MaxMuscleActivity "Dump"', 'classoperation Main.ArmModel.GlobalRef.t "Dump"', ]) output = app.start_macro(default_macro) assert len(output) == 1 assert "Main.ArmModelStudy.Output.MaxMuscleActivity" in output[0] assert "Main.ArmModel.GlobalRef.t" in output[0] assert "ERROR" not in output[0]
def test_start_macro_generator_input(self, init_simple_model, default_macro): n_macros = 5 def generate_macros(): """Generator that returns macros """ for i in range(n_macros): yield default_macro[0] app = AnyPyProcess(silent=True) macros_gen = generate_macros() output = app.start_macro(macros_gen ) assert len(output) == n_macros for result in output: assert 'ERROR' not in result
def test_macro_with_erros(self, init_simple_model, default_macro): app = AnyPyProcess( silent=True, return_task_info=True, ignore_errors=["Unresolved object"] ) macro = [ ['load "model.main.any"', "operation Main.ArmModelStudy.InverseDynamics"], ['load "model.main.any"', "operation Main.NonExistentOpeation"], ['load "not_a_model.any"', "operation Main.ArmModelStudy.InverseDynamics"], ] output = app.start_macro(macro) assert not "ERROR" in output[0] assert not "ERROR" in output[1] assert "ERROR" in output[2]
def test_start_macro_multple_folders_and_macros(self, tmpdir, default_macro): number_of_models = 3 number_of_macros = 3 setup_models_in_subdirs(tmpdir, number_of_models) folderlist = [str(_) for _ in tmpdir.listdir()] macrolist = default_macro * number_of_macros with tmpdir.as_cwd(): app = AnyPyProcess() output = app.start_macro(macrolist, folderlist) assert len(output) == len(folderlist) * len(macrolist) for result in output: assert 'ERROR' not in result
def test_start_macro_with_task_info(self,init_simple_model, default_macro): app = AnyPyProcess(silent=True, return_task_info=True) default_macro[0].extend(['classoperation Main.ArmModelStudy.Output.MaxMuscleActivity "Dump"', 'classoperation Main.ArmModel.GlobalRef.t "Dump"']) output = app.start_macro(default_macro,) assert len(output) == 1 assert 'task_macro_hash' in output[0] assert 'task_id' in output[0] assert 'task_work_dir' in output[0] assert 'task_name' in output[0] assert 'task_processtime' in output[0] assert 'task_macro' in output[0] assert 'task_logfile' in output[0]
def test_start_macro_generator_input(self, init_simple_model, default_macro): n_macros = 5 def generate_macros(): """Generator that returns macros """ for i in range(n_macros): yield default_macro[0] app = AnyPyProcess(silent=True) macros_gen = generate_macros() output = app.start_macro(macros_gen) assert len(output) == n_macros for result in output: assert 'ERROR' not in result
def test_macro_with_erros(self, init_simple_model, default_macro): app = AnyPyProcess(silent=True, return_task_info=True, ignore_errors=['Unresolved object']) macro = [[ 'load "model.main.any"', 'operation Main.ArmModelStudy.InverseDynamics' ], ['load "model.main.any"', 'operation Main.NonExistentOpeation'], [ 'load "not_a_model.any"', 'operation Main.ArmModelStudy.InverseDynamics' ]] output = app.start_macro(macro) assert not 'ERROR' in output[0] assert not 'ERROR' in output[1] assert 'ERROR' in output[2]
def test_start_macro_with_task_info(self, init_simple_model, default_macro): app = AnyPyProcess(silent=True, return_task_info=True) default_macro[0].extend([ 'classoperation Main.ArmModelStudy.Output.MaxMuscleActivity "Dump"', 'classoperation Main.ArmModel.GlobalRef.t "Dump"' ]) output = app.start_macro(default_macro, ) assert len(output) == 1 assert 'task_macro_hash' in output[0] assert 'task_id' in output[0] assert 'task_work_dir' in output[0] assert 'task_name' in output[0] assert 'task_processtime' in output[0] assert 'task_macro' in output[0] assert 'task_logfile' in output[0]
def test_macro_with_erros(self, init_simple_model, default_macro): app = AnyPyProcess(silent=True, ignore_errors=["Unresolved object"]) macro = [ [ 'load "model.main.any"', "operation Main.ArmModelStudy.InverseDynamics" ], ['load "model.main.any"', "operation Main.NonExistentOpeation"], [ 'load "not_a_model.any"', "operation Main.ArmModelStudy.InverseDynamics" ], ] output = app.start_macro(macro) assert not "ERROR" in output[0] assert not "ERROR" in output[1] assert "ERROR" in output[2]
def run_model(DesignVars): ''' Ruturns the x,y potions for the tip of the A frame ''' folder = 'C:\Users\fh\Documents\GitHub\OptimizationModel\Scripts\OptimizationStudies' app = AnyPyProcess( anybodycon_path= 'C:\Program Files (x86)\AnyBody Technology\AnyBody.6.0/AnyBodyCon.exe', ignore_errors=['ERROR(OBJ.MCH.MUS6)']) macro = [[ 'load "Optimization.main.any"', 'classoperation Main.DesignVars.ta_rmin "Set Value" --value={:12f}'. format(DesignVars[0]), 'classoperation Main.DesignVars.edl_rmin "Set Value" --value={:12f}'. format(DesignVars[1]), 'classoperation Main.DesignVars.ehl_rmin "Set Value" --value={:12f}'. format(DesignVars[2]), 'classoperation Main.DesignVars.ta_rmax "Set Value" --value={:12f}'. format(DesignVars[3]), 'classoperation Main.DesignVars.edl_rmax "Set Value" --value={:12f}'. format(DesignVars[4]), 'classoperation Main.DesignVars.ehl_rmax "Set Value" --value={:12f}'. format(DesignVars[5]), 'classoperation Main.DesignVars.LocalStrengthFactorDorsiFlexors "Set Value" --value={:12f}' .format(DesignVars[6]), 'operation Main.RunApplication1', 'run', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.TibialisAnterior1Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.TibialisAnterior2Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.TibialisAnterior3Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.ExtensorDigitorumLongus1Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.ExtensorDigitorumLongus2Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.ExtensorDigitorumLongus3Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.ExtensorDigitorumLongus4Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.ExtensorHallucisLongus1Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.ExtensorHallucisLongus2Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.ExtensorHallucisLongus3Par.Lt0 "Dump"', 'operation Main.RunApplication2', 'run', 'classoperation Main.DesignVars.LocalStrengthFactorDorsiFlexors "Dump"', 'classoperation Main.Studies.ParameterStudies.DorsiFlexorMuscles.IsometricStrength.Output.Strength.Val "Dump"', 'exit' ]] output = app.start_macro(macro, folderlist=[folder])[0] np.save('Log', DesignVars) return (output)
def test_output_access_ragged(self, init_simple_model): macro = [ [ 'load "model.main.any" -def N_STEP="10"', "operation Main.ArmModelStudy.InverseDynamics", 'classoperation Main.ArmModelStudy.Output.MaxMuscleActivity "Dump"', 'classoperation Main.ArmModel.GlobalRef.t "Dump"', ], [ 'load "model.main.any" -def N_STEP="20"', "operation Main.ArmModelStudy.InverseDynamics", 'classoperation Main.ArmModelStudy.Output.MaxMuscleActivity "Dump"', 'classoperation Main.ArmModel.GlobalRef.t "Dump"', ], ] app = AnyPyProcess() output = app.start_macro(macro) output["GlobalRef.t"] output["MaxMuscleActivity"]
def test_output_access_ragged(self, init_simple_model): macro = [ [ 'load "model.main.any" -def N_STEP="10"', 'operation Main.ArmModelStudy.InverseDynamics', 'classoperation Main.ArmModelStudy.Output.MaxMuscleActivity "Dump"', 'classoperation Main.ArmModel.GlobalRef.t "Dump"' ], [ 'load "model.main.any" -def N_STEP="20"', 'operation Main.ArmModelStudy.InverseDynamics', 'classoperation Main.ArmModelStudy.Output.MaxMuscleActivity "Dump"', 'classoperation Main.ArmModel.GlobalRef.t "Dump"' ] ] app = AnyPyProcess(return_task_info=True) output = app.start_macro(macro) output['GlobalRef.t'] output['MaxMuscleActivity']
def test_explicit_logfiles_multiple(self, init_simple_model): logfile = "test.log" macro = [ [ 'load "model.main.any"', "operation Main.ArmModelStudy.InverseDynamics" ], [ 'load "model.main.any"', "operation Main.ArmModelStudy.InverseDynamics" ], [ 'load "model.main.any"', "operation Main.ArmModelStudy.InverseDynamics" ], ] app = AnyPyProcess(silent=True, keep_logfiles=True) output = app.start_macro(macro, logfile=logfile) assert os.path.isfile("test_0.log") assert os.path.isfile("test_1.log") assert os.path.isfile("test_2.log")
from anypytools.abcutils import AnyPyProcess nSteplist = [10, 20, 40, 50, 60, 70, 80, 90, 100, 110, 120] app = AnyPyProcess(num_processes=2) macrolist = [] for nStep in nSteplist: macrolist.append([ 'load "Demo.Arm2D.any" -def N_STEP="{0}"'.format(nStep), "operation Main.Study.InverseDynamics", "run", ]) app.start_macro(macrolist)
def run_model(DesignVars): ''' Ruturns the x,y potions for the tip of the A frame ''' folder = 'C:/Users/fh/Documents/AAU/PhD-AAU/PhD projekt/OptimeringsArtikle/Scripts/OptimizationStudies' app = AnyPyProcess( anybodycon_path= 'C:/Program Files (x86)/AnyBody Technology/AnyBody.6.0/AnyBodyCon.exe', ignore_errors=['ERROR(OBJ.MCH.MUS6)']) macro = [[ 'load "Optimization.main.any"', 'classoperation Main.DesignVars.sm_rmin "Set Value" --value={:12f}'. format(DesignVars[0]), 'classoperation Main.DesignVars.sm_rmax "Set Value" --value={:12f}'. format(DesignVars[1]), 'classoperation Main.DesignVars.sl_rmin "Set Value" --value={:12f}'. format(DesignVars[2]), 'classoperation Main.DesignVars.sl_rmax "Set Value" --value={:12f}'. format(DesignVars[3]), 'classoperation Main.DesignVars.gl_rmin "Set Value" --value={:12f}'. format(DesignVars[4]), 'classoperation Main.DesignVars.gl_rmax "Set Value" --value={:12f}'. format(DesignVars[5]), 'classoperation Main.DesignVars.gm_rmin "Set Value" --value={:12f}'. format(DesignVars[6]), 'classoperation Main.DesignVars.gm_rmax "Set Value" --value={:12f}'. format(DesignVars[7]), 'classoperation Main.DesignVars.fdl_rmin "Set Value" --value={:12f}'. format(DesignVars[8]), 'classoperation Main.DesignVars.fdl_rmax "Set Value" --value={:12f}'. format(DesignVars[9]), 'classoperation Main.DesignVars.fhl_rmin "Set Value" --value={:12f}'. format(DesignVars[10]), 'classoperation Main.DesignVars.fhl_rmax "Set Value" --value={:12f}'. format(DesignVars[11]), 'classoperation Main.DesignVars.tpl_rmin "Set Value" --value={:12f}'. format(DesignVars[12]), 'classoperation Main.DesignVars.tpl_rmax "Set Value" --value={:12f}'. format(DesignVars[13]), 'classoperation Main.DesignVars.tpm_rmin "Set Value" --value={:12f}'. format(DesignVars[14]), 'classoperation Main.DesignVars.tpm_rmax "Set Value" --value={:12f}'. format(DesignVars[15]), 'classoperation Main.DesignVars.bfcl_rmin "Set Value" --value={:12f}'. format(DesignVars[16]), 'classoperation Main.DesignVars.bfcl_rmax "Set Value" --value={:12f}'. format(DesignVars[17]), 'classoperation Main.DesignVars.bfcb_rmin "Set Value" --value={:12f}'. format(DesignVars[18]), 'classoperation Main.DesignVars.bfcb_rmax "Set Value" --value={:12f}'. format(DesignVars[19]), 'classoperation Main.DesignVars.std_rmin "Set Value" --value={:12f}'. format(DesignVars[20]), 'classoperation Main.DesignVars.std_rmax "Set Value" --value={:12f}'. format(DesignVars[21]), 'classoperation Main.DesignVars.smb_rmin "Set Value" --value={:12f}'. format(DesignVars[22]), 'classoperation Main.DesignVars.smb_rmax "Set Value" --value={:12f}'. format(DesignVars[23]), 'classoperation Main.DesignVars.vli_rmin "Set Value" --value={:12f}'. format(DesignVars[24]), 'classoperation Main.DesignVars.vli_rmax "Set Value" --value={:12f}'. format(DesignVars[25]), 'classoperation Main.DesignVars.vls_rmin "Set Value" --value={:12f}'. format(DesignVars[26]), 'classoperation Main.DesignVars.vls_rmax "Set Value" --value={:12f}'. format(DesignVars[27]), 'classoperation Main.DesignVars.vmi_rmin "Set Value" --value={:12f}'. format(DesignVars[28]), 'classoperation Main.DesignVars.vmi_rmax "Set Value" --value={:12f}'. format(DesignVars[29]), 'classoperation Main.DesignVars.vmm_rmin "Set Value" --value={:12f}'. format(DesignVars[30]), 'classoperation Main.DesignVars.vmm_rmax "Set Value" --value={:12f}'. format(DesignVars[31]), 'classoperation Main.DesignVars.vms_rmin "Set Value" --value={:12f}'. format(DesignVars[32]), 'classoperation Main.DesignVars.vms_rmax "Set Value" --value={:12f}'. format(DesignVars[33]), 'classoperation Main.DesignVars.vi_rmin "Set Value" --value={:12f}'. format(DesignVars[34]), 'classoperation Main.DesignVars.vi_rmax "Set Value" --value={:12f}'. format(DesignVars[35]), 'classoperation Main.DesignVars.rf_rmin "Set Value" --value={:12f}'. format(DesignVars[36]), 'classoperation Main.DesignVars.rf_rmax "Set Value" --value={:12f}'. format(DesignVars[37]), 'classoperation Main.DesignVars.tfl_rmin "Set Value" --value={:12f}'. format(DesignVars[38]), 'classoperation Main.DesignVars.tfl_rmax "Set Value" --value={:12f}'. format(DesignVars[39]), 'classoperation Main.DesignVars.gms_rmin "Set Value" --value={:12f}'. format(DesignVars[40]), 'classoperation Main.DesignVars.gms_rmax "Set Value" --value={:12f}'. format(DesignVars[41]), 'classoperation Main.DesignVars.gmi_rmin "Set Value" --value={:12f}'. format(DesignVars[42]), 'classoperation Main.DesignVars.gmi_rmax "Set Value" --value={:12f}'. format(DesignVars[43]), 'classoperation Main.DesignVars.LocalStrengthFactorPlantarFlexors "Set Value" --value={:12f}' .format(DesignVars[44]), 'classoperation Main.DesignVars.LocalStrengthFactorKneeFlexor "Set Value" --value={:12f}' .format(DesignVars[45]), 'classoperation Main.DesignVars.LocalStrengthFactorKneeExtensor "Set Value" --value={:12f}' .format(DesignVars[46]), 'classoperation Main.DesignVars.LocalStrengthFactorHipExtensor "Set Value" --value={:12f}' .format(DesignVars[47]), 'classoperation Main.DesignVars.LocalStrengthFactorHipFlexor "Set Value" --value={:12f}' .format(DesignVars[48]), 'operation Main.RunApplication1', 'run', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.SoleusMedialis1Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.SoleusMedialis2Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.SoleusMedialis3Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.SoleusLateralis1Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.SoleusLateralis2Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.SoleusLateralis3Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.GastrocnemiusLateralis1Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.GastrocnemiusMedialis1Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.FlexorDigitorumLongus1Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.FlexorDigitorumLongus2Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.FlexorDigitorumLongus3Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.FlexorHallucisLongus1Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.FlexorHallucisLongus2Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.FlexorHallucisLongus3Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.TibialisPosteriorLateralis1Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.TibialisPosteriorLateralis2Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.TibialisPosteriorLateralis3Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.TibialisPosteriorMedialis1Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.TibialisPosteriorMedialis2Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.TibialisPosteriorMedialis3Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.BicepsFemorisCaputLongum1Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.BicepsFemorisCaputBreve1Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.BicepsFemorisCaputBreve2Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.BicepsFemorisCaputBreve3Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.Semitendinosus1Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.Semimembranosus1Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.VastusLateralisInferior1Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.VastusLateralisInferior2Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.VastusLateralisInferior3Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.VastusLateralisInferior4Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.VastusLateralisInferior5Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.VastusLateralisInferior6Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.VastusLateralisSuperior1Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.VastusLateralisSuperior2Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.VastusMedialisInferior1Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.VastusMedialisInferior2Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.VastusMedialisMid1Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.VastusMedialisMid2Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.VastusMedialisSuperior1Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.VastusMedialisSuperior2Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.VastusMedialisSuperior3Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.VastusMedialisSuperior4Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.VastusIntermedius1Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.VastusIntermedius2Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.VastusIntermedius3Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.VastusIntermedius4Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.VastusIntermedius5Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.VastusIntermedius6Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.RectusFemorisLateralis1Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.RectusFemorisMedialis1Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.TensorFasciaeLatae1Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.TensorFasciaeLatae2Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.GluteusMaximusSuperior1Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.GluteusMaximusSuperior2Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.GluteusMaximusSuperior3Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.GluteusMaximusSuperior4Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.GluteusMaximusSuperior5Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.GluteusMaximusSuperior6Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.GluteusMaximusInferior1Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.GluteusMaximusInferior2Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.GluteusMaximusInferior3Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.GluteusMaximusInferior4Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.GluteusMaximusInferior5Par.Lt0 "Dump"', 'classoperation Main.HumanModel.BodyModel.Right.Leg.MusPar.GluteusMaximusInferior6Par.Lt0 "Dump"', 'operation Main.RunApplication2', 'run', 'classoperation Main.Studies.ParameterStudies.PlantarFlexorMuscles.IsometricStrength.Output.Strength.Val "Dump"', 'classoperation Main.Studies.ParameterStudies.KneeFlexorMuscles.IsometricStrength.Output.Strength.Val "Dump"', 'classoperation Main.Studies.ParameterStudies.KneeExtensorMuscles.IsometricStrength.Output.Strength.Val "Dump"', 'classoperation Main.Studies.ParameterStudies.HipFlexorMuscles.IsometricStrength.Output.Strength.Val "Dump"', 'classoperation Main.Studies.ParameterStudies.HipExtensorMuscles.IsometricStrength.Output.Strength.Val "Dump"', 'exit' ]] output = app.start_macro(macro, folderlist=[folder])[0] return (output)
from anypytools.abcutils import AnyPyProcess app = AnyPyProcess(num_processes=3) macrolist = [[ 'load "main.any"', 'operation Main.Study.InverseDynamics', 'run', 'exit' ]] app.start_macro(macrolist, search_subdirs="[model[1-9].*main.any")
from anypytools.abcutils import AnyPyProcess app = AnyPyProcess(num_processes = 3) macrolist = [['load "main.any"', 'operation Main.Study.InverseDynamics', 'run', 'exit']] app.start_macro(macrolist, search_subdirs= "[model[1-9].*main.any" )
def test_explicit_logfiles_path(self, init_simple_model, default_macro): logfile = pathlib.Path("test.log") app = AnyPyProcess(silent=True, keep_logfiles=True, return_task_info=True) output = app.start_macro(default_macro, logfile=logfile) assert os.path.isfile(logfile)
from anypytools.abcutils import AnyPyProcess nSteplist = [10,20,40,50,60,70,80,90,100,110,120] app = AnyPyProcess(num_processes = 2) macrolist = [] for nStep in nSteplist: macrolist.append( ['load "Demo.Arm2D.any" -def N_STEP="{0}"'.format(nStep), 'operation Main.Study.InverseDynamics', 'run'] ) app.start_macro(macrolist)
def test_logfile_persistance(self, init_simple_model, default_macro): app = AnyPyProcess(silent=True, keep_logfiles=True, return_task_info=True) output = app.start_macro(default_macro) assert os.path.isfile(output[0]['task_logfile'])
def test_logfile_persistance(self, init_simple_model, default_macro) : app = AnyPyProcess(silent=True, keep_logfiles=True, return_task_info=True) output = app.start_macro(default_macro) assert os.path.isfile(output[0]['task_logfile'])
def test_explicit_logfiles_path(self, init_simple_model, default_macro): logfile = pathlib.Path("test.log") app = AnyPyProcess(silent=True, keep_logfiles=True) output = app.start_macro(default_macro, logfile=logfile) assert os.path.isfile(logfile)
def test_with_gui(self, init_simple_model, default_macro): app = AnyPyProcess(silent=True, use_gui=False) default_macro[0].append("run") output = app.start_macro(default_macro) assert not "ERROR" in output[0]