pyleecan.Classes.VarSimu module

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, is_reuse_LUT=True, init_dict=None, init_str=None)[source]

Bases: 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 VarParamSweep 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 :param self: A VarLoad object :type self: VarLoad :param symbol_list: List of the existing datakeeper (to avoid duplicate) :type symbol_list: list :param is_multi: True for multi-simulation of multi-simulation :type is_multi: bool

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

get_ref_simu_index(ref_simu, simu_dict)

Get the index of the reference simulation (None if must be computed)

Parameters:
  • self (VarSimu) – A VarSimu object

  • ref_simu (Simulation) – A Simulation object (reference simulation)

  • simu_dict (dict) – Dict of simulations

Returns:

ref_simu_index – index of the reference simulation (None if must be computed)

Return type:

int

save(save_path='', is_folder=False, type_handle_old=2, type_compression=0)

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 (json only)

  • type_handle_old (int) – How to handle old file in folder mode (0:Nothing, 1:Delete, 2:Move to “Backup” folder)

  • type_compression (int) – Available only for json, 0: no compression, 1: gzip

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', ignore_list=None, is_add_value=False)[source]

Compare two objects and return list of differences

as_dict(type_handle_ndarray=0, keep_function=False, **kwargs)[source]

Convert this object in a json serializable dict (can be use in __init__). type_handle_ndarray: int

How to handle ndarray (0: tolist, 1: copy, 2: nothing)

keep_functionbool

True to keep the function object, else return str

Optional keyword input parameter is for internal use only and may prevent json serializability.

copy()[source]

Creates a deepcopy of the object

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]

property is_reuse_LUT

True to reuse the look up table

Type:

bool