Thank you for your interest in CalculiX Extras. (Last update 8/14/2019)
Extensions written by Peter A. Gustafson.
Current patch level - 2.17
Capabilities
CalculiX Extras builds on the existing 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)
- 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
- Download CalculiX Extras patches
- 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
- 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 why...
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.
In order to quantify interest and justify ongoing development, I ask that you submit your name and organizational info. 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.
Pressing the submit button should launch your email program. You will see exactly what is submitted.
Thank you for your consideration.
Download the latest patches.
ccx_extras.2.17.Makefile.patch
ccx_extras.2.17.exo.patch
ccx_extras.2.17.solver.patch