VarSimu (class)

Method code available at https://github.com/Eomys/pyleecan/tree/master/pyleecan/Methods/Simulation/VarSimu

class VarSimu(name='', desc='', datakeeper_list=-1, is_keep_all_output=False, stop_if_error=False, var_simu=None, nb_simu=0, is_reuse_femm_file=True, postproc_list=-1, pre_keeper_postproc_list=None, post_keeper_postproc_list=None, init_dict=None, init_str=None)[source]

Bases: pyleecan.Classes._frozen.FrozenClass

Abstract class for the multi-simulation

VERSION = 1
run()

Run the multi-simulation The VarSimu object must be in a Simulation object (and not a VarSimu one)

Parameters

self (VarSimu) – A VarSimu object

set_reused_data(simu, output, is_log=True, simu_type='VarSimu')

Resuse some data from the reference simulation to skip computation

Parameters
  • self (VarSimu) – a VarSimu object

  • simu (Simulation) – The simulation to update

  • output (Output) – Output from the reference simulation to enforce

  • is_log (bool) – True to log the changes

  • simu_type (str) – Name of the multi-simulation kind

check_param()

Check VarParam parameters validity

generate_simulation_list(ref_simu=None)

Generate all the simulation for the multi-simulation

Parameters
  • self (VarSimu) – A VarSimu object

  • ref_simu (Simulation) – Reference simulation to copy / update

Returns

multisim_dict – dictionary containing the simulation and paramexplorer list

Return type

dict

gen_datakeeper_list(ref_simu)

Generate default DataKeepers according the reference simulation type

get_elec_datakeeper(symbol_list, is_multi=False)

Generate DataKeepers to store by default results from electric module

Parameters
  • self (VarLoad) – A VarLoad object

  • symbol_list (list) – List of the existing datakeeper (to avoid duplicate)

  • is_multi (bool) – True for multi-simulation of multi-simulation

Returns

dk_list – list of DataKeeper

Return type

list

get_mag_datakeeper(symbol_list, is_multi=False)

Generate DataKeepers to store by default results from magnetic module

Parameters
  • self (VarLoad) – A VarLoad object

  • symbol_list (list) – List of the existing datakeeper (to avoid duplicate)

  • is_multi (bool) – True for multi-simulation of multi-simulation

Returns

dk_list – list of DataKeeper

Return type

list

get_force_datakeeper(symbol_list, is_multi=False)

Generate DataKeepers to store by default results from force module

Parameters
  • self (VarLoad) – A VarLoad object

  • symbol_list (list) – List of the existing datakeeper (to avoid duplicate)

  • is_multi (bool) – True for multi-simulation of multi-simulation

Returns

dk_list – list of DataKeeper

Return type

list

save(save_path='', is_folder=False)

Save the object to the save_path

Parameters
  • self – A pyleecan object

  • save_path (str) – path to the folder to save the object

  • is_folder (bool) – to split the object in different files: separate simulation machine and materials

copy(**kwargs)

Return a copy of the class

get_logger()

Get the object logger or its parent’s one

Parameters

obj – A pyleecan object

Returns

logger – Pyleecan object dedicated logger

Return type

logging.Logger

compare(other, name='self')[source]

Compare two objects and return list of differences

as_dict(**kwargs)[source]

Convert this object in a json serializable dict (can be use in __init__). Optional keyword input parameter is for internal use only and may prevent json serializability.

property name

Name of the multi-simulation

Type

str

property desc

Multi-simulation description

Type

str

property datakeeper_list

List containing DataKeepers to extract VarSimu results

Type

[DataKeeper]

property is_keep_all_output

True to store every output in a list

Type

bool

property stop_if_error

Stop the multi-simulation if a simulation fails

Type

bool

property var_simu

Multi-simulation of a Multi-simulation definition

Type

VarSimu

property nb_simu

Number of simulations

Type

int

property is_reuse_femm_file

True to reuse the femm file for each simulation (draw the machine only once, MagFEMM only)

Type

bool

property postproc_list

List of post-processing to run on XOutput after the multisimulation

Type

[Post]

property pre_keeper_postproc_list

If not None, replace the reference simulation postproc_list in each generated simulation (run before datakeeper)

Type

[Post]

property post_keeper_postproc_list

List of post-processing to run on output after each simulation (except reference one) after the datakeeper.

Type

[Post]