Next:
Contents
Contents
Users' GuideRevision: 1.46 Date: 2009/01/30 00:59:16
Contents
Installation
Required Software
Supported Architectures
Checkout Procedure
Directory Structure
Getting Help
Compilation
Creating a Configuration
Configuration Options
Available Options
Compiling with Extra Packages
MPI: Message Passing Interface
HDF5: Hierarchical Data Format version 5
LAPACK: Linear Algebra PACKage
PETSc: Portable, Extensible Toolkit for Scientific Computation
Pthreads: POSIX threads
File Layout
Building and Administering a Configuration
gmake Targets for Building and Administering Configurations
Compiling in Thorns
Notes and Caveats
gmake
Options for Building Configurations
Other gmake Targets
Testing
Running Cactus
Command-Line Options
Parameter File Syntax
Thorn Documentation
Getting and Looking at Output
Screen Output
Output
Checkpointing/Recovery
Overview
Thorn Concepts
Thorns
Arrangements
Implementations
Anatomy of a Thorn
Thorns
Creating a Thorn
Configuring your Thorn
General Syntax of CCL Files
The
interface.ccl
File
The
param.ccl
File
The
schedule.ccl
File
Storage Outside of Schedule Blocks
The
configuration.ccl
Naming Conventions for Source Files
Adding Source Files
make.code.defn
based thorn building
Makefile
based thorn building
Other makefile variables
Cactus Variables
Data Type
Group Types
Timelevels
Size and Distrib
Ghost Zones
Staggering
Information about Grid Variables
Group Information
Cactus Parameters
Types and Ranges
Int
Real
Keyword
Boolean
String
Scope
Steerable
Scheduling
Schedule Bins
Groups
Schedule Options
The Schedule Block
How Cactus Calls Scheduled Functions
Writing a Thorn
Thorn Programming Languages
What the Flesh Provides
Fortran Routines
Variables
Parameters
Fortran Example
Cactus Fortran Functions
Fortran Modules
The
MOD
function
C Routines
Variables
Parameters
Example
Complex variables
Specifically for C Programmers
Cactus Variables
Cactus Data Types
Example
Staggering
Indexing, ghostzones, etc.
Staggertypes
Parallelisation
Cactus Application Interfaces
Coordinates
Registering Coordinates and Coordinate Properties
Using Coordinates
I/O
Interpolation Operators
Reduction Operators
Completing a Thorn
Commenting Source Code
Providing Runtime Information
Error Handling, Warnings and Code Termination
Adding Documentation
README
Contribution to Thorn Guide
Adding a Test Suite
Best Practices for Test Suites
Advanced Thorn Writing
Using Cactus Timers
What are Timers?
Timing Calls
How to Insert Timers in your Code
Include Files
Example
Memory Tracing
Activating Memory Tracing
Using Memory Tracing
Calls to different language
Calling C Routines from Fortran
String Arguments from Fortran
Calling Fortran Routines from C
Function aliasing
Using an Aliased Function
Providing a Function
Conventions and Restrictions
Examples
Testing Aliased Functions
Naming Conventions
General Naming Conventions
Data Types and Sizes
Fortran Thorn Writers
Telling the Make system What to Do
Basic Recipe
Make Concepts
The Four Files
How your code is built
Introduction
Key/Value Tables
Motivation
The Basic Idea
A Simple Example
Arrays as Table Values
Character Strings
Convenience Routines
Table Iterators
Multithreading and Multiprocessor Issues
Metadata about All Tables
Introduction
Concepts and Terminology
Overloading and Registration
Overloading
Registration
GH Extensions
I/O Methods
GH Extensions
Overloadable and Registerable Functions in Main
Overloadable and Registerable Functions in Comm
Overloadable and Registerable Functions in I/O
Drivers
Anatomy
Startup
The GH Extension
Memory Functions
En/Disable Group Storage
En/Disable Group Comm
I/O Methods
I/O Method Registration
Periodic Output of Grid Variables
Triggered Output of Grid Variables
Unconditional Output of Grid Variables
Checkpointing/Recovery Methods
Checkpointing Invocation
Recovery Invocation
Clocks for Timing
Glossary
Configuration File Syntax
General Concepts
interface.ccl
Header block
Include files
Function aliasing
Variable Blocks
param.ccl
Parameter Data Scoping Items
Parameter Object Specification Items
schedule.ccl
Assignment Statements
Schedule Blocks
Allowed Options
Conditional Statements
configuration.ccl
Configuration Scripts
Schedule Bins
Flesh Parameters
Private Parameters
Restricted Parameters
Using GNATS
Using CVS
Essential CVS Commands
CVS Options
CVS Examples
Checking Out Flesh and Thorns with CVS
Using Tags
Tags with Emacs
Tags with vi
ThornLists
About this document ...