Fixed the preallocation code.
The coordinates of the nodes need to be mapped from global coordinates
into local coordiantes and then mapped back to a local index. The offset
to map to the local index is equal to the low index of the first patch
on each processor. Previously nothing was subtracted (which will work
on a single processor run) and before that the low index of the current
patch was subtracted (which will work in a single patch case).
11 lines of code changed in 2 files:
Added a couple asserts to the Petsc solver that verify the preallocation
values are valid.
4 lines of code changed in 1 file:
Moved a call outside of a for loop
1 lines of code changed in 1 file:
Now ugly cylinder from MPMArches can be replaced by better one
using intrusions. Also, flow inlets now can have optional portions
of the computational domain specified, which would be initialised
to the same values as inlet. This can be useful for prefilling the flare
pipes and to get crosswind everywhere from get go. Example ups file
is attached.
249 lines of code changed in 13 files:
Uintah is going on a diet.
This is hopefully the first of multiple commits that will reduce
Uintah's memory footprint. This change stops processors from adding
detailed dependencies to its task graph that do not involve itself.
This lead to between a 10-20 percent decrease in memory and around a
5-10 pecent increase in performance for a 3 level blast wave problem.
9 lines of code changed in 1 file:
Fix for multi patch MPM performance issues.
Call createLocalToGlobalMapping once per patch set instead of once per patch.
Do not subtract the patches low corner from the local to global mapping.
5 lines of code changed in 2 files:
Added a tau profile around the Petsc solve
3 lines of code changed in 1 file:
Added tau profiling for teh PetscSolver
7 lines of code changed in 1 file:
Get the correct delT when using the switcher.
1 lines of code changed in 1 file:
allow a list of 'selected materials' to be stored in the srn file.
35 lines of code changed in 1 file:
scheduleDestroyHCMatrix was being called from within scheduleCreateHCMatrix
for some reason. I'm assuming this was an accident, and removing it seems
to fix a run time problem with the newly AMRified ImpMPM.
2 lines of code changed in 1 file:
Fix problems that arise when there are more procs than patches
5 lines of code changed in 2 files:
Recompute NC_CCweights as part of refining.
16 lines of code changed in 1 file:
Implicit MPM code is now able to run in a multi-level fashion similar
to the explicit code, that is, where the particles and the solution are
only advanced on the finest level. Also added printTask statements to
the scheduling tasks.
341 lines of code changed in 2 files:
removed garbage that somehow found its way to the top of the file.
0 lines of code changed in 2 files:
M configure.ac
M configure
- Update PETSc check to handle version 2.3.x path correctly.
- Fix reconfigure with petsc repair.sh script call to use real src dir.
- Fix Tcl/Tk version check to not produce errors if TCL is not found.
M aclocal.m4
Use "" around possibly empty vars to avoid 'test' complaining about bad tests...
125 lines of code changed in 4 files:
make #define match petsc #define so we avoid warning messages.
2 lines of code changed in 1 file:
line up lines
3 lines of code changed in 1 file:
removed duplicated dummy
0 lines of code changed in 1 file:
extractScalingData: script to parse sus output and generate scaling data
plotScalingData.m: matlab script to plot the droppings from extractScalingData
71 lines of code changed in 2 files:
Indention again...
0 lines of code changed in 1 file:
Minor: just indention
15 lines of code changed in 1 file:
minor indention
3 lines of code changed in 1 file:
Don't keep particles that are in the extra cells, and don't check for extra cells in Fracture and Rigid MPM
10 lines of code changed in 3 files:
Fix Ref counted problem
1 lines of code changed in 1 file:
Restore taskdbg to how it's supposed to be, and put assert in the right place
5 lines of code changed in 1 file:
Added comments provided by Wayne Witzel and added an assert to verify a
valid range qeury was returned.
0 lines of code changed in 2 files:
Add and subtract the extra cells when querying instead of
IntVector(1,1,1). This assumes that the smallest patch has cells
greater than 2 times the number of extra cells.
5 lines of code changed in 1 file:
Reorganize recompile loop for multi taskgraphing to make sure finalizeTimestep gets called on all levels
14 lines of code changed in 1 file:
Changed the default value of patch_ratio_to_target.
BNRRegridder will now try and create around 8 patches per processor.
1 lines of code changed in 1 file:
Added code to the configure system that, when a different petsc or
hypre is configured, it will run the repair script to remove all .o
files that (probably) depend on petsc/hypre.
83 lines of code changed in 7 files:
Modified the knobs for controlling the load balancer weights.
There are now 3 knobs and they are listed as follows:
patchCost: cost per patch
cellCost: cost per cell
particleCost: cost per particle
The formula for determining a patches cost is as follows:
cost=patchCost+numCells*cellCost+numParticles*particleCost
The defaults are as follows:
patchCost: 0
cellCost: 2
particleCost: 1
These defaults seem to work well for an MPMICE exploding container.
And should also work well for ICE problems.
12 lines of code changed in 2 files:
Actually use the cellFactor
2 lines of code changed in 1 file:
Implement a task queue based on whether or not MPI recvs have taken place. To do this, I also needed to implement Reduction Variable Modifies. Read closely if you plan to use this: Modification will take place before reduction. Also override the delt on global level in the sim controller (this is mainly if the delt changes as a result of a switch)
323 lines of code changed in 13 files:
Check particles for leaving real domain cells (not extra cells) in Relocate. Remove expensive looping over patches to see if a particle is on the level checking
8 lines of code changed in 2 files:
Added tau timers for scheduleAndDoCopy
9 lines of code changed in 1 file:
Removed junk (litterally)
0 lines of code changed in 1 file:
Replace the MPI_Bsend with an MPI_Isend.
24 lines of code changed in 3 files:
A couple small tau changes.
1 lines of code changed in 1 file:
#ifdefed some of the tau stuff
5 lines of code changed in 1 file:
Added some tau profiling to the BNRRegridder and the main simulation loop.
18 lines of code changed in 2 files:
Reduced the pseudo-global communication by changing from a gather to a reduce and compressing boolean data into a bit field.
0 lines of code changed in 4 files:
When sending patches back up the tree use straight data copies instead of MPI when the copy is on the same rank.
66 lines of code changed in 1 file:
Fixed soot model. Now reading stream properties from table.
72 lines of code changed in 11 files:
Combined 3 sends/recieves into 1 send/recieve.
36 lines of code changed in 2 files:
Modified the BNR communication pattern to eliminate one pseudo-broadcast.
103 lines of code changed in 5 files:
Conditionally include MPIService. Explicitly convert MPI_Comm to long.
0 lines of code changed in 4 files:
Reworked the communication in the BNRRegridder slightly.
16 lines of code changed in 3 files:
Fixed a bug in the dynamic dilation.
3 lines of code changed in 1 file:
Undo changes in r37413. It turns out there was no race condition and my "fix" for the non-existant race condition caused other problems.
1 lines of code changed in 2 files:
Don't check true&&true
4 lines of code changed in 1 file:
Use corrected velocity for EKT.
154 lines of code changed in 7 files:
Added some { } in case I ever have to hunt for a bug in here again.
0 lines of code changed in 2 files:
Get delT over the level which fixes bug that happened when switching from
heatup to explosion and getting wrong delT.
2 lines of code changed in 2 files:
Added the ability to have the simulation control the amount of regrid
dilaiton at runtime. To enable it include the flag
<dynamic_dilation>true</dynamic_dilation> in the <Regridder> section.
This is controlled with the parameters <grid_reuse_target_low> and
<grid_reuse_target_high>. This feature will increase dilation of it is
regridding more often than <grid_reuse_target_low> and will decrease
dilaiton if it regridding occurs less often than
<grid_reuse_target_high>.
64 lines of code changed in 2 files:
Cleaned up cellinfo mess. Only compute it once per run, then carry
forward. Don't allow just any part of code needing it to compute it.
181 lines of code changed in 25 files:
Changed a few stacks to queues. While this shouldn't have any noticable affect on the code it seems to help with the problems with Zeus's mpi library and race conditions by reusing tags and requests in a FIFO order instead of LIFO.
8 lines of code changed in 3 files:
make the ParticleFieldExtractor multi-threaded again after the changes made to the DataArchive.
17 lines of code changed in 1 file:
Put mutex locks around the calls to getTimeData() in the query functions to hopefully eliminate the race conditions in multi-threaded code
15 lines of code changed in 1 file:
removed some things for really old BC implementation
removed long time ago.
3 lines of code changed in 7 files:
fix pollux build
0 lines of code changed in 2 files:
Temporarily make single threaded until I can figure out why there is data corruption in the multi-threaded version
17 lines of code changed in 1 file:
scheduleComputeModelSources()
- added all_matls for requires for the temperature and pressure
11 lines of code changed in 1 file:
Fix uninitialized VarInfo when querying by region, and fix warnings
35 lines of code changed in 1 file:
Add DataArchive query with ghost cells and queryRegion
80 lines of code changed in 2 files:
Fix bug in computing heat flux values from polynomial data.
Turn off printing of physical bcs at the start of problem.
5 lines of code changed in 2 files:
Comment out the mass gained output. Use the totalMassGained.dat file to monitor
this quantity.
1 lines of code changed in 1 file:
Fix the scaling function.
9 lines of code changed in 1 file:
Remove the skipping over of the angular data that is in the heat flux dat
files.
7 lines of code changed in 1 file:
e the criteria from the SimpleBurn and not just particle temperature.
2 lines of code changed in 1 file:
more descriptive exception message
4 lines of code changed in 1 file:
Move template for_each function from *.cc to *.h to allow for g++-4.1 to compile with optimizations.
0 lines of code changed in 4 files:
Bug fixes in hybrid load balancer.
34 lines of code changed in 2 files:
Let the particle counts be printed for every level when the particles are created (the perProcessorPatchSets force the tasks to be called once per processor)
9 lines of code changed in 3 files:
Added "Reading input file << filename" to the spew when the components switch.
10 lines of code changed in 1 file:
Moved point where NC_CCweights are computed to interpolateParticlesToGrid
so it will always be available.
16 lines of code changed in 2 files:
changed MIlb to Mlb in some still commented out code.
2 lines of code changed in 1 file:
Temporary fix for the crashes that were occurring when trying to graph a particle over time. Temporary, because we need to confirm that a particular particle cannot change levels over time. If it can, then this fix will break.
48 lines of code changed in 5 files:
Force rsync to use 'ssh -x'
1 lines of code changed in 1 file: