Forum
Important Notice for New User Registrations
To combat an increasing number of spam and bot registrations, we now manually approve all new user registrations. While this may cause a delay until your account is approved, this step is essential to ensure the quality and security of this forum.
To help us verify your registration as legitimate, please use a clear name as user name or an official email address (such as a work, university, or similar address). If you’re concerned that we may not recognize your registration as non-spam, feel free to email us at with a request to approve your username.
Initial offset of turbine position
Quote from JMuralha on 17. July 2024, 13:37Hello,
I am trying to run a simulation with an initial offset of the turbine, that remains for the rest of the simulation, using the Python interface, but I am running into troubles.
When I use this function setTurbinePosition_at_num(double x, double y, double z, double rotx, double roty, double rotz, int num = 0) before initializeSimulation() the simulation the turbine position is not set at the prescribed position.
If I use the setTurbinePosition_at_num function inside my simulation loop the turbine tower bottom position swifts abruptly and I get in trouble with the structural solver.
Thanks,
João Muralha
Hello,
I am trying to run a simulation with an initial offset of the turbine, that remains for the rest of the simulation, using the Python interface, but I am running into troubles.
When I use this function setTurbinePosition_at_num(double x, double y, double z, double rotx, double roty, double rotz, int num = 0) before initializeSimulation() the simulation the turbine position is not set at the prescribed position.
If I use the setTurbinePosition_at_num function inside my simulation loop the turbine tower bottom position swifts abruptly and I get in trouble with the structural solver.
Thanks,
João Muralha
Quote from David on 17. July 2024, 23:27Hi João,
the setTurbinePosition_at_num() function is intended to “move” a turbine dynamically during a simulation. As you have observed, if the movements are too abrupt, this can cause the structural dynamics simulation to diverge.
If you simply want to apply a constant offset to a turbine you can directly do this in the simulation dialog (or in the .sim file). I have marked the dialog section in the attached screenshot. The variable names in the simfile are listed below:
GLOBPOS_X – the global x-position of the turbine [m]
GLOBPOS_Y – the global y-position of the turbine [m]
GLOBPOS_Z – the global z-position of the turbine [m]
GLOBROT_X – the global x-rotation of the turbine [deg]
GLOBROT_Y – the global y-rotation of the turbine [deg]
GLOBROT_Z – the global z-rotation of the turbine [deg]BR,
David
Hi João,
the setTurbinePosition_at_num() function is intended to “move” a turbine dynamically during a simulation. As you have observed, if the movements are too abrupt, this can cause the structural dynamics simulation to diverge.
If you simply want to apply a constant offset to a turbine you can directly do this in the simulation dialog (or in the .sim file). I have marked the dialog section in the attached screenshot. The variable names in the simfile are listed below:
GLOBPOS_X – the global x-position of the turbine [m]
GLOBPOS_Y – the global y-position of the turbine [m]
GLOBPOS_Z – the global z-position of the turbine [m]
GLOBROT_X – the global x-rotation of the turbine [deg]
GLOBROT_Y – the global y-rotation of the turbine [deg]
GLOBROT_Z – the global z-rotation of the turbine [deg]
BR,
David
Uploaded files:- You need to login to have access to uploads.
Quote from JMuralha on 18. July 2024, 10:24Hello,
Thanks for the answer. The documentation should be updated then for function setTurbinePosition_at_num() it states:
“This function sets the turbine tower bottom x, y and z position [m], and xrot, yrot zrot rotation [deg]. It can be called before
initializeSimulation()
if the turbine position should be offset initially or during the simulation loop if it should be changed dynamically, for example during cosimulation with a hydrodynamics software that models the floater.”Best regards,
João Muralha
Hello,
Thanks for the answer. The documentation should be updated then for function setTurbinePosition_at_num() it states:
“This function sets the turbine tower bottom x, y and z position [m], and xrot, yrot zrot rotation [deg]. It can be called before initializeSimulation()
if the turbine position should be offset initially or during the simulation loop if it should be changed dynamically, for example during cosimulation with a hydrodynamics software that models the floater.”
Best regards,
João Muralha
Quote from David on 18. July 2024, 13:20Hi João Muralha,
you are correct: This part”…It can be called before
initializeSimulation()
if the turbine position should be offset initially” is currently broken. Incorrectly, during theinitializeSimulation()
call, the turbine position is reset to zero. Consequently, calling thesetTurbinePosition_at_num()
function during the first timestep in the SIL loop, with a large offest from zero, causes the turbine to “jump” instantaneously to the requested position, resulting in the structural model diverging.This is fixed now in the code and the changes will be incorporated in the next minor release update.
Thanks for letting me know!
BR,
David
Hi João Muralha,
you are correct: This part”…It can be called before initializeSimulation()
if the turbine position should be offset initially” is currently broken. Incorrectly, during the initializeSimulation()
call, the turbine position is reset to zero. Consequently, calling the setTurbinePosition_at_num()
function during the first timestep in the SIL loop, with a large offest from zero, causes the turbine to “jump” instantaneously to the requested position, resulting in the structural model diverging.
This is fixed now in the code and the changes will be incorporated in the next minor release update.
Thanks for letting me know!
BR,
David