Using Open Source Software For Accurate and Reliable Engineering
Using Open Source Software For Accurate and Reliable Engineering
Using Open Source Software For Accurate and Reliable Engineering
net/publication/379835428
CITATIONS READS
0 8
1 author:
Matt Thomas
Utah Valley University
7 PUBLICATIONS 2 CITATIONS
SEE PROFILE
All content following this page was uploaded by Matt Thomas on 16 April 2024.
Abstract
This paper explores the viability of open-source software for safe and reliable engineering such
as wind turbine blade design and design life. We present a case study involving the analysis of
two wind turbine blades: a 1-meter nylon 66 blade with 30% carbon fiber reinforcement and a
65-meter fiberglass blade. Open-source software was utilized throughout the design and
analysis process, including:
● Ondsel Engineering Suite for 3D computer-aided design (CAD) of the blade geometries.
● OpenFOAM for computational fluid dynamics (CFD) simulations to assess aerodynamic
performance.
● CalculiX for finite element analysis (FEA) to evaluate structural integrity under various
loading conditions.
● Gmsh for mesh generation, a critical step in pre-processing for CFD and FEA.
● PrepoMax, an optional tool for advanced meshing and pre-processing.
● Fatlab, MLife, and Python for fatigue analysis
● OpenFAST for wind turbine loading conditions
● TurbSIM for generating turbulent wind conditions and vector fields
● XFLR5 for airfoil analysis and pressure distributions
The paper details the workflow employed for each software and the considerations taken for
material properties specific to nylon 66 with carbon fiber and fiberglass. The results of the
simulations are presented, focusing on factors critical for safe and reliable wind turbine blade
design, such as pressure distribution, stress concentrations, and potential failure modes.
Furthermore, the research delves into the quality assurance practices employed by open-source
developers. This includes methods like code reviews, unit testing, and verification against
established benchmarks to ensure the accuracy of the underlying mathematical equations and
code used in these software packages.
By successfully applying a suite of open-source software to analyze blades of varying size and
material composition, this paper demonstrates the potential for cost-effective and transparent
engineering solutions within the wind turbine industry.
INTRODUCTION
In the engineering world, software can be very pricey, but it's the price you pay for reliable, safe and
accurate results. The last thing a company wants is to have a lawsuit against them because of faulty
numbers. This is why engineers and architects use 3rd party reviewers to ensure their work is sound [1].
A third-party review, as the name implies, is a three-way relationship between a qualified professional
architectural and/or engineering firm who is contracted by a building department or other governmental
agency to perform plan reviews for a permit applicant through an approved vendor listing, where an
additional contractual relationship is established by the permit applicant to purchase the services of the
third-party directly. Once reviewed and approved, the third party then typically issues a “Reviewed for
Code Compliance” letter and the drawings are returned to the jurisdiction where a permit for the project
can be issued.
But what about new developing nations, or underdeveloped countries that can not afford $10,000 USD
per user for the software? This is where open source engineering software, as described in the abstract,
can be used safely, and reliably.
Many universities and laboratories have set standards, and tested open source engineering software, to
ensure its reliability and safety [2]. But even before that, the developers of the software follow strict
methodologies, standards and 3rd party reviews to make their code safe [3][4].
Openfoam, an open source Computational Fluid Dynamic solver (CFD) , is one of those projects where
accuracy and correct results are vital to engineers in order to ensure no users or people using a product
tested with openfoam gets hurt in any way [5].
Openfoam, originally written in fortran in the early 90’s, has been used in many case studies for
engineering applications, including aerospace and utility sized wind farms[6]. This open source software
is a command line tool that is used for solving complicated CFD scenarios. What is so great about this
project, is that Ondsel, an engineering suite built by paid, professional engineers and entirely built on
FreeCAD , an open source solid modeler, has an openfoam workbench [7] that can be installed from the
add-ons manager in the user interface, making it an ideal and easy way to perform basic to intermediate
CFD. To perform more advanced CFD options, using a post processor such as Paraview or PrePoMax is
recommended.
Ondsel does not charge for their software. However they have tier programs but at very low costs such as
$10 a month. Ondsel takes the weekly builds of FreeCAD, improves the UX/UI and functionality and
then releases them as a fork of FreeCAD. The engineers and coders are paid full time employees.
One such area of concern is the add-on manager of FreeCAD and Ondsel. This manager allows you to
install other workbenches created by other users. This is a huge security concern as well as a liability. The
add-on could have vulnerable code, erroneous math functions as well as poor documentation. This is why
testing benchmarks are so vital and crucial to engineering applications.
NAFEM is an organization that creates these standards for software companies to test against to ensure
safe and reliable code that produces accurate results [8]. Benchmark guides are available for download.
The need for accurate, reliable, open source software is crucial for new developing countries[9] and
potentially new generations of engineering students. To be able to learn and build without worry of price
or theft of software is a win win for us all.
To begin this case study, blade geometry had to be created and modeled using a solid modeling platform.
Ondsel Engineering Suite (https://ondsel.com/) built entirely on FreeCAD was chosen over the web based
software Onshape due to not having to upgrade to a $1500 subscription plan to use any type of analysis.
Ondsel (FreeCAD) by default has basic and advanced FEM capabilities installed as the “FEM
Workbench”. These default workbenches are maintained by the developers and are benchmarked against
NAFEM standards. In order to perform any CFD, the Openfoam CFD workbench must be installed and
configured according to the documentation. This workbench does not install any code, rather, it
downloads the latest, updated version of openfoam from the developers highly maintained and updated
github repository and then the workbench is just “pointed” to the location of the executable. Openfoam is
tested weekly, and benchmarked often to ensure safe results.
The objects chosen for this experimental process are a 1 meter Pikasola, Nylon 66, carbon fiber reinforced
wind turbine blade, as well as a 65 meter National Renewable Energy Laboratory (NREL), 5MW, wind
turbine blade constructed from fiberglass. Both of these blades will be constructed in FreeCAD following
best practices.
Before modeling the 1 meter Pikasola blade, a sketch of each airfoil section was created by using a band
saw and cutting the physical blade into 15 sections as notated in figure 1. Doing so, allowed us the ability
to trace and examine each airfoil section as it moved down the blade.
Each airfoil was traced onto graph paper. Digital, precision calipers were used to aid in the measuring and
creation of 4 specific dimensions; the chord length, and 3 points along the skin surface for thickness.
Knowing each of these values aids in finding the appropriate scale factor needed to model each portion of
the blade. Figure 2 below illustrates these dimension points.
Figure 2: Airfoil section Number 9
Comparing each section's mid-point (number 2) and chord length, a scale factor of 1.15 was found,
meaning that each new section of airfoil was increased by 1.15 times the original amount in all directions.
Since the airfoil shape is the same from the tip to the root, the best viewable airfoil section was imported
into Ondsel (FreeCAD) for sketch tracing. Once that section had been scaled to match section 1 at the tip,
a copy was made, and then scaled by 1.15 uniformly. This process was done for each of the first 12
sections. Following this process saved many hours of painstakingly tracing each of the 15 sections as
shown in figure 3.
After all 12 sections had been created, they were spaced according to the dimensions and measurements
of the original blade. Following this spacing, the lofting process was done to skin the pieces together to
create the final blade as illustrated below in figure 4.
Figure 4: Final Geometry of Pikasola 1 Meter Blade with 3.5 Degree Angle of Twist
For the final 65 meter length blade, a different approach had to be taken since no physical blade existed
nor could tracing each airfoil section be feasible. However, the blade is made up of many pre existing
National Advisory Committee for Aeronautics 4 digit airfoils such as NACA 6410. Knowing this, each
airfoil section could be looked up in a database, then traced and positioned according to NREL standards
outlined in “Definition of a 5-MW Reference Wind Turbine for Offshore System Development” [10].
With both blades modeled to specifications in FreeCAD, a basic force analysis was done for each blade.
They were treated as cantilever beams and had triangular loads applied to the top surface to find
deflection, shear, and reaction values at the root. Performing hand calculations such as this, provides
valuable insight and a comparison to what the software should roughly compute.
Area of the cross section is needed for any type of beam calculations to be performed. To achieve this, an
airfoil equation (1) was derived for the larger 65 meter blade since it is hollow on the inside and the
Pikasola blade is not. This equation is then plotted to generate the shape path of the airfoil in question. A
second airfoil with less thickness was generated, as to give some sort of overall material thickness of to
find the area of.
Using the equation above, where “c” is the chord length, and “t” is the thickness, both equations were
then integrated and the difference between the two yielded the cross sectional area of the airfoil. This
process was done for each blade, and for multiple airfoil types. Results indicate a 6% error when
compared to FEA performed in open source tools and ANSYS. Please refer to the “Verifying Results
With ANSYS” section for more details.
Figure 6, following this paragraph, depicts the plotted graphs done in DESMOS free web based graphing
calculator. This tool has been very beneficial in multiple research projects.
Following the airfoil evaluation, the hand calculations and force analysis were completed. Static force
analysis offers a straightforward approach to assess the structural integrity of wind turbine blades under
normal operating conditions. This method focuses on the behavior of the blade under applied forces and
loads, providing valuable insight without the complexity of dynamic effects or extreme scenarios.
To complete the force analysis, a design load of 840 kN was selected based on the data provided in the
IEC 61400-1 standard (IEC, 2019) [11]. Table 1 illustrates the physical properties used for the 65 meter
blade calculations. The second moment of area is calculated using the cross sectional area that was
calculated from integration. Figure 7 shows the actual force analysis performed.
As previously stated, hand calculations are a good estimate and help determine a direction to go with the
design process. However, they are not a complete picture of the loading conditions that a fully established
wind turbine can experience. To get a better idea of a complete scenero, OpenFAST, an open source large
scale wind turbine simulator for numerical analysis, created by NREL [12] was used to generate the loads
on the larger 65 meter NREL blade. Figure 8 below shows a partial snippet of the loads file created by
open fast. The simulation was run for 1 hour to allow all transients to reach steady state. OpenFAST does
not generate geometry, it is purely a numerical approach.
Figure 8: Loads File for NREL Blade. Notice the Cyclic Nature of Loading
Tip deflection reported by OpenFAST was 7.9 meters compared to the above 8.43 meters from hand
calculations. This is a 6% error, which is excellent. This is the first of many verifications during this
research project and case study. Please use this link to obtain a user's manual written By Matt Thomas and
Noah Boettcher:
https://drive.google.com/file/d/1H9_JI6ufgTip6q41Mrd9J1Nl3_UoIzD-/view?usp=sharing
To verify the results from OpenFAST, FEA was performed on the NREL blade only. It is noted to the
reader that OpenFAST does not test any other type of blade, it only simulates large 65 meter NREL blades
for offshore development. This study will discuss the Pikasola blade momentarily.
Fea was done using 3 different softwares; Ondsel FreeCAD, PrePoMax, and Intact.de. Both FreeCAD and
PrePoMax use a very well documented and updated open-source solver known as CalculiX. This solver is
based on the Abequs language. CalculiX uses the same syntax as Abequs but is not always compatible.
Intact.de is a newer open source web based platform that is meshless. It is not always the most
recommended choice for FEA. PrePoMax and CalculiX are the most recommended FEA packages out
there. PrePoMax has the ability to mesh and solve complicated geometries, including STL files ment for
3D printing, making this a valuable option for any 3D printed parts. Intact.de can handle STL files as
well, but being meshless, its not always the most accurate.
For all meshed simulations, the same size and order, based on a mesh convergence analysis, of mesh was
used to ensure the most accurate comparison between the softwares. Below in figure 9, the mesh is
displayed. This mesh was created by Ondsel FreeCAD using the GMSH option. The exact mesh was then
created by PrePoMax using GMSH as well. It is found that sometimes FreeCAD can struggle with
creating a mesh on larger objects, while PrePoMax has better defaults to handle this type of geometry.
Mesh Size Max Def (m) Von Mises (MPa) Compute Time (min)
(mm)
300x60 9.7 23 1
Once the FEA was completed in Ondsel FreeCAD, PrePoMax, and Intact.de, the analysis was then run in
ANSYS for another set of verifications. Table 3 shows those results. As you can see, the Max Stress
reported by Intact.de is extremely high. This is the outlier and it is recommended to only use Intact.de for
smaller items such as those you would 3D print.
OpenFAST 7.9 NA
Two different mesh convergence studies were performed for the Pikasola blade. The first was the standard
mesh size vs deflection and stress as used previously. The second is a nodal comparison against
deflection. This was done due to the fact that the smaller edges, less than 1mm, had a harder time meshing
with a 2nd order mesh. Many settings and adjustments were made to allow a 2nd order mesh for the most
accuracy. In the figure below, you can see where the convergence is. A 5 mm by 1mm 2nd order mesh
with 6000 nodes was chosen as our final mesh.
Before running the actual FEA simulations in Ondsel FreeCAD and PrePoMax, an actual load case had to
be created using Openfaom Computational Fluid Dynamics software (CFD). This is what acts as the
virtual wind tunnel to create the loads, stresses, and torques the blade could experience under real world
conditions. After performing the CFD, it was calculated that a 3.75 Newton force was produced on the
blade from a 4 m/s turbulent wind. Below is an illustration of how the setup works.
Figure 12: Virtual Wind Tunnel With Inlet (Blue) and Outlet (Red)
Now that a distributed force had been calculated, FEA simulations could be run. This study used
FreeCAD and PrePoMax as the main solvers, then ANSYS was used purely for verification purposes.
The results between all 3 suits were very similar with a 0.1mm difference between the two open source
packages, and a 0.5mm difference between open source and ANSYS. The following figures provide a
basic representation for this study.
Figure 13: Final Mesh and Stress Concentrations of FEA Simulations in FreeCAD
FatLab, an open source Matlab script written and developed by Mikkel Pedersen [13] was used to do
benchmark tests to compare against one another. Fatlab can be used with the Matlab runtime R2022b
environment. It is noted that in the zip file of the current release of Fatlab, there is an executable that will
launch Fatlab without a full version of Matlab. It is labeled Fatlab.exe.
This software uses a loads file, stress and FEA files from PrePoMax and finally SN curve data to
generate and calculate fatigue statistics. The loads file of a model is the loading it undergoes for fatigue
testing. It is always some type of cyclic wave over a certain amount of time. Please refere to the fatlab
users manual for the correct setup of said loads file. Below is an image of the current loads file for th
5MW wind turbine hub
Figure 15: Model Information loaded from either ANSYS or PrePoMax Calculations
Once all the loading files, stress files, and SN curve data have been imported, the analysis can begin. This
can take some time due to heavy calculations. Here are the results of the current benchmark using a low
stress cyclic load. The results indicate an infinite life cycle at the current loading and material for this hub,
however, keep in mind that the loading that was used in Fatlab, is well below the actual stress the hub
would experience. Using the correct loading based off of manufacture data, the hub has a life of 20 to 25
years.
Fatlab is simple and straightforward to use. The difficulty was ensuring that all 6 stress files were created
in PrePoMax and then loaded correctly into Fatlab. For more information on how to use CalculiX and
PrePoMax, please visit the Calculix forums https://calculix.discourse.group/ they are very helpful and
quick to reply. This is not a dedicated forum for Fatlab, however, some users are more than happy to try
and help.
CONCLUSION
This paper has explored the viability of open-source software for accurate and reliable engineering
applications, specifically focusing on wind turbine blade design. We presented a case study demonstrating
the effectiveness, safety, and reliability of a suite of open-source tools:
The successful application of these open-source tools demonstrates their potential to replace or
complement expensive commercial software for engineering applications, especially in developing
nations where money is less available. This approach offers several advantages:
By leveraging this open-source ecosystem, engineers can design wind turbine blades (or other projects)
that are not only efficient in terms of energy production but also structurally sound and reliable. The
findings from this study encourage further exploration and development of open-source tools to empower
engineers and advance the wind energy industry.
This research paves the way for utilizing open-source software as a robust and cost-effective foundation
for accurate and reliable engineering applications, especially for developing nations and low income
demographics.
REFERENCES
[1]C. E. C. AIA CSI, “Peer Review vs. Third-Party Review – What’s the Difference?,”
www.burnhamnationwide.com.
https://www.burnhamnationwide.com/final-review-blog/peer-review-vs.-third-party-review-whats-the-d
ifference#:~:text=A%20third%2Dparty%20review%2C%20as (accessed Mar. 24, 2024).
[2]S. Persson, “Development of a Test Suite for Verification & Validation of OpenFOAM.” Accessed: Mar.
24, 2024. [Online]. Available: https://publications.lib.chalmers.se/records/fulltext/250253/250253.pdf
[3]V. Creative and Bluefruit, “Unit Testing and development: Build tests before you code,” Bluefruit
Software, Feb. 22, 2019.
https://bluefruit.co.uk/people/unit-testing-and-development-build-tests-before/ (accessed Mar. 24,
2024).
[4]C. H. M. Souza, A. C. Romano, A. Passaro, and D. J. F. Villas Boas, “Development and Validation of an
Open Source CFD Code for Analysis of Aerospace Vehicles,” Journal of Aerospace Technology and
Management, vol. 15, p. e2623, Nov. 2023, doi: https://doi.org/10.1590/jatm.v15.1317.
[6]M. Hoem and R. Kristoffersen, “Wind Turbine Simulations with OpenFOAM.” Accessed: Mar. 24, 2024.
[Online]. Available:
https://ntnuopen.ntnu.no/ntnu-xmlui/bitstream/handle/11250/2496219/18290_FULLTEXT.pdf?sequenc
e=1
[8]“BENCHMARKS GUIDE The Standard NAFEMS Benchmarks: Linear Elastic Tests,” 1990. Accessed: Mar.
24, 2024. [Online]. Available:
https://www.esrd.com/wp-content/uploads/dlm_uploads/Benchmarks-Guide-Standard-NAFEMS-Bench
marks-Linear-Elastic-Tests.pdf
[9]S. Mcneil, N. Yano, and Japan, “Free Software in Developing Countries Vital to Future Prosperity and
Good Governance: UNU Technology Experts” 2006. Available:
https://archive.unu.edu/media/archives/2006/files/mre-iist-3-06.pdf
[10]J. Jonkman, S. Butterfield, W. Musial, and G. Scott, “Definition of a 5-MW Reference Wind Turbine for
Offshore System Development,” 2009. Available: https://www.nrel.gov/docs/fy09osti/38060.pdf
View publication stats
[12]M. Thomas, “Prediction of Wind Turbine Blade Fatigue and Life Using the National Renewable Energy
Laboratory Open-Source Software,” Dec. 27, 2023.
https://drive.google.com/file/d/1ieAGtzE2nsP9M3Y-kF1mXTS0cGRd-okv/view (accessed Mar. 24, 2024).