-
Notifications
You must be signed in to change notification settings - Fork 1
An object-oriented C++ kernel for integrating initial value problems.
License
dealias/triad
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
T R I A D Copyright (C) 2000-2016 John C. Bowman (bowman@math.ualberta.ca) INTRODUCTION ============ Triad is an object-oriented C++ kernel for integrating initial value problems. Design priorities, in order of priority: 1. High-performance computing 2. Portability 3. Object-oriented construction (reusable code) 4. Easy user-interface for data entry and output (eg., using XDR) COMPILATION =========== This program has been successfully compiled and tested on i386, alpha, rs6000, sun, sgi, and t3e UNIX platforms. To compile, simply say in the appropriate problem-dependent directory: make For better optimization, one can specify compiler-dependent optimization flags, for example: make CFLAGS="-O3 -DNDEBUG" EXECUTION =========== The command line is triad [<options>] <options> is a list of assignments, delimited by spaces, of the form A=B. One of the most important options is the "run" name. Consider, for example, the command line triad run=test dt=1 The run name is associated with the parameter file test/p, which contains further parameters assignments, separated by whitespace. Except for the run name itself, command line assignments override parameter file assignments. Thus, in the above example, the run "test" is begun, using the time step of 1, regardless of what time step may be specified in the parameter file. The default run name is "test". Examples: triad itmax=10 This evolves run test 10 time steps, producing whatever output files are specified by the problem-dependent portion of the code, along with restart and statistics files and a parameter file in a format suitable for a graphics program (such as sm). On each run, the parameter file is overwritten with the current values, so that the program effectively "remembers" previous command-line settings. triad itmax=10 restart=1 This restarts a previous run ("test") and executes an additional 10 time steps. triad itmax=10 init=1 This evolves run test 10 time steps, using as initial values the final values computed the last time this case was run. triad itmax=10 clobber=1 This evolves run test 10 time steps, overwriting a previous restart file. triad itmax=10 dynamic=1 tolmax=.5 tolmin=.05 A typical example of dynamic time-stepping parameters that lead to efficient computation without numerical instability. triad itmax=10 tmax=2.0 This evolves run test for 10 time steps or for 2.0 time units, whichever is less. This is useful when dynamic time stepping is enabled and it is desired to terminate computation at a fixed time. triad itmax=10 sample=1.0 This evolves run test for 10 time steps, producing output files at exactly at ever 1.0 time units. This is useful when dynamic time stepping is enabled and it is desired to produce uniformly spaced output values. triad itmax=10 dynamic=0 This disables the dynamic time-stepping mechanism. The complete list of kernel commands is itmax microsteps tmax dt dynamic tolmax tolmin stepfactor stepnoninvert dtmin dtmax tprecision sample polltime hybrid digits restart initialize clobber override verbose run checkpoint output method integrator Each problem will generally define other commands to set various user supplied parameters. *** FURTHER DOCUMENTATION TO BE ADDED ***
About
An object-oriented C++ kernel for integrating initial value problems.
Resources
License
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published