[root]/Core/Algorithms/Fields
Author | Changes | Lines of Code | Lines per Change |
---|---|---|---|
Totals | 150 (100.0%) | 12440 (100.0%) | 82.9 |
jeroen | 139 (92.7%) | 12421 (99.8%) | 89.3 |
worthen | 5 (3.3%) | 19 (0.2%) | 3.8 |
callahan | 6 (4.0%) | 0 (0.0%) | 0.0 |
Added speed ups in BuildFEMatrix, for regular grids (need to compute Jacobians only once as each element is the same). Added LogFile support for regression tests and fixed the regression testing program
676 lines of code changed in 8 files:
Series of bug fixes and first version of regression test for the core algorithms (currently limited), but will expand this soon to include most algorithms. Fixed HexVolMesh to do degenerate elements properly this time. First series of test indicated a series of problems in the algorithms fixed these here. To run the regression tests one still needs to have example files and gold standards. We will be setting up that directory shortly. Added the ability in the algorithms to compile dynamic files and delete them afterwards, so it is not a burden on the filing system. This now happens automatically when the algorithm detects that the ProgressReporter is of the class RegressionReporter. This automatically triggers the dynamic compilation system to build those libs on-the-fly but remove them afterwards
91 lines of code changed in 49 files:
Adding preparations for Regression testing: added comaprison functions for dataflow objects. Modified Dynamic compilation so it has an option to compile load and destroy the library, to prevent the on-the-fly-lib directory to grow out of control when testing whether dynamically compilled algorithms work. Fixed HexVolMesh to deal with degenerate meshes and started to better optimize this mesh to use less memory (still need to finish this as table sizes can be shrunk even more). Added a RegressionReporter to store all the information during regression testing. Fixed the Finite Element Code to deal with degenerate elements (Comparison with Tetsn and Prisms show that Hexahedral elements with degenerate nodes can act as tetrahedrals or prisms and still generate the proper stiffness matrix). Fixed the visualization so degenerate elements show upm properly (fixed the order of the faces of these degenerate elements so the three unique element nodes are always returned first when quering a face). Still need to upgrade the quadsurfmesh to also support degenerate elements. Field boundary now also supports degenerate elements as the number of faces returned per element can now vary with the actual number of faces. Next to do: generate degenerate meshes with tets, piramids, prisms and hexahedral and test which algorithms fail and fix those.
9 lines of code changed in 5 files:
Fix various compiler warnings.
0 lines of code changed in 2 files:
Clean up compiler warnings.
0 lines of code changed in 4 files:
Updates to algorithms
352 lines of code changed in 10 files:
Merge my algorithms from the ModelCreation package to Core/Algorithms so they are available for everyone. I added four directories to Core/Algorithms: Math for mathematical operations (mirrors Math in module tree), this currently has the FE code, Fields: my version of the field algorithms, these contain new ones and old ones with bug fixes to get my CardioWave stuff to work, Converter: Converter algorithms a series of converters to deal with conversion between Matrices, Nrrds and Fields, DataIO: gui less version for writing and reading in SCIRun files using PersistentIO or the Plug-ins. All the algorithms are grouped into libraries with one main header file: Algorithms/Math/MathAlgo.h Algorithms/Fields/FieldsAlgo.h Algorithms/DataIO/DataIOAlgo.h Algorithms/Converter/ConverterAlgo.h. Each library needs to be initialised with the ProgressReporter after which all the dynamic compilation is hidden from the user. I put all the algorithms in a separate namespace call SCIRunAlgo to avoid possible conflicts between class names. Similarly all the dynamic files will start with the word ALGO, to avoid duplication of filenames created by the current set of modules. --Jeroen
10748 lines of code changed in 61 files:
fixing bug: accidently their was a Module.h included which should not be there
0 lines of code changed in 1 file:
Example of building a stand alone dynamically compiling algorithm. I soon want to transfer a whole range of algorithms from my packages into the core as pure algorithms that can be reused by other modules.
545 lines of code changed in 5 files:
SHARE -> SCISHARE
5 lines of code changed in 3 files:
Windows Port. Big changes: new share.h includes and SHARE macros. Change use of hash_map to be compatible with windows. Use of gl extensions
14 lines of code changed in 2 files: