2D Axisymmetric Finite Element Methods (FEM) Program for Flexible Pavement Analysis, developed for the Department of Defense (DoD).
The program is developed by Haohang Huang and Jiayi Luo @ University of Illinois at Urbana-Champaign (UIUC). The advisor is Professor Erol Tutumluer.
The development of this software program is sponsored by Engineer Research and Development Center (ERDC), United States Army Corps of Engineers (USACE). The ERDC project manager is Jeb S. Tingle.
The program name represents Corps of Engineers ("C") and Flexible pavements ("FLEX").
The code is in C++ and Python. 2D FEM engine is written in C++. Other related modules, extensions, and Graphical User Interface (GUI) are written in Python.
Clone the repository:
git clone https://github.com/symphonylyh/C-FLEX2D
Repo strcuture:
C-FLEX2D
├── CMakeLists.txt
├── FEM
│ └── Eigen
├── LICENSE
├── README.md
└── compile.sh
Note: CMakeLists.txt
and compile.sh
are only used on MacOS or Linux platform.
For Windows platform, it is recommended to compile the program by Microsoft Visual Studio.
-
File--New--Project--Visual C++--Windows Desktop--Windows console application--Name & Location. Set name to "build" and location to the path of this folder you just cloned. Leave "Create directory for solution" ticked. Remove the starter files VS automatically generated (they are usually
pch.cpp
,pch.h
, etc.) -
Tool bar--Change "Solution Configuration" to "Release", "Solution platform" to "x64". "Release" program is faster than "Debug"'s.
-
Tool bar--Project--Add existing items--Choose all files in folder "FEM"
-
Left Pane--Right click on project name "build"--Properties--Right click on the project name-Properties-C/C++-Precompiled headers-Precompiles header--Not using precompile header
-
Right click project--Properties--General--Target Name--Change to the name you like, e.g.
main2d
-
Right click project--Build. You'll see some complaints from the compiler, but it doesn't matter.
The executable main2d
will be under ./build/x64/Release/
For Unix systems, it is much easier to compile. CMake and Xcode command line tools should be installed. Then simply run the bash script
sh compile.sh
and the executable will be under directory ./build/FEM/main