aboutsummaryrefslogtreecommitdiff
path: root/Carpet/CarpetLib/src/data.cc
Commit message (Collapse)AuthorAge
* CarpetLib: Correct parallelisation of prolongation operatorsErik Schnetter2008-01-14
| | | | darcs-hash:20080114075419-dae7b-b59ccf120d369c4ea8715f856a68e63a0c396f63.gz
* CarpetLib: Improve error message when a non-existing stencil is selectedErik Schnetter2007-07-03
| | | | darcs-hash:20070703100059-dae7b-144bb38c56bea2402ff2708d863148b0ca8cadcb.gz
* CarpetLib: Add 3rd and 4th order time interpolationErik Schnetter2007-06-13
| | | | darcs-hash:20070613215011-dae7b-2a0f7fecdc2a95a4f79f2384e73c2acdb35e630d.gz
* CarpetLib: Add member gdata::allocsizeErik Schnetter2007-05-26
| | | | | | | Add a member gdata::allocsize which calculates the amount of memory that a data object requires. darcs-hash:20070526170719-dae7b-622c8d34ced2a5066fbaaf56e9d9b39efeea9022.gz
* CarpetLib: prevent GNU C++ compiler warningstradke2007-05-02
| | | | | | | g++ complains about function parameters which aren't used. Such warnings can be prevented simply by not naming the parameters. darcs-hash:20070502142321-3fd61-2df310c771be0a6177c7f56d6603e6f571209dea.gz
* CarpetLib: Various changes to class dataErik Schnetter2007-04-19
| | | | | | | | | Remove outdated communication mechanisms from data<T> and gdata classes. Redesign communication mechanism in data<T> and gdata classes. darcs-hash:20070419014301-dae7b-ece41543dcb1e23ab81f103b04a75880ac68807f.gz
* CarpetLib: Change static_assert to have two argumentsErik Schnetter2007-02-28
| | | | | | | Change static_assert to have a second arguments, which is supposed to be a string containing a description of the test. darcs-hash:20070228022658-dae7b-3fb68ea0e0f557f2268cb95546ba0d70c58cda7a.gz
* CarpetLib: Add ENO timer interpolatorErik Schnetter2007-02-19
| | | | darcs-hash:20070219202316-dae7b-441bdad39e75963a86bedbcaea54bbf7ced0f8a7.gz
* CarpetLib: Instantiate data<T>::operator<< correctlyErik Schnetter2007-02-14
| | | | | | Instantiate data<T>::operator<< for all T, not only for CCTK_REAL. darcs-hash:20070214172622-dae7b-c920d63bc92cc6d6a102f3b20a38317c7b642f92.gz
* CarpetLib: Some minor whitespace changesErik Schnetter2007-02-04
| | | | darcs-hash:20070204191635-dae7b-3ff04866f9ba7ebe272bfd61ec8900d013420432.gz
* CarpetLib: Add _storage field to gdata classErik Schnetter2007-02-04
| | | | | | | Add a field "void * _storage" to the gdata class to speed up its storage() member function. darcs-hash:20070204175843-dae7b-644ade82e1432b82384baf64f55aeb2482032fdf.gz
* CarpetLib: Improve timersErik Schnetter2007-02-03
| | | | | | | | | | | | Implement a second timer based on Intel's rdtsc instruction, which is much faster and much more accurate than MPI_Wtime. Place the timer classes into the CarpetLib namespace. Create a TimerSet class. Make the Timer class automatically register all timers with a singleton object, removing all global variables. darcs-hash:20070203211128-dae7b-42765e79446eda6a2337ba22cd390869055c555a.gz
* CarpetLib: Use AT to index std::vectorErik Schnetter2007-02-03
| | | | | | | | Define a macro AT() to index into std::vector. Depending on the macro NDEBUG, AT() is defined either as at(), providing index checking, or as operator[], providing no checking. darcs-hash:20070203205854-dae7b-a1999c88c95ba12b1ee66505f712aefdd67d7e6f.gz
* CarpetLib: Reorganise prolongation and restriction operatorsErik Schnetter2007-01-12
| | | | | | | | | | | | | | | | | | | | | | | | Reorganise prolongation and restriction operators. This is a major implementation change. Most operators are now written as C++ templates instead of as Fortran 77 code. This simplifies the code, since C++ routines can be called more easily, and they also have access to CarpetLib's high-level data structures. Previously, the operators combined temporal and spatial interpolation. Now, time interpolation and space interpolation are handled separately. This may be less efficient, but simplifies the code significantly, since there are now N+M instead of N*M routines, for N time interpolation and M space interpolation methods. Remove the minmod prolongation operator, which was previously disabled. Add support for cell centering, using a method described by Simon Hern, and suggested for Carpet by Ian Hawke. darcs-hash:20070112205812-dae7b-5329795aa698e7bbc3671b1504134885dd830238.gz
* CarpetLib: Add timers for each prolongation operatorErik Schnetter2006-09-25
| | | | | | Add more timers, one timer for each kind of prolongation operator. darcs-hash:20060925214744-dae7b-00f47d74c2cdccdd8d5ee05a88973543116678e9.gz
* CarpetLib: Use C++ comments for OMIT_F90 conditionalsErik Schnetter2006-09-25
| | | | darcs-hash:20060925214157-dae7b-e963052677829366ed96876a2bf7043d3d71ebf9.gz
* CarpetLib: Clean up data.ccErik Schnetter2006-09-25
| | | | darcs-hash:20060925214029-dae7b-9d9d5a3fec2f33f85f739bd850f156ab4c4151b7.gz
* CarpetLib: Collect more timing informationErik Schnetter2006-09-04
| | | | | | | Extend the CarpetLib timers so that they also count the number of bytes transmitted in addition to the wall time. darcs-hash:20060904020649-dae7b-7a18c2fbe2de09d662b4154a3ae2e553ad57c12b.gz
* [CarpetLib] add option to omit Fortran 90 files by adding -DOMIT_F90 to ↵Jonathan Thornburg2006-08-29
| | | | | | | | | | | | | | | | | | | | | | | | compiler flags Carpet is _almost_ entirely written in C, C++, and Fortran 77, but there are a few Fortran 90 files in CarpetLib defining the ENO and WENO prolongation operators. This patch allows Carpet to be compiled without a Fortran 90 compiler if these (ENO/WENO) operators are not needed, by defining the C preprocessor symbol OMIT_F90. For example, you could do this by putting CFLAGS=-DOMIT_F90 CXXFLAGS=-DOMIT_F90 F77FLAGS=-DOMIT_F90 F90FLAGS=-DOMIT_F90 in a ~/.cactus/config file. I emphasize that in the default case, where OMIT_F90 is not defined, this patch is a no-op: the ENO and WENO prolongation operators are still defined, a Fortran 90 compiler is still needed to compile CarpetLib, you still pass go, you still collect $200. :) This patch only changes the behavior of Carpet in the non-default case where OMIT_F90 is defined. darcs-hash:20060829170502-b0a3f-0d423f190bd7388faa9e1a6e0a980694b044516b.gz
* CarpetLib: Add WENO prolongationI.Hawke2006-03-10
| | | | | | | | | WENO prolongation should be more accurate than ENO prolongation whilst retaining the monotonicity properties of the ENO operators. The WENO operators will only work with prolongation_order_space = 5 because of the stencil width (requires 3 ghost zones). darcs-hash:20060310132742-34bfa-32c65e7f67cb91ab36dd125a5327f2e16286e807.gz
* CarpetLib: Change member dist::comm to function dist::comm()Erik Schnetter2005-11-19
| | | | | | No functionality change, but this requires all callers to be changed. darcs-hash:20051119202604-dae7b-3492487bfdc4f3d228ec57a2b2ea02116f5cb64c.gz
* CarpetLib: Replace some int by size_tErik Schnetter2005-11-19
| | | | | | | Replace some int local variables by size_t local variables. This eliminates some compiler warnings about signed/unsigned comparisons. darcs-hash:20051119202008-dae7b-8cf4f1bf5673b3b68164b2488f3e8c738fa55726.gz
* CarpetLib: typo in push of << operatorSteve White2005-08-09
| | | | | | | | | This fixes a typo in the previous push. I also took the opportunity to bring the patch into better compliance with the coding style. darcs-hash:20050809143402-90671-5feae89e34e29f1648b31a66d97d578a5b283f1b.gz
* CarpetLib: give data an << operatorSteve White2005-08-09
| | | | | | | | | | Added a ostream & << operator for the data class. Made an explicit instantiation for CCTK_REAL. Usually the amount of data renders such an operator useless, but in test programs it is handy to be able to just print the data values. darcs-hash:20050809093318-90671-dd30c55dc8757efa96a9bfbe90a48ff445e26f07.gz
* CarpetLib: Disable check for time extrapolation for op_copy grid functionsErik Schnetter2005-07-26
| | | | | | | | | | Disable the check for time extrapolation for grid functions that are not interpolated but copied (transport_operator=op_copy). This check needs to know the sign of delta_time, and that sign is not known here. (For example, 3-timelevel-initialisation evolves both forwards and backwards in time.) darcs-hash:20050726111122-891bb-0c2130f2dfdd86c25575cbb88cb7c8ad80089eac.gz
* CarpetLib: Add 7th order accurate spatial interpolation operatorsErik Schnetter2005-07-15
| | | | | | | | Add 7th order accurate spatial interpolation operators. These are probably slow; refactoring the code into subroutines may help. Only the special case refinement-factor=2 is implemented. darcs-hash:20050715220610-891bb-bcab32f4c57f155142abd5f0f01341ea108d983f.gz
* CarpetLib: Forbid even interpolation ordersErik Schnetter2005-07-15
| | | | | | | | Forbid the interpolation orders 0, 2, and 4, which were not implemented. CarpetLib used to fall back to the higher orders 1, 3, and 5 instead. Now, CarpetLib will abort in this case. darcs-hash:20050715220423-891bb-2d65006f6a78cb55aec3949de30b4e68134efa0b.gz
* CarpetLib: Add new transport operator type op_copyErik Schnetter2005-06-07
| | | | | | | | | | | | | | | Add a new transport operator type op_copy. This "prolongation" operator does not interpolate in time, but rather copies the from the newest time level instead. Such grid functions need only one time level. This is intended for prolongating or restricing grid functions like the ADM constraints; if done properly; they will have the same values on the coarse and fine grids. (However, this does not work for the ADM constraints, because such grid functions still need to be set in EVOL, not in ANALYSIS.) darcs-hash:20050607160833-891bb-cfd1c7630f8996606328d7c7e9fe326561106aba.gz
* CarpetLib: Correct assert statementsErik Schnetter2005-04-16
| | | | | | | Use assert (dist::rank() == proc()) instead of assert (_owns_storage). The latter is wrong; it misinterprets the meaning of the field _owns_storage. darcs-hash:20050416184109-891bb-a07ba29e020dad420edebaa0c824b7c207d1ac2b.gz
* CarpetLib: Correct errors in handling mem<T> objectsErik Schnetter2005-04-11
| | | | | | | I think there were some errors in handling the mem<T> objects, but I'm not completely sure. darcs-hash:20050411183030-891bb-f1b5510bb4866c8d4bab48a7b320cb6de71b1121.gz
* CarpetLib: Remove unused function transfer_fromErik Schnetter2005-04-11
| | | | darcs-hash:20050411182954-891bb-6f141054635439136d978f98f528af1204919199.gz
* CarpetLib: Introduce new class mem<T> for memory managementErik Schnetter2005-03-05
| | | | | | | | | | | | | | | | | | | Introduce a new class mem<T> for memory management. Memory management has become sufficiently complicated to move into its own class. The class mem<T> features: 1. Allocating nelem items of type T 2. Managing contiguous regions of memory for several data<T> objects for vector groups 3. Allowing a pointer to a memory region to be passed in, which is used instead of allocating memory through new 4. Reference counting, so that the mem<T> object only goes away once the last using data<T> object does not need it any more. This makes it unnecessary to delete the first data<T> objects for a grid function group last. darcs-hash:20050305174647-891bb-e1f53adca34e5a668af96c662845cca0f259f8e6.gz
* CarpetLib: make fill_bbox_arrays() a static non-template function in data.cctradke2005-03-16
| | | | darcs-hash:20050316130144-3fd61-1f95c63b76c29de63f212546b5e4fa226afe7299.gz
* CarpetLib: Use MPI_STATUS_IGNOREErik Schnetter2005-03-03
| | | | darcs-hash:20050303170559-891bb-836694ccb8375a1f09cfaeda646e4430e3e5bd07.gz
* CarpetLib: Small cleanups to vector group storage handlingErik Schnetter2005-03-03
| | | | darcs-hash:20050303101420-891bb-6c23d70652146f074a392970443190966c909d10.gz
* CarpetLib: Restructure lightweight communication buffersErik Schnetter2005-01-03
| | | | | | | Restructure the lightweight communication buffers. Use lightweight communication buffers for interpolation as well. darcs-hash:20050103200712-891bb-7e42816d3b8d667916084e3f32527c8f35327d7f.gz
* CarpetLib: Rename data::interpolate_in_time to ↵Erik Schnetter2005-01-03
| | | | | | data::try_without_time_interpolation darcs-hash:20050103135332-891bb-e92a19212dfbadde889fda0760232f5b7749aac3.gz
* CarpetLib: Clean up some warning messagesErik Schnetter2005-01-03
| | | | darcs-hash:20050103135305-891bb-8813921b6e0e2988e9afd0be90c3d7ff092cee1e.gz
* CarpetLib: Add lightweight communication buffers (untested)Erik Schnetter2005-01-02
| | | | | | | | | | | Lightweight communication buffers use essentially only a vector<T> instead of a data<T> to transfer data between processors. This should reduce the computational overhead. Set the parameter "use_lightweight_buffers" to use this feature. This feature is completely untested. darcs-hash:20050102173524-891bb-6a3999cbd63e367c8520c175c8078374d294eaa8.gz
* CarpetLib: Remove many this-> prefixes in class dataErik Schnetter2005-01-01
| | | | darcs-hash:20050101185718-891bb-143c84dacf00f458eed1b9c985900bbaf5e3b98b.gz
* global: Turn CarpetLib templates into classesErik Schnetter2005-01-01
| | | | | | | | | | | | | | | | | | | Turn most of the templates in CarpetLib, which used to have the form template<int D> class XXX into classes, i.e., into something like class XXX by setting D to the new global integer constant dim, which in turn is set to 3. The templates gf and data, which used to be of the form template<typename T, int D> class XXX are now of the form template<typename T> class XXX The templates vect, bbox, and bboxset remain templates. This change simplifies the code somewhat. darcs-hash:20050101182234-891bb-c3063528841f0d078b12cc506309ea27d8ce730d.gz
* CarpetLib: Move class timestat into its own fileErik Schnetter2005-01-01
| | | | darcs-hash:20050101171429-891bb-130630de8631b8f9bbe494e135662ffb089ecca0.gz
* CarpetLib: Change checking of processor number in data classErik Schnetter2004-12-30
| | | | | | | | | | | | | Remove functions gdata::lives_on_this_processor() and gdata::this_processor_is(proc). Introduce dist::rank() and dist::size() instead. Re-introduce assert statement in data::proc(). Move declaration and definition of assignment operator near the constructor and destructor. darcs-hash:20041230191026-891bb-90eeb1be4c04753c165e13e7c1e65f06847180ca.gz
* global: Remove $Header$ keywords from Carpet arrangementErik Schnetter2005-01-01
| | | | darcs-hash:20050101162121-891bb-ac9d070faecc19f91b4b57389d3507bfc6c6e5ee.gz
* CarpetLib: Collect more timing statisticsErik Schnetter2004-12-30
| | | | | | | | | | | | | Collect more timing statistics in the data class. Print these statistics to stdout when the Cactus parameter print_timestats is set. Create a timer class "timestat". This is a timer that can be started, stopped, and it prints the total time as well as some statistics. For memory allocation statistics, count the number of objects as well as the number of bytes. darcs-hash:20041230212136-891bb-c14edfa7d539ae9b135eee76afadaad51fd0b098.gz
* CarpetLib: Make data class conform closer to C++ standardErik Schnetter2004-12-28
| | | | | | | | Add missing this-> prefixes Declare template specialisation before definigg it Rename some local variables to avoid name clashes darcs-hash:20041228183523-891bb-acc5a1a8c1f247512a38dba56ff5419d96280fa3.gz
* CarpetLib: Clean up fill_box_array functionErik Schnetter2004-12-25
| | | | | | | | | | Rename it to fill_bbox_array. Declare it in a better place in the header file. Make it not virtual. Change pointer arguments to arrays. Change hard-coded number 3 to D. darcs-hash:20041225202612-891bb-e6249d004fdf0b3d8d24cbf8e5a4ae713786bdfb.gz
* CarpetLib: Use the C++ abs() instead of the C fabs() functionErik Schnetter2004-12-25
| | | | | | abs() has arbitrary precision, fabs() is tied to double precision. darcs-hash:20041225183953-891bb-2bb8eb14f2986c7aea9a7c1c8e3e018aab465ab5.gz
* CarpetLib: Use new style instead of old style C++ headersErik Schnetter2004-12-25
| | | | | | That is, say e.g. <cmath> instead of <math.h>. darcs-hash:20041225182902-891bb-2a4502d6a76ed830ab978030fc4e4765b183509f.gz
* CarpetLib: Remove broken commentErik Schnetter2004-12-25
| | | | | | | This comment was split in half when this function was created, and does not make sense without the other half, which was removed. darcs-hash:20041225182719-891bb-dbf5bb49587ebf0d43df401a49a70bf1940378b9.gz