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.
Secondary development of QBlade
Quote from robytian on 25. August 2022, 04:02David Marten, Developer of Qblade:
Hello, I’m very excited about the epic update to Qblade. I’m excited about the new functionality and open source features.
I am Yinong Tian, a doctoral student from Harbin Engineering University, China. I am very interested in your research. Besides Dr. Marten’s paper and Qblade user documents, could you also provide some helpful code interpretation files or documents for secondary development?
Thank you!
Best wishes!
David Marten, Developer of Qblade:
Hello, I’m very excited about the epic update to Qblade. I’m excited about the new functionality and open source features.
I am Yinong Tian, a doctoral student from Harbin Engineering University, China. I am very interested in your research. Besides Dr. Marten’s paper and Qblade user documents, could you also provide some helpful code interpretation files or documents for secondary development?
Thank you!
Best wishes!
Quote from David on 25. August 2022, 12:05Dear Yinong,
unfortunately we don’t have any material available to share that contains such information. However, the general code structure and function / variable names are quite explicit. But at the moment there is no way around diving directly into the code itself.
Best,
David
Dear Yinong,
unfortunately we don’t have any material available to share that contains such information. However, the general code structure and function / variable names are quite explicit. But at the moment there is no way around diving directly into the code itself.
Best,
David
Quote from robytian on 19. October 2022, 15:17Dear Dr.David
Hello, I would like to ask, if I only want to carry out aerodynamic simulation of the impeller and adopt lift-line free vortex wake method, I would like to know where in the code is the content about this method and the iterative calculation of blade bound circulation?
Thank you!
Best regards
Yinong Tian
Dear Dr.David
Hello, I would like to ask, if I only want to carry out aerodynamic simulation of the impeller and adopt lift-line free vortex wake method, I would like to know where in the code is the content about this method and the iterative calculation of blade bound circulation?
Thank you!
Best regards
Yinong Tian
Uploaded files:- You need to login to have access to uploads.
Quote from David on 20. October 2022, 13:12Hi Yinong,
I dont understand exactly what you mean by ”adopt lift-line free vortex wake method for the impeller”, but the source code of the free wake method and the bound circulation is found in the class QTurbineSimulationData.cpp, an overview of how these functions are called can be found in the function onStartAnalysis() of the QSimulation.cpp class.
BR,
David
Hi Yinong,
I dont understand exactly what you mean by ”adopt lift-line free vortex wake method for the impeller”, but the source code of the free wake method and the bound circulation is found in the class QTurbineSimulationData.cpp, an overview of how these functions are called can be found in the function onStartAnalysis() of the QSimulation.cpp class.
BR,
David
Quote from robytian on 20. October 2022, 14:36Dear Dr.David
Thank you for your prompt reply. I had incorrectly translated the word rotor as impeller.
Yinong Tian
Dear Dr.David
Thank you for your prompt reply. I had incorrectly translated the word rotor as impeller.
Yinong Tian
Quote from robytian on 7. April 2023, 10:41Hi David
I consulted you about the code last time. I want to get the whole process of iteration method based on lift coefficient (The blade geometry information was obtained, the Angle of attack was calculated by looking up the airfoil file, and the amount of bound circulation was updated) that we talked about last time. I want to know where this part of code is.
Thank you so much.
Hope you have a nice weekend.
roby
Hi David
I consulted you about the code last time. I want to get the whole process of iteration method based on lift coefficient (The blade geometry information was obtained, the Angle of attack was calculated by looking up the airfoil file, and the amount of bound circulation was updated) that we talked about last time. I want to know where this part of code is.
Thank you so much.
Hope you have a nice weekend.
roby
Quote from David on 11. April 2023, 14:35Hi Roby,
as indicated before, the whole simulation loop is carried out in QSimulation::onStartAnalysis(). If you go through this part of the code you find the function QSimulation::gammaBoundFixedPointIteration(), which starts the fixed point iteration to find a bound circulation distribution for each turbine instance.
BR,
David
Hi Roby,
as indicated before, the whole simulation loop is carried out in QSimulation::onStartAnalysis(). If you go through this part of the code you find the function QSimulation::gammaBoundFixedPointIteration(), which starts the fixed point iteration to find a bound circulation distribution for each turbine instance.
BR,
David
Quote from robytian on 12. April 2023, 03:44Hi David
I also found this function through a quick browse yesterday, which is the same as what you said. I plan to study hard. Thank you for your reply.
BR,
roby
Hi David
I also found this function through a quick browse yesterday, which is the same as what you said. I plan to study hard. Thank you for your reply.
BR,
roby
Quote from robytian on 14. April 2023, 03:02Hi David
I have read your code and admire your coding and fluid dynamics knowledge. Because of the amount of code and the Qt library doping, is there a good way to bypass the Qt part of the code to see. I tried to install Qt6.5 in VS2019 and still have some header files unreadable: QMessageBox QFileDialog QTextEdit; QGridLayout; QLabel; QButtonGroup; QTabWidget; QVBoxLayout; QGroupBox; QRadioButton; QScrollArea.
By the way, I released a teaching video about Qblade on a Chinese video website, and it has been played about 1500 times. I hope more and more people can join in the use of Qblade software, so that the software will become stronger and stronger gradually.
Roby
Hi David
I have read your code and admire your coding and fluid dynamics knowledge. Because of the amount of code and the Qt library doping, is there a good way to bypass the Qt part of the code to see. I tried to install Qt6.5 in VS2019 and still have some header files unreadable: QMessageBox QFileDialog QTextEdit; QGridLayout; QLabel; QButtonGroup; QTabWidget; QVBoxLayout; QGroupBox; QRadioButton; QScrollArea.
By the way, I released a teaching video about Qblade on a Chinese video website, and it has been played about 1500 times. I hope more and more people can join in the use of Qblade software, so that the software will become stronger and stronger gradually.
Roby
Quote from David on 16. April 2023, 12:50Hi Roby,
great video. Keep up the good work!
Regarding the compilation of QBlade: I am using Qt 5.15 through the QtCreator IDE. QBlade runs on Qt5 and I have not yet ported it to the newest Qt6 framwork which requires quite a few changes. That said compiling with Qt5.15 should work straught out of the box. Removing the Qt part from the C++ source code is not an option as it is used all over the code.
BR,
David
Hi Roby,
great video. Keep up the good work!
Regarding the compilation of QBlade: I am using Qt 5.15 through the QtCreator IDE. QBlade runs on Qt5 and I have not yet ported it to the newest Qt6 framwork which requires quite a few changes. That said compiling with Qt5.15 should work straught out of the box. Removing the Qt part from the C++ source code is not an option as it is used all over the code.
BR,
David