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