**Thank you for your interest in CalculiX Extras.
Extensions written by Peter A. Gustafson.
Current patch level - 2.17
Capabilities
CalculiX Extras builds on the CalculiX v2.17 code base
- It adds CUDA based solvers. Please note this is research level code.
It is considered a stable code but must be used with due diligence.
- Currently, these solvers can be called for static analysis in
mechanical models in CalculiX.
- Cuda-Cusp
- (Outstanding performance for appropriate models.)
- SuiteSparse Cholmod
- (Modest performance at last testing in ccx version 2.11. However, since then CUDA has been added to Cholmod and it has not been subsequently testing with CalculiX Extras)
- Cuda-Cusp
- Currently, these solvers can be called for static analysis in
mechanical models in CalculiX.
- It extends CalculiX to write results into ExodusII format. Postprocessing can be accomplished with several readers. A recommended postprocessor is Paraview.
Build Instructions
These instructions are limited. They assume you are able to build CalculiX from source. Warning: building all these libraries from source can be a challenge for seasoned developers. Ubuntu specific instructions can be found at CalculiX Extras for Ubuntu
- Choose your extra: exo, solver, or both
- For exo files: download, build, and install ExodusII
- For additional solvers: download and install:
- Cuda-Cusp (The cuda based solver requires an install of Nvidia’s CUDA SDK and libs
- SuiteSparse (which includes Cholmod )
- Download CalculiX ccx version 2.17
wget https://openaircraft.com/assets/code/calculix/ccx_2.17.src.tar.bz2
- Download CalculiX Extras patches
wget https://openaircraft.com/assets/code/calculix/ccx_extras.2.17.Makefile.patch wget https://openaircraft.com/assets/code/calculix/ccx_extras.2.17.exo.patch wget https://openaircraft.com/assets/code/calculix/ccx_extras.2.17.solver.patch
- Unpack ccx_2.17.src.tar.bz2
tar xavf ccx_2.17.src.tar.bz2
- Patch the Makefile
cd CalculiX/ccx_2.17 patch -p2 < ../../ccx_extras.2.17.Makefile.patch
- Apply patches your extra: exo, solver, or both (order of patch
application doesn’t matter)
patch -p2 < ../../ccx_extras.2.17.exo.patch patch -p2 < ../../ccx_extras.2.17.solver.patch
- Modify the Makefile based on the locations of your libraries
cd src emacs Makefile
- Make
make
- Send bug reports to peter.gustafson@wmich.edu
FAQ
- If you’ve made an attempt… Yes, I’d be glad to help you!
- But you must be able to compile ccx (without my patches) first.
- See the first line of the build instructions… this can be tough and this is the minimum starting point for support from me.
- (PS The ccx mailing list is great.)
- If you’ve not yet made an attempt, please try before you contact me. See the FAQ to understand my reasoning…
Usage
- The solvers can be called using the *static keyword:
*static, solver=cudacusp *static, solver=cholmod
- ExodusII output format is called on job execution using the command
line.
ccx -i jobname -o exo
Benchmarking
A rigorous round of benchmarking has been completed. If you are unable to download the paper, please contact me using the submission form below.
-
- I’m happy to collaborate with others who are interested in further benchmarking.
- Benchmarking will be highly dependent on hardware and software configuration.
- I’m seeking additional “real world” models for use in benchmarking.
- An NSF grant to WMU funded the hardware used for benchmarking.
Known Bugs and Functional Deficits
- The solvers have only been applied to static solid mechanics models.
- The solvers have have not been actively tested since version 2.11 so your mileage may vary.
- There are known limitations for output requests with ExodusII
- Several output requests to ExodusII format are untested.
- It is not currently possible to change output requests between steps
- Node sets are partially implemented but element sets are not implemented
- Developing for CalculiX
- Doxygen was used to generate documentation which may help with development for CalculiX. The documentation is here. Note also the user documentation for ccx and cgx.
Download
- In order to quantify interest and justify ongoing development, I
ask that you submit your name and organizational info via email to
peter.gustafson@wmich.edu. This info will not be used for any
marketing. It will not be sold. Without any expressed interest,
my time on this project is not justified.
- Your participation is voluntary. Please resubmit with each version you download.
- Thank you for your consideration.
Download the latest patches.
Support maintenance of this code
Please donate to support maintenance of this code!