Package windSimSuite :: Module main :: Class Simulation
[hide private]

Class Simulation

source code

                 AerodynamicsSimulation --+
                                          |
mbdyn.record.RecordBase --+               |
                          |               |
        mbdyn.record.Record --+           |
                              |           |
       mbdyn.common.BasicObject --+       |
                                  |       |
 mbdyn.preprocessing.SimulationBase --+   |
                                      |   |
                  mbdyn.main.Simulation --+
                                          |
                                         Simulation
Known Subclasses:
interface.main.Simulation

A specific simulation for the wind turbine. The gathering between the aerodynamics calculation and MBDyn.

Instance Methods [hide private]
 
__init__(self, name='mbdyn simu', title='Mbdyn used from Python', keep=False, overwrite=False, mbdyn_coupling=True) source code
 
set_turbine(self, turbine)
Set the WindTurbine instance
source code
 
init_unsteady(self)
Init the unsteady BEM code by running it for the 'init_time'
source code
 
init(self)
Initialize the simulation according to WraptMBDyn.
source code
 
_init_coupling(self)
Init the unsteady code and stabilize the aerodynamics loads.
source code
 
_init_wind_simulation(self)
The Python objects are getting a reference of the C++ ones.
source code
 
run(self)
Run the full simulation
source code
 
update(self)
Update the wind turbine simulation.
source code
 
save_unsteady_state_at(self, time)
Save the unsteady state at a particular time.
source code
 
save(self)
The save method called by WraptMBDyn.
source code
 
collect_parameters(self)
Collect the simulation parameters into a dictionary
source code
 
set_parameters(self, para)
Set the simulation parameters from the para dictionary
source code

Inherited from AerodynamicsSimulation: enable_dynamic_wake, get_velocity_at, get_velocity_at_height, init_aero_unsteady, run_unsteady_at_time, run_unsteady_for, save_unsteady, set_air_density, set_init_time, set_shear_value, set_wind_speed

Inherited from mbdyn.main.Simulation: __repr__, add_element, add_node, add_object, add_reference, append_output, final_action, init_simulation, load_results, run_full, run_with_executable, save_mbdyn, set_integrator, set_wrapt_mbdyn, solve_by_mbdyn_exec, solve_by_wrapt_mbdyn, update_elts

Inherited from mbdyn.main.Simulation (private): _add_item_to_list, _get_mbdyn_instances, _init_wrapt_mbdyn, _set_info_for_loading

Inherited from mbdyn.preprocessing.SimulationBase: add_control_data, clean_dir_simu, clean_dir_tmp, create_dir_simu, create_dir_tmp, keep_mbdyn_files, set_node_numerotation_offset, write

Inherited from mbdyn.preprocessing.SimulationBase (private): _set_labels_and_names

Inherited from mbdyn.common.BasicObject: get_lines, get_mbdyn_instance, set_comment, set_label, set_name, set_simulation_ref

Inherited from mbdyn.record.Record: common_init_results, init_results, set_own_parameters, will_save, will_save_nothing, will_save_only

Inherited from mbdyn.record.Record (private): _save_direct_results, _save_results_with_actions, _try_to_add

Inherited from mbdyn.record.RecordBase: collect_own_parameters, set_own_para

Inherited from mbdyn.record.RecordBase (private): _collect_own_para

Method Details [hide private]

__init__(self, name='mbdyn simu', title='Mbdyn used from Python', keep=False, overwrite=False, mbdyn_coupling=True)
(Constructor)

source code 
Overrides: AerodynamicsSimulation.__init__

init_unsteady(self)

source code 
Init the unsteady BEM code by running it for the 'init_time'
Overrides: AerodynamicsSimulation.init_unsteady

init(self)

source code 
Initialize the simulation according to WraptMBDyn. The Python object get references to the object from the bindings module, interfacing the C++ ones. This method is called by the run_full method of the SimulationBase. It also overwrites the init of the SimulationBase.
Overrides: mbdyn.main.Simulation.init

_init_coupling(self)

source code 
Init the unsteady code and stabilize the aerodynamics loads. Then create the wind turbine with MBDyn objects, that take into account the ones from the unsteady BEM code. Then run the MBDyn simulation, first init will be called. Then save and update are called at each MBDyn time step.

_init_wind_simulation(self)

source code 
The Python objects are getting a reference of the C++ ones. The results are also initialized.

run(self)

source code 
Run the full simulation
Overrides: mbdyn.main.Simulation.run

update(self)

source code 
Update the wind turbine simulation. Called by the run_full() method at each MBDyn iteration. This method is doing the coupling between MBDyn and the unsteady BEM code. First the state of the wind turbine is updated according to the MBDyn objects that are attached to it. Then the unsteady BEM code is run from this new configuration. Finally the MBDyn elements are updated.
Overrides: mbdyn.main.Simulation.update

save_unsteady_state_at(self, time)

source code 
Save the unsteady state at a particular time. This function is used only when mbdyn_coupling is set to False. Else the time is saved from the MBDyn simulation.
Overrides: AerodynamicsSimulation.save_unsteady_state_at

save(self)

source code 
The save method called by WraptMBDyn. This method is called before update, because the values are saved just after a successful time step. save_mbdyn will also save the simulation status (by calling the save_results method.
Overrides: mbdyn.main.Simulation.save

collect_parameters(self)

source code 
Collect the simulation parameters into a dictionary
Overrides: mbdyn.main.Simulation.collect_parameters

set_parameters(self, para)

source code 
Set the simulation parameters from the para dictionary
Overrides: mbdyn.main.Simulation.set_parameters