------------------------------------------------------------------------ r591 | olsonse | 2008-08-28 18:47:08 -0400 (Thu, 28 Aug 2008) | 5 lines ChangeLog: added log from subversion. configure.ac: versioning examples/mpi/Makefile.am: added instructions to make for plotting results. ------------------------------------------------------------------------ r589 | olsonse | 2008-08-28 13:00:32 -0400 (Thu, 28 Aug 2008) | 1 line src/ParticleNode.h: Removed 2 lines that were accidentally placed while I was working on documentation. ------------------------------------------------------------------------ r585 | olsonse | 2008-07-21 13:28:47 -0400 (Mon, 21 Jul 2008) | 1 line versioning ------------------------------------------------------------------------ r584 | olsonse | 2008-07-21 13:27:58 -0400 (Mon, 21 Jul 2008) | 1 line added info.h to installed files in src/Makefile.am ------------------------------------------------------------------------ r583 | olsonse | 2008-07-21 13:16:04 -0400 (Mon, 21 Jul 2008) | 1 line Added lots of documentation fixes, changes, new stuff... ------------------------------------------------------------------------ r580 | olsonse | 2008-07-18 14:02:54 -0400 (Fri, 18 Jul 2008) | 1 line tweaking distribution ------------------------------------------------------------------------ r579 | olsonse | 2008-07-18 14:02:20 -0400 (Fri, 18 Jul 2008) | 1 line tweaking distribution ------------------------------------------------------------------------ r498 | olsonse | 2008-05-28 14:45:47 -0400 (Wed, 28 May 2008) | 1 line src/ParticleNode.h: Added ability to use flat processor distribution. ------------------------------------------------------------------------ r478 | olsonse | 2008-05-06 17:36:49 -0400 (Tue, 06 May 2008) | 1 line TODO: added item for removing OctreeInterpolator from DSMC alg. ------------------------------------------------------------------------ r474 | olsonse | 2008-05-06 09:20:03 -0400 (Tue, 06 May 2008) | 92 lines Lots and lots of fixes for reflections/interactions with intersecting boundaries. src/Wall.h: Consolidated code. Some code moved to FlatSurface. interactLocation for example. Deleted unusable reflect(list) function. This is because we really need to know each particles "old" location to get the reflections correct (to know which side of the surface the particle was on). Also, in line with the BoundaryObject::interact change, reflect changes both the "old" and "current" particles. The "old" particle is now assigned to be within 10*M_EPS of the surface with the new velocity. src/PThreadBuildOctree.h: Updated to use LeafModel semantics while building octree. src/BoundaryObject.h: UNCHANGED enum value now explicitly set to 0. BoundaryObject::volb_scale_factor added. This provides an additional scaling of volb_orig to create volb_scaled. This is needed, for example, when an IntersectBoundary has two objects that have an acute angle between them. In this case, volb_scale_factor would be scaled by 1/sin(theta). interact(...) functions should now modify particle_old if something like a reflection has been done. Upon exit, particle_old would represent the time in the recent past, when the particle was at the surface of the object. IntersectBoundary::interact cleaned up--removed debug code. src/Octree.C: Calling instances of PThreadBuildOctree updated. Found a source of floating point exceptions. FComp was being compared to a number where the denominator could be zero. Geometry measurement classes now only have OctreeType as template parameter (Particle is derived from them). GeometricDivision::measure fixed so that the root node is divded by the geometric center. This fix was needed to be explicit because the root node calls CMAndVolShrink::measure to get an initial handle on the location and size of the particle distribution. src/DSMC.h: DXHook classes now return a single (double) value. We really are only interested in a single maximal transit, instead of the components for each of the dimensions. This is because there might be a reflection of some object that couples two or more directions. AccelDXHook now returns the length of the acceleration vector instead of the lengths of the different components. src/FlatSurface.h: intersectTime(...) now tests for particles within scaled M_EPS of surface (to find particles ON the surface). Added functions to consolidate intersectTime and intersectLocation code into FlatSurface class (and not in the Wall class). intersectLocation now keeps the intersection location on the side of the original particle location--the distance to the surface is within (scaled) 10*M_EPS. This helps ensure that later tests for intersectTime have no chance of trying the wrong precision. src/ParticleSrc.C: removed obsolete, ifdefed code. src/ParticleNode.h: updated MPIBoundary::interact interface. src/DSMC.C: simplified and fixed calculation of max_dx_ for scaling boundary objects for overlap test with particle octree nodes. src/Octree.h: simplified some of the CM and Volume measurement functions templates. Geometry measurement classes now only have OctreeType as template parameter (Particle is derived from them). Added some Octree typedefs so that Particle type could be derived by the octree type for classes that have octree type as a template parameter. src/OctreeContainer.h: interactParticlesWithBoundaryObjects now modifies (or allows it) the particle_old. ------------------------------------------------------------------------ r409 | olsonse | 2008-03-27 00:35:56 -0400 (Thu, 27 Mar 2008) | 1 line src/BoundaryObject.h: tweaking corner error messages--debugging. ------------------------------------------------------------------------ r406 | olsonse | 2008-03-26 22:41:41 -0400 (Wed, 26 Mar 2008) | 1 line working on corner code in BoundaryObject.h ------------------------------------------------------------------------ r405 | olsonse | 2008-03-26 21:40:15 -0400 (Wed, 26 Mar 2008) | 1 line Created corner code and a few fixes around this. I think this part of the code is still a work in progress. ------------------------------------------------------------------------ r333 | olsonse | 2008-02-13 13:28:29 -0500 (Wed, 13 Feb 2008) | 1 line src/DSMC.h: DSMCLeafModel cleaned up and documentation improved. ------------------------------------------------------------------------ r323 | olsonse | 2008-01-13 01:01:32 -0500 (Sun, 13 Jan 2008) | 1 line src/DSMC.[hC]: added some more time adaptive stuff--more hacks. ------------------------------------------------------------------------ r320 | olsonse | 2008-01-12 00:11:02 -0500 (Sat, 12 Jan 2008) | 1 line added rcsid tracking to src/DSMC.[hC] ------------------------------------------------------------------------ r315 | olsonse | 2008-01-10 14:52:50 -0500 (Thu, 10 Jan 2008) | 1 line src/DSMC.h: changed DSMC leaf node code to try to get L/lambda < .5 ------------------------------------------------------------------------ r312 | olsonse | 2008-01-10 00:15:28 -0500 (Thu, 10 Jan 2008) | 1 line configure.ac: adding --with-mpicxx to specify mpicxx command. some small other fixes. ------------------------------------------------------------------------ r311 | olsonse | 2008-01-10 00:14:26 -0500 (Thu, 10 Jan 2008) | 1 line src/DSMC.C: added more notes/thoughts about removing the data interpolation. moved cycle_collision_events = 0; to outside of the adaptive timestep loop. ------------------------------------------------------------------------ r309 | olsonse | 2008-01-08 02:25:13 -0500 (Tue, 08 Jan 2008) | 1 line examples/octree/timing/testtiming.C: upgraded a little src/DSMC.C: added a few notes ------------------------------------------------------------------------ r308 | olsonse | 2008-01-04 19:01:52 -0500 (Fri, 04 Jan 2008) | 1 line src/Octree.[hC], src/DSMC.h: changed some printing routines slightly ------------------------------------------------------------------------ r303 | olsonse | 2007-12-21 11:28:17 -0500 (Fri, 21 Dec 2007) | 8 lines src/{Wall.h,OctreeContainer.h,DSMC.C}: improved documentation slightly. src/Octree.C: Nodes are now forced to comply with the minimum particles per node rule. This minimum also serves as the rough maximum used for testing splitting conditions. Got rid of some crufty error messages. src/BoundaryObject.h: improved some documentation. Changed vacuum object so that we can limit/grow its effective area. ------------------------------------------------------------------------ r281 | olsonse | 2007-11-26 21:03:42 -0500 (Mon, 26 Nov 2007) | 1 line src/Octree.C: measureCMNotVolShrink now shrinks for boxes that have large amounts of empty space. This is somewhat experimental code. ------------------------------------------------------------------------ r278 | olsonse | 2007-11-24 20:27:05 -0500 (Sat, 24 Nov 2007) | 1 line src/Octree.*: improving tree plotting to make more useful ------------------------------------------------------------------------ r276 | olsonse | 2007-11-24 16:30:01 -0500 (Sat, 24 Nov 2007) | 1 line added a rebuildOctree command to make it easier to rebuild with correct leaf model. ------------------------------------------------------------------------ r273 | olsonse | 2007-11-21 22:39:31 -0500 (Wed, 21 Nov 2007) | 14 lines Various spelling fixes. This update contains primarily two changes: 1. code to subdivide a timestep (within a given ParticleNode) so that the actual timestep between "moves" and collisions is roughly 0.1 of collision time. 2. The leaf nodes of trees now allow for a more complicated process for determining the number of particles per leaf node. DSMC uses a leaf-node model where the number of particles per node decreases as the density increases. This allows for a uniform node volume in units of mean free path. DSMCData.h: numberDensity was being incorrectly overestimated for a node of one particle. ------------------------------------------------------------------------ r269 | olsonse | 2007-11-01 11:04:34 -0400 (Thu, 01 Nov 2007) | 1 line An attempt to allow different types of collisions. Not proven correct, but I am using this to allow state-changing (inelastic) collisions in all-optical traps. ------------------------------------------------------------------------ r219 | olsonse | 2007-09-26 09:40:21 -0400 (Wed, 26 Sep 2007) | 1 line configure.ac: changed olson-tools header test from 3j.h to olson-tools-config.h ------------------------------------------------------------------------ r215 | olsonse | 2007-09-21 00:54:07 -0400 (Fri, 21 Sep 2007) | 1 line src/ParticleNode.h: adding absolute time to some debug messages ------------------------------------------------------------------------ r210 | olsonse | 2007-09-19 21:24:48 -0400 (Wed, 19 Sep 2007) | 1 line src/ParticleNode.h: fixed sortParticlesIntoSQ so that some particles to not straggle behind any more. ------------------------------------------------------------------------ r205 | olsonse | 2007-09-15 04:51:46 -0400 (Sat, 15 Sep 2007) | 1 line ParticleNode.h: more work to fix this. Shift is now done before decompose test. This enables us to keep test measures recent as well as avoid particles hidden in the mpi_boundary.removed buffers. ------------------------------------------------------------------------ r203 | olsonse | 2007-09-14 23:55:03 -0400 (Fri, 14 Sep 2007) | 10 lines src/ParticleNode.h: Many changes, primarily to improve/fix the decomposition code: sq array in decompose was not being freed. several more log_fine/st message for debugging. decompose test now done on all nodes. as a result, all nodes are hard synced at each timestep. as a result, the sync_request idea was ripped out. decompose test now uses the last timestep total number of particles, not just a guess based on the root nodes container. ------------------------------------------------------------------------ r193 | olsonse | 2007-09-08 16:40:06 -0400 (Sat, 08 Sep 2007) | 1 line OctreeContainer.[hC]: added error messages just before throwing exceptions when memory cannot be allocated for particle pointer array. ParticleNode.h: Added code to assist core dumps on systems that use MPI/PBS where qdel sends SIGTERM followed by SIGKILL after a specified amount of time. ------------------------------------------------------------------------ r188 | olsonse | 2007-09-07 16:58:59 -0400 (Fri, 07 Sep 2007) | 1 line ParticleNode.h: changed log-level of an informational message; configure.ac: fixed specifiying MPI path ------------------------------------------------------------------------ r181 | olsonse | 2007-08-23 09:56:46 -0400 (Thu, 23 Aug 2007) | 1 line ParticleNode.h: Added a small debug info to evolve ------------------------------------------------------------------------ r180 | olsonse | 2007-08-23 02:11:53 -0400 (Thu, 23 Aug 2007) | 1 line ParticleNode.h: trying to eliminate arank vs rank confusion that might (just might) cause undefined errors. ------------------------------------------------------------------------ r177 | olsonse | 2007-08-18 04:58:58 -0400 (Sat, 18 Aug 2007) | 1 line ParticleNode.h: fixed some mistakes in the sortParticlesIntoSQ function ------------------------------------------------------------------------ r175 | olsonse | 2007-08-16 14:40:34 -0400 (Thu, 16 Aug 2007) | 13 lines A major modification to the decomposition code. We now use what we know about the workload distribution to create a more optimum distribution of processors with the new number of processors available (whether that be more or less). The processor distribution is modified by the allowable processor distribution, which is based on the fraction Node_length / max_transit. If this fraction is less than one, we need to broaden the boundaries of nodes, or decrease the nodal density. If it is greater than one, we are allowed to increase the nodal density. I think I also enabled the code to allow removing processors from the simulation if the workload decreases too much. ------------------------------------------------------------------------ r172 | olsonse | 2007-08-13 22:15:56 -0400 (Mon, 13 Aug 2007) | 12 lines src/ParticleNode.h : fixed potential bugs in differentiating between root and active root. I seemed to notice that root and active root seemed to be the same while I was debugging that, but it is not guarenteed as far as I can tell from the documentation. If there was a difference, it would certainly explain some of the hiccups that I've seen in various runs. Added lots of inline documentation as well. TODO : Added todo items for improving the decomposition in ParticleNode. ------------------------------------------------------------------------ r167 | olsonse | 2007-08-11 20:53:18 -0400 (Sat, 11 Aug 2007) | 12 lines src/collide.h : gcc warned about using abs instead of fabs for double args. Because I was not using VSS model, this hasn't effected any previous results. src/DSMCData.C : gcc found a missing template for DSMCData. ICC must have just figured out what the template argument was because of the context. TODO : new stuff to do (mainly fixing the domain decomposition in ParticleNode.h) examples/boundaries/[walls/testWalls.C,teleporter/testTeleporter.C] : portable initializers for std::ostream vector. GCC had complained. ------------------------------------------------------------------------ r157 | olsonse | 2007-07-18 16:16:36 -0400 (Wed, 18 Jul 2007) | 1 line Many small changes forced by changes in olson-tools ------------------------------------------------------------------------ r146 | olsonse | 2007-07-06 09:52:59 -0400 (Fri, 06 Jul 2007) | 32 lines src/: DSMCMonitor.h: templated for particle type. Particle.[hC]: removed (temporary) marker collide.[hF] -> collide.h: translated fortran code to c++ code. Many many tests do not indicate any difference in efficiency. collide now adapts to (templated for) particle type. removed all definitions of dsmc_fortran_parameters structure. ParticleSrc.[hC]: templated for particle type. DSMCData.[hC]: templated for particle type. DSMC.[hC]: templated for particle type. RK5AdaptiveIntegrator<> is templated again in new olson-tools (-fields branch). Makefile.am: DSMCData.C is now an include (templated file) and not compiled into libdsmc.a common.h: we includenow instead of redefining. examples/: mpi/mpi4dsmc.C: boundaries/walls/testWalls.C: boundaries/teleporter/testTeleporter.C flatderivs works now for new olson-tools (-fields) works now with templated DSMC (for Particle type). ------------------------------------------------------------------------ r145 | olsonse | 2007-07-05 15:30:27 -0400 (Thu, 05 Jul 2007) | 34 lines src/: Particle.C: operator<< spits out particle marker (temporary) operator>> improved to allow comments as well as extra stuff on line. added vss_param_inv property if I ever use the vss collision logic. Wall.h: Added comments for SquareMatrix members. debug_util.h: removed some old stuff for DEBUG() macro DSMC.h: Removed <> from RK5AdaptiveIntegrator (no longer is a templated class). Particle.h: added (temporary) marker to Particle. added vss_param_inv property for particle database. ParticleNode.h: changed DEBUG lines to log_* lines. init() needed to have references of argc and argv (so that they could be modified for the rest of the program. changed *_dx to a msgtags::EXCHANGE_LENGTH message Added more debug code for max_transit vs *_dx code to eliminate moving particles too far. changed comparison of my_dx-load_balance_shift to (1.5*)his_max_transit instead of just (1*)his_max_transit. Particle::marker changes to negative when received from another node. DSMC.C: integrators now accept Vector args, hence a conformance to this. Particle marker incremented after each evolution. configure.ac: added boundaries examples to make/configure. example/ added boundaries examples (testWalls, testTeleporter). ------------------------------------------------------------------------ r111 | olsonse | 2007-02-27 07:11:36 -0500 (Tue, 27 Feb 2007) | 1 line examples/mpi/*: added output to plot; added plot.sh to plot this output. ------------------------------------------------------------------------ r103 | olsonse | 2007-02-25 01:15:32 -0500 (Sun, 25 Feb 2007) | 1 line src/Makefile.am, configure.ac: pthread support improved/added. ------------------------------------------------------------------------ r88 | olsonse | 2007-01-20 01:08:47 -0500 (Sat, 20 Jan 2007) | 1 line DSMC.C: moved zeroing of max_dx to before the recursive evolve() is called. This was being zeroed at each octree node--but it is supposed to be a measure over the entire DSMC node/container. ------------------------------------------------------------------------ r87 | olsonse | 2007-01-19 23:34:54 -0500 (Fri, 19 Jan 2007) | 1 line added pthread option to enable pthread library in octree/dsmc stuff ------------------------------------------------------------------------ r86 | olsonse | 2007-01-17 01:22:09 -0500 (Wed, 17 Jan 2007) | 1 line Octree.C: had to change reductions to atomic pragmas because of a bug in the intel compiler for francium. It shouldn't be too bad, although it does add a few calls to mutex locks/unlock. This snapshot also represents some exploration with directory writing the overhead for multithreading the octree build. This is done using POSIX threads. Added PThreadBuildOctree.h ------------------------------------------------------------------------ r78 | olsonse | 2007-01-16 10:35:06 -0500 (Tue, 16 Jan 2007) | 1 line enabling some testing for pthreaded octrees ------------------------------------------------------------------------ r76 | olsonse | 2007-01-11 02:27:56 -0500 (Thu, 11 Jan 2007) | 1 line small changes to examples/octree/basic/testbasic.C ------------------------------------------------------------------------ r75 | olsonse | 2007-01-11 02:01:09 -0500 (Thu, 11 Jan 2007) | 1 line Small change to examples/octree/basic/testbasic.C ------------------------------------------------------------------------ r74 | olsonse | 2007-01-11 01:57:21 -0500 (Thu, 11 Jan 2007) | 1 line Forgot to add examples/octree/basic/testbasic.C ------------------------------------------------------------------------ r73 | olsonse | 2007-01-10 01:17:51 -0500 (Wed, 10 Jan 2007) | 1 line Added 'Makefile.am's for octree examples ------------------------------------------------------------------------ r72 | olsonse | 2007-01-10 01:11:30 -0500 (Wed, 10 Jan 2007) | 1 line Upgraded ParticleNode.h to new BoundaryObject interface ------------------------------------------------------------------------ r70 | olsonse | 2006-12-06 08:38:11 -0500 (Wed, 06 Dec 2006) | 1 line Some various bug fixes (with boundaries in OctreeContainer). This also contains work for using OpenMP in octrees. Some restructuring has been done to the examples directory ------------------------------------------------------------------------ r60 | olsonse | 2006-10-22 04:55:30 -0400 (Sun, 22 Oct 2006) | 1 line Enabling MPI compilations again ------------------------------------------------------------------------ r59 | olsonse | 2006-10-19 00:50:04 -0400 (Thu, 19 Oct 2006) | 1 line Upgraded to automake/autoconf ------------------------------------------------------------------------ r52 | olsonse | 2006-10-14 21:53:44 -0400 (Sat, 14 Oct 2006) | 2 lines Moving the dsmc-obj branch over into mainline. ------------------------------------------------------------------------ r50 | olsonse | 2006-10-14 21:43:37 -0400 (Sat, 14 Oct 2006) | 1 line Lots of bug fixes and the like: end of obj-branch. Shifting this to the trunk. ------------------------------------------------------------------------ r25 | olsonse | 2006-04-07 14:09:04 -0400 (Fri, 07 Apr 2006) | 3 lines More changes than I can list. MPI/load-balancing code works. Lots of other nice fixes. ------------------------------------------------------------------------ r5 | olsonse | 2005-08-24 22:52:45 -0400 (Wed, 24 Aug 2005) | 5 lines Added MPI particle node class: first code to parallalize the DSMC-Octree algorithm. Finished implementation of Boundary Objects to allow faster and easier interaction of particles with BC. ------------------------------------------------------------------------ r3 | olsonse | 2005-07-09 00:48:59 -0400 (Sat, 09 Jul 2005) | 3 lines Creating a branch for working with object tree testing for object (wall) collisions. ------------------------------------------------------------------------ r2 | olsonse | 2005-07-08 23:57:36 -0400 (Fri, 08 Jul 2005) | 2 lines First import into Subversion. ------------------------------------------------------------------------