------------------------------------------------------------------------
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 include  now 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.

------------------------------------------------------------------------