Parent Directory
|
Revision Log
Links to HEAD: | (view) (annotate) |
Sticky Revision: |
Branch commit. Added a note about mismatched allocs and decallocs. Added Data::actsExpanded and friends. Modified DataC::isExpanded to call it instead of Data::isExpanded.
Branch commit. Modifed getSampleData to take a buffer. Added calls to allocate and free buffers. Passes unit tests on badger but have not tried on savanna yet.
Branching to experiment with changes to the DataC interface. The goal is to separate read and write access to pointers.
Bringing all changes across from schroedinger. (Note this does not mean development is done, just that it will happen on the trunk for now). If anyone notices any problems please contact me.
More warning removal.
Fixed /* in a comment. The rank of a datapoint is now an unsigned int.
Modified Data::toString() so it doesn't throw on DataEmpty. Added setEscriptParamInt and getEscriptParamInt as free functions. At the moment all they do is allow you to set the param TOO_MANY_LINES. This is used to determine when printing a Data object will show you the points and when it will print a summary. I've set the default value back to 80 lines. If you need to see more lines use (in python): setEscriptParamInt("TOO_MANY_LINES",80000)
Closing the moreshared branch
Copyright updated in all files
All about making DataEmpty instances throw. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Exposed getDim from AbstractDomain to python to fix bug. Added isEmpty member to DataAbstract to allow it to throw is queries are made about a DataEmpty instance. Added exceptions to DataAbstract, DataEmpty and Data to prevent calls being made against DataEmpty objects. The following still work as expected on DataEmpty instances copy, getDomain, getFunctionSpace, isEmpty, isExpanded, isProtected, isTagged, setprotection. You can also call interpolate, however it should throw if you try to change FunctionSpaces.
Added canTag methods to FunctionSpace and AbstractDomain (and its offspring). This checks to see if the domain supports tags for the given type of function space. Constructors for DataTagged now throw exceptions if you attempt to make a DataTagged with a FunctionSpace which does not support tags. To allow the default constructor to work, NullDomain has a single functioncode which "supports" tagging. Fixed a bug in DataTagged::toString and DataTypes::pointToString. Added FunctionSpace::getListOfTagsSTL. algorithm(DataTagged, BinaryFunction) in DataAlgorithm now only processes tags known to be in use. This fixes mantis issue #0000186. Added comment to Data.h intro warning about holding references if the underlying DataAbstract changes. _python_ unit tests have been updated to test TaggedData with invalid FunctionSpaces and to give the correct answers to Lsup etc.
Added Data::copySelf() [Note: this is exposed as copy() in python]. This method returns a pointer to a deep copy of the target. There are c++ tests but no python tests for this yet. All DataAbstracts now have a deepCopy() which simplifies the implementation of the compy methods.
Merged noarrayview branch onto trunk.
reordering when reading Netcfd files added.
And get the *(&(*&(* name right
Restore the trunk that existed before the windows changes were committed to the (now moved to branches) old trunk.
Make a temp copy of the trunk before checking in the windows changes
setTaggedValue works now for expanded data.
DataArray has been removed as it is no longer used. Unit tests have been updated accordingly with substitute constructs. Any files pertaining to DataArray have been removed.
The MPI branch is hereby closed. All future work should be in trunk. Previously in revision 1295 I merged the latest changes to trunk into trunk-mpi-branch. In this revision I copied all files from trunk-mpi-branch over the corresponding trunk files. I did not use 'svn merge', it was a copy.
problem with reset of faulty PDE rhs fixed.
The set/getRefVal functions of Data objects have been removed (mainly to avoid later problems with MPI). Moreover, a faster access to the reference id of samples has been introduced. I don't think that anybody will profit form this at this stage but it will allow a faster dump of data objects.
escript data objects can now be saved to netCDF files, see http://www.unidata.ucar.edu/software/netcdf/. Currently only constant data are implemented with expanded and tagged data to follow. There are two new functions to dump a data object s=Data(...) s.dump(<filename>) and to recover it s=load(<filename>, domain) Notice that the function space of s is recovered but domain is still need. dump and load will replace archive and extract. The installation needs now the netCDF installed.
setValueOfDataPoint accepts double value as argument now
I have done some clarification on functions that allow to access individual data point values in a Data object. The term "data point number" is always local on a MPI process and referes to the value (data_point_in_sample, sample) as a single identifyer (data_point_in_sample + sample * number_data_points_per_sample). a "global data point number" referes to a tuple of a processour id and local data point number. The function convertToNumArrayFromSampleNo has been removed now and convertToNumArrayFromDPNo renamed to getValueOfDataPoint. There are two new functions: getNumberOfDataPoints setValueOfDataPoint This allows you to do things like: in=Data(..) out=Data(..) for i in xrange(in.getNumberOfDataPoints()) in_loc=in.getValueOfDataPoint(i) out_loc=< some operations on in_loc> out.setValueOfDataPoint(i,out_loc) Also mindp is renamed to minGlobalDataPoint and there is a new function getValueOfGlobalDataPoint. While in MPI the functions getNumberOfDataPoints and getValueOfDataPoint are working locally on each process (so the code above is executed in parallel). the latter allows getting a single value across all processors.
Some modifications to the binary operations +,-,*/, pow. The code is a bit simpler now and more efficient has there is no reseising required now. the resizing method has been removed as it is very, very inefficient. Even serial code should be faster now. It is now forbidden to do an inplace update of scalar data object with an object of rank >0 as this is very slow (and does not make much sense).
the new function swap_axes + tests added. (It replaces swap).
new function _swap. Python wrapper + testing is still missing.
Modified the following python methods in escript/py_src/util.py to call faster C++ methods: escript_trace escript_transpose escript_symmetric escript_nonsymmetric
+ Merge of intelc_win32 branch (revision 741:755) with trunk. Tested on iVEC altix (run_tests and py_tests all pass)
More copyright information.
some steps towards eigenvalue and eigenvector calculation
rationalise #includes and forward declarations
rationalise #includes
restructure escript source tree move src/Data/* -> src remove inc modify #includes and cpppath settings accordingly
move all directories from trunk/esys2 into trunk and remove esys2
Merge of development branch dev-02 back to main trunk on 2005-09-01
Merge of development branch back to main trunk on 2005-07-22
Merge of development branch back to main trunk on 2005-07-08
Merge of development branch back to main trunk on 2005-05-06
*** empty log message ***
*** empty log message ***
*** empty log message ***
*** empty log message ***
Initial revision
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.
ViewVC Help | |
Powered by ViewVC 1.1.26 |