Cactus is designed to be object-oriented and extensible. The core of the code is called the flesh , and extensions are referred to as thorns . The flesh manages program execution. Users specify runtime parameters and execution in special input files. This is dynamic, so users can change parameters and the execution schedule of various parts of the code during runtime.
Users steer computations via http requests.
Output streams from running applications can be displayed as jpegs. Cactus was initially developed to support work on large-scale problems in computational numerical relativity. A number of specialized thorns are available for solving boundary value and time evolution problems on three-dimensional Cartesian grids. Interested developers can create their own custom thorns.