summaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAge
* Disable K&R prototype for getopt()eschnett2012-09-13
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4868 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Committing change for ticket #176sbrandt2012-07-24
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4851 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Move MPI support from flesh to a thorneschnett2012-07-21
| | | | | | | | | | | | | | | | Move MPI support from flesh to thorn ExternalLibraries/MPI. This also requires thorns that call MPI directly to declare this in their configuration.ccl. Existing configurations using MPI need to include ExternalLibraries/MPI into their thorn list. * Declare that the flesh optionally uses MPI (because it needs to call MPI_Init) * Update test case mechanism to find out whether MPI is used * Handle configuration bindings for flesh * Don't special-case Crays any more when configuring Linux git-svn-id: http://svn.cactuscode.org/flesh/trunk@4847 17b73243-c579-4c4c-a9d2-2d5706c11dac
* add parameters to reverse un-enforced Cactus schedule orderingrhaas2012-07-16
| | | | | | | | | | | | | | | | | | | | | | This patch adds two new parameters to the flesh: * schedule_sort_mode - which affects the order of schedule items before enforcing BEFORE/AFTER * schedule_sort_warnings - which outputs warnings if a schedule item refers to a non-existing item in its BEFORE/AFTER modifiers Neither one is intended to be used in production runs but they are useful for debugging a schedule. schedule_sort_warnings is intended to catch typos in dependency names and when one tries to order with respect to items hidden within a group. It will find a number of false positives for items that are only scheduled based on parameter settings. Eg. MoL's RHS NaN checker. schedule_sort_mode can be used to ensure that the schedule order does not depend on the (semi-random) order that Cactus generates for non-enforced ordering. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4845 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Introduce cctk_ash, retire cctk_lssheschnett2012-07-04
| | | | | | | | | | | | Introduce cctk_ash, describing the process-local array shape that has been allocated. This may be larger than cctk_lsh, the process-local shape that should be used. Retire cctk_lssh and related infrastructure to handle staggered grid functions. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4841 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Remove redundant includessbrandt2012-07-03
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4840 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Changes for ticket #768sbrandt2012-06-18
| | | | | | | | Change per thorn -DTHORN_IS_xxx to a per thorn -I bindings/include/xxx git-svn-id: http://svn.cactuscode.org/flesh/trunk@4839 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Add script to auto-generate cctk_Loop.heschnett2012-06-18
| | | | | | | | Also update API. Add documentation. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4838 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Replace CCTK_RESTRICT by restrict, which is now defined by the flesheschnett2012-06-17
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4836 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Correct errors in handling optional capabilitieseschnett2012-06-17
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4835 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Remove unused and broken BinaryTree implementationeschnett2012-06-15
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4834 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Add missing lssh field to struct cGroupDynamicDataeschnett2012-06-11
| | | | | | | | | The size and memory layout of grid functions is described by two variables, cctk_lsh and cctk_lssh. The structure cGroupDynamicData is missing the lssh field. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4833 17b73243-c579-4c4c-a9d2-2d5706c11dac
* correctly detect circular schedule itemsrhaas2012-06-11
| | | | | | | | | before this Cactus would not detect certain cyclic dependencies eg. ones where two scheduled functions are each scheduled after the other or where a function wants to be scheduled after itself. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4832 17b73243-c579-4c4c-a9d2-2d5706c11dac
* have CCTK_RegexMatch return a distinct error code if patterns is invalidrhaas2012-06-05
| | | | | | | | | | | | | | This patch changes the return value in the "does not compile" case to -1 and updates all source files that I could find that use it. Note that this patch changes behaviour of a routine. It used to return 0 for non-compiling patterns so thorns that test for C-like true would interpret invalid patterns as does-not-match, but will interpret the -1 return value as does-match. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4831 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Clean up CCTK_GFINDEX definitionseschnett2012-05-12
| | | | | | | | Do not use macros for CCTK_GFINDEX; use static inline functions all the time. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4823 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Add I/O timers to Cactus flesheschnett2012-05-08
| | | | | | | Add timers for each I/O method in the flesh. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4816 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Declare missing 0D GFIndex functionseschnett2012-05-07
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4814 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Protect declarations with external "C"eschnett2012-05-07
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4813 17b73243-c579-4c4c-a9d2-2d5706c11dac
* add function to query name of currently scheduled functionrhaas2012-04-23
| | | | | | | | | | this adds a function CCTK_ScheduleQueryCurrentFunction which returns the cFunctionData of the function currently executing via CCTK_CallScheduledFunction git-svn-id: http://svn.cactuscode.org/flesh/trunk@4805 17b73243-c579-4c4c-a9d2-2d5706c11dac
* expand expression language, add error checking, and more documentationrhaas2012-04-19
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4804 17b73243-c579-4c4c-a9d2-2d5706c11dac
* fix memory leak in SetVarEvaluatorrhaas2012-04-17
| | | | | | | forgot to call free() after strdup() git-svn-id: http://svn.cactuscode.org/flesh/trunk@4802 17b73243-c579-4c4c-a9d2-2d5706c11dac
* fix access to free()ed memory in ParameterSetReal introduce in r 4797rhaas2012-04-17
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4801 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Add missing #includeeschnett2012-04-16
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4800 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Simplify two routines in ParseFile.ceschnett2012-04-13
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4799 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Allow arithmetic expression in ParameterSetrhaas2012-04-11
| | | | | | | | | | | | | | | | | | Expression are of the form: foo::bar = 2*sin(foo:baz) ie. arithmetic and access to already set parameters. The new behaviour is triggered if the parameter string (for real, boolean and int parameters) does not parser properly as a double/int/bool. This last test is mostly an optimization. The largest change is actually in the expression parser which has been extended to handle eg. exponential notation and negations. It now uses a state machine to parse its input. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4797 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Ensure that stderr remains unbufferedeschnett2012-03-04
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4794 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Set file buffering for stdout after redirecting I/Oeschnett2012-03-03
| | | | | | | | | Set file buffering for stdout (Cactus option -l) after redirecting I/O (Cactus option -r), so that the buffering applies also for redirected I/O. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4793 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Merge branch 'NewSchedule' into trunkhinder2012-01-31
| | | | | | | | | | | This provides support for specifying READS and WRITES clauses for each function scheduled in schedule.ccl. These list the variables which the scheduled function reads from or writes to. This supports future dependency-based scheduling. See https://docs.einsteintoolkit.org/et-docs/Adding_requirements_to_the_Cactus_scheduler for more information. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4788 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Improve comment explaining cGH->dataeschnett2011-12-12
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4777 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Declare cctkGH as const*eschnett2011-12-01
| | | | | | | | Declare cctkGH as const*, and CCTK_ARGUMENTS as const. This prevents accidental modifications and allows more optimisations. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4772 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Make table printing functions publicly accessibleeschnett2011-11-09
| | | | | | | | | | | | The table data types (util_Table.h) have internal routines that print the table contents to screen. This can be helpful for debugging. This patch makes these functions publicly available. Add a routine Util_TablePrintPretty that converts a table to a nice, human-readable string. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4769 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Improve performance of Fortran index calculationseschnett2011-10-27
| | | | | | | | | | | | | | | | | | | | | | | | | | In Fortran, Cactus currently declares grid functions e.g. as (this is the expansion of DECLARE_CCTK_ARGUMENTS) REAL*8 gxx (X0metric,X1metric,X2metric) where X0metric etc. are integers passed into the routine. Each grid function group has its own, independent size. This has two disadvantages: - The compiler does not know that all grid functions have the same size (namely cctk_lsh), and thus has to perform array index calculations separately for each group - The argument list is longer than neded The enclosed patch declares grid functions via cctk_lsh. Grid arrays are still declared independently. This reduces the code size of e.g. GRHydro/GRHydro_Tmunu.F90 from 6836 to 6241 bytes on my system. I have not attempted to measure a performance difference. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4763 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Add final newlineeschnett2011-09-25
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4731 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Correct definitions of CCTK_LSSH and CCTK_LSSH_IDX in Fortraneschnett2011-08-28
| | | | | | | | Correct definitions of CCTK_LSSH and CCTK_LSSH_IDX in Fortran. Add comments. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4722 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Add (empty) configuration.ccleschnett2011-08-25
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4721 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Check indices in CCTK_GFINDEX3D and friends when CCTK_DEBUG is definedeschnett2011-08-19
| | | | | | | | Check grid point indices in CCTK_GFINDEX3D and friends when CCTK_DEBUG is defined. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4719 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Check HAVE_CCTK_C_INLINE to see if inlining is supportedeschnett2011-08-14
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4716 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Flush stdout and stderr before and after outputting a parametereschnett2011-08-13
| | | | | | | | warning. This helps prevent mixing of stdout and stderr when both are redirected to the same file. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4714 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Accept comments in multi-line strings in parameter fileseschnett2011-07-02
| | | | | | | | | | Modify the parameter file parser to accept comments in multi-line strings. These comments extend from a "#" character to the end of the line. This makes it much easier to comment out variables in output strings. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4710 17b73243-c579-4c4c-a9d2-2d5706c11dac
* This patch makes the CST stage create prototypes for all scheduledeschnett2011-03-30
| | | | | | | | | | | functions into a new file cctk_ScheduleFunctions.h, which is included into cctk.h. This is done only for C (and C++) since Fortran prototypes cannot be declared at file scope. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4696 17b73243-c579-4c4c-a9d2-2d5706c11dac
* include cctk_Termination.h from cctk.hknarf2011-02-07
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4683 17b73243-c579-4c4c-a9d2-2d5706c11dac
* from Ian Hinder:knarf2011-01-06
| | | | | | | | | | | | | | | Correctly load parameter files with DOS line-endings Before this commit, when a parameter file with DOS line-endings was used, certain features of Cactus did not work correctly. For example, setting an output directory of $parfile would create an output directory named "$parfile" instead of expanding the parameter filename. This commit converts any CR-LF sequences to LF immediately after the parameter file is loaded. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4663 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Improve optional requirement of capabilitieseschnett2010-12-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Thorns can specify that they can make use of a particular capability (for example HDF5), but that it is not absolutely required. It is currently not possible to detect a capability in the source code or make system of a thorn because there is no preprocessor macro and no make variable defined to indicate that the capability is available. Additionally, the preprocessor definitions which are explicitly provided by a capability are written to an include file which is malformed and hence these definitions cannot be read. This commit: * Introduces makefile and preprocessor variables HAVE_CAPABILITY_<cap> for each provided capability * Removes the incorrect definition line causing the include file to be malformed * Renames cctki_Capabilities.h to cctk_Capabilities.h and causes cctk_Capabilities.h to be included from cctk.h by all thorns * Excludes cctk_Capabilities.h from dependency checking (dependencies of the files included from this one will be sufficient) [Patch from Ian Hinder] git-svn-id: http://svn.cactuscode.org/flesh/trunk@4659 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Add CCTK_VECTGFINDEX3D and friendseschnett2010-11-24
| | | | | | | | | | Add functions CCTK_VectGF1D, CCTK_VectGF2D etc. and the corresponding macros CCTK_VECTGFINDEX1D etc. that allow indexing into vector grid variables. Vector grid variables require an additional index, namely the vector index; these functions simplify using them. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4654 17b73243-c579-4c4c-a9d2-2d5706c11dac
* support __unused__ where known. This let's e.g. gcc know that especially the ↵knarf2010-11-23
| | | | | | Cactus variables might be unused and should not be reported as such. This closes ET ticket #1 git-svn-id: http://svn.cactuscode.org/flesh/trunk@4651 17b73243-c579-4c4c-a9d2-2d5706c11dac
* Provide Fortran wrapper for CCTK_SyncGroupsI().rideout2010-11-03
| | | | git-svn-id: http://svn.cactuscode.org/flesh/trunk@4646 17b73243-c579-4c4c-a9d2-2d5706c11dac
* detect error in dimension size settings of grid arrays, and produce a ↵knarf2010-10-27
| | | | | | meaningful error message git-svn-id: http://svn.cactuscode.org/flesh/trunk@4644 17b73243-c579-4c4c-a9d2-2d5706c11dac
* fix last commit (ooops). ValidateModifiers() is apparently called for all ↵knarf2010-09-29
| | | | | | modifiers, and some of them apparently allow non-full variable names. My mistake, not corrected. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4639 17b73243-c579-4c4c-a9d2-2d5706c11dac
* check return value of CCTK_VarIndex for check of if/while variable in ↵knarf2010-09-28
| | | | | | schedule tree, and give corresponding warning message git-svn-id: http://svn.cactuscode.org/flesh/trunk@4637 17b73243-c579-4c4c-a9d2-2d5706c11dac
* reorganizes the printout of the scheduling treeknarf2010-06-03
| | | | | | Cactus does at startup a bit, fixing also some indentation problems. git-svn-id: http://svn.cactuscode.org/flesh/trunk@4620 17b73243-c579-4c4c-a9d2-2d5706c11dac