Cactus is an
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
, problem-solving
environment
Environment most often refers to:
__NOTOC__
* Natural environment, all living and non-living things occurring naturally
* Biophysical environment, the physical and biological factors along with their chemical interactions that affect an organism or ...
designed for
scientist
A scientist is a person who conducts scientific research to advance knowledge in an area of the natural sciences.
In classical antiquity, there was no real ancient analog of a modern scientist. Instead, philosophers engaged in the philosophica ...
s and
engineer
Engineers, as practitioners of engineering, are professionals who invent, design, analyze, build and test machines, complex systems, structures, gadgets and materials to fulfill functional objectives and requirements while considering the l ...
s. Its
modular
Broadly speaking, modularity is the degree to which a system's components may be separated and recombined, often with the benefit of flexibility and variety in use. The concept of modularity is used primarily to reduce complexity by breaking a s ...
structure enables
parallel computation across different architectures and collaborative code development between different groups. Cactus originated in the academic
research
Research is "creative and systematic work undertaken to increase the stock of knowledge". It involves the collection, organization and analysis of evidence to increase understanding of a topic, characterized by a particular attentiveness t ...
community, where it was developed and used over many years by a large international collaboration of
physicist
A physicist is a scientist who specializes in the field of physics, which encompasses the interactions of matter and energy at all length and time scales in the physical universe.
Physicists generally are interested in the root or ultimate ca ...
s and
computational scientists.
The name
Cactus
A cactus (, or less commonly, cactus) is a member of the plant family Cactaceae, a family comprising about 127 genera with some 1750 known species of the order Caryophyllales. The word ''cactus'' derives, through Latin, from the Ancient Gre ...
comes from the
design
A design is a plan or specification for the construction of an object or system or for the implementation of an activity or process or the result of that plan or specification in the form of a prototype, product, or process. The verb ''to design'' ...
of a central core (or "flesh") which connects to application modules (or "thorns") through an extensible interface. Thorns can implement custom developed scientific or engineering applications, such as computational fluid dynamics. Other thorns from a standard computational toolkit provide a range of computational capabilities, such as parallel I/O, data distribution, or checkpointing.
Cactus runs on many
architecture
Architecture is the art and technique of designing and building, as distinguished from the skills associated with construction. It is both the process and the product of sketching, conceiving, planning, designing, and constructing buildings ...
s. Applications, developed on standard
workstation
A workstation is a special computer designed for technical or scientific applications. Intended primarily to be used by a single user, they are commonly connected to a local area network and run multi-user operating systems. The term ''worksta ...
s or
laptops, can be seamlessly run on
cluster
may refer to:
Science and technology Astronomy
* Cluster (spacecraft), constellation of four European Space Agency spacecraft
* Asteroid cluster, a small asteroid family
* Cluster II (spacecraft), a European Space Agency mission to study th ...
s or
supercomputers. Cactus provides easy access to many cutting-edge software technologies being developed in the academic research community, including the
Globus Toolkit,
HDF5
Hierarchical Data Format (HDF) is a set of file formats (HDF4, HDF5) designed to store and organize large amounts of data. Originally developed at the U.S. National Center for Supercomputing Applications, it is supported by The HDF Group, a non-p ...
parallel file I/O, the
PETSc
The Portable, Extensible Toolkit for Scientific Computation (PETSc, pronounced PET-see; the S is silent), is a suite of data structures and routines developed by Argonne National Laboratory for the scalable (parallel) solution of scientific appl ...
scientific library,
adaptive mesh refinement
In numerical analysis, adaptive mesh refinement (AMR) is a method of adapting the accuracy of a solution within certain sensitive or turbulent regions of simulation, dynamically and during the time the solution is being calculated. When solutions ...
, web interfaces, and advanced
visualization
Visualization or visualisation may refer to:
* Visualization (graphics), the physical or imagining creation of images, diagrams, or animations to communicate a message
* Data visualization, the graphic representation of data
* Information visualiz ...
tools.
History
Cactus was originally developed at the
AEI, and is now developed jointly at
AEI,
Cardiff University
, latin_name =
, image_name = Shield of the University of Cardiff.svg
, image_size = 150px
, caption = Coat of arms of Cardiff University
, motto = cy, Gwirionedd, Undod a Chytgord
, mottoeng = Truth, Unity and Concord
, established = 1 ...
, and the
Center for Computation & Technology at
LSU. There are several large packages built on Cactus, among others a
general relativistic
General relativity, also known as the general theory of relativity and Einstein's theory of gravity, is the geometric theory of gravitation published by Albert Einstein in 1915 and is the current description of gravitation in modern physics. G ...
spacetime
In physics, spacetime is a mathematical model that combines the three dimensions of space and one dimension of time into a single four-dimensional manifold. Spacetime diagrams can be used to visualize relativistic effects, such as why diffe ...
evolution code, an
adaptive mesh refinement
In numerical analysis, adaptive mesh refinement (AMR) is a method of adapting the accuracy of a solution within certain sensitive or turbulent regions of simulation, dynamically and during the time the solution is being calculated. When solutions ...
driver (Carpet), and a
general relativistic
General relativity, also known as the general theory of relativity and Einstein's theory of gravity, is the geometric theory of gravitation published by Albert Einstein in 1915 and is the current description of gravitation in modern physics. G ...
hydrodynamics code (Whisky).
Staff with the LSU Center for Computation & Technology, who were part of the original group at AEI who created Cactus, celebrated the program's 10th birthday in April 2007.
See also
*
Application framework
*
Software framework
In computer programming, a software framework is an abstraction in which software, providing generic functionality, can be selectively changed by additional user-written code, thus providing application-specific software. It provides a standard ...
*
Cactus
A cactus (, or less commonly, cactus) is a member of the plant family Cactaceae, a family comprising about 127 genera with some 1750 known species of the order Caryophyllales. The word ''cactus'' derives, through Latin, from the Ancient Gre ...
the plant
*
Embedded HTTP server
An embedded HTTP server is an HTTP server used in an embedded system.
The HTTP server is usually implemented as a software component of an application (embedded) system that controls and/or monitors a machine with mechanical and/or electrical p ...
*
Numerical relativity
References
{{reflist
External links
www.cactuscode.org— the Cactus Framework homepage
Center for Computation & TechnologyNumerical relativity group at the Albert Einstein Institutewww.whiskycode.orgWhisky — the EU Network GR Hydrodynamics code
einsteintoolkit.orgEinstein Toolkit
Integrated development environments