https://github.com/N-BodyShop/changa

sort by:
Revision Author Date Message Commit Date
464fb95 Update to v3.3 Change-Id: Icb82cbd8a7e18f918a512d4385ed6412415d5500 11 September 2017, 16:37:31 UTC
70c2568 Report SPH time when no self gravity. Change-Id: Ibb80be81e6640856562d53047a1097d63cb73500 06 September 2017, 19:48:02 UTC
b1a69a4 ExternalGravity::applyPotential(): be sure idt2 is positive. Change-Id: Ida5307ba166c63ba6b82eb8f0a59403d88085777 31 August 2017, 21:11:04 UTC
2c05d51 Make unknown cooling complain a little louder. Change-Id: I6838a4a7f3673df2df9ff665181224021a349fa5 30 August 2017, 22:32:31 UTC
0a42aea GPU fix: clear registered TreePieces on the DataManager. If the tree is build, but gravity isn't done. Then the registeredTreePieces on the DataManager don't get cleared. Add code to clear them in this case. Note: probably have not caught all the cases. Change-Id: I6264eb80d1ce9a2df1ae8ef9d6628dcfb5a7c0f0 23 August 2017, 21:56:49 UTC
85da1f3 More documentation for makeOctChildren and getChunks. Change-Id: Ic538a6f75ef846eb29562b16eea5f89e2f723fb0 16 August 2017, 23:06:12 UTC
b870f07 testcollapse: update gasoline results. The gasoline results in test collapse are now from a version of gasoline based on the Wadsley et al 2017 paper. Change-Id: I653e6c770d6bfac5e5698ce6f3753d751f3ad819 21 July 2017, 03:12:13 UTC
1ba0135 Merge branch 'ppl_master' into public 20 July 2017, 20:27:27 UTC
edefcc1 Merge pull request #182 from ibackus/quintic-kernel Quintic kernel and de-macroed kernels 20 July 2017, 20:25:09 UTC
0d1f3da NodeKey: downgrade from "using" to "typedef" for older compilers. Change-Id: Ie5caa6b5e0b221688169f4ce1d4f0ddfa953e84d 20 July 2017, 13:58:09 UTC
6d6acf2 Combined Ewald Kernels Change-Id: I9e893d883f9616669113dafe048710162e60e882 20 July 2017, 03:37:34 UTC
3823065 Merge pull request #181 from N-BodyShop/dtadjust AGORA feedback 18 July 2017, 04:25:50 UTC
7ce0541 Added configure option to allow user to override default compiler options. (#177) Added the flag --enable-opts="options...". Example usage: Defaults: ./configure No options: ./configure --enable-opts -or- ./configure --enable-opts="" Change optimization and still use lpthread: ./configure --enable-opts="-O2 -lpthread" 13 July 2017, 01:50:24 UTC
27dfad5 Switched SPH kernels from macros to inline functions. The SPH kernels were formerly macros. Different kernels implicitly required different arguments to be defined, but these were not visibile in the function call. This commit addresses that. Tests indicate that this approach is just as fast. I ran the shocktube test on a 4-core laptop with default arguments. The results were exactly identical and the walltime per step were the same. 11 July 2017, 21:34:11 UTC
8a81f0e Merge branch 'public' into quintic-kernel 11 July 2017, 18:54:37 UTC
c0089f2 Particle attribute documentation. Change-Id: I87b0c0300c6e92cc99b8996323aca4b300cfb46e 05 July 2017, 17:48:22 UTC
b3420df Merge branch 'public' into dtadjust 01 July 2017, 02:02:02 UTC
aefff5b Merge branch 'ppl_master' into public 16 June 2017, 17:29:35 UTC
a884b9f More documentation for "dumpframe". 16 June 2017, 17:29:00 UTC
5390a74 DumpFrameInit(): also adjust frame number for dDumpFrameTime. (#174) This is a fix to issue #172 : dumpframe overwriting at restart. 16 June 2017, 15:58:40 UTC
dbac1eb Frame Transformation (#173) * Allow particles with soft=0 and m=0 * Potential reacts to gravitational force of particles * Code updates according to Tom's comments 16 June 2017, 15:55:18 UTC
4fe6bc9 Refactor SphPressureTerms (#146) Refactor SphPressureTerms * Tab indented SphPressureTerms.h so that the nested #ifdefs can be understood * Added /* compile-time flag */ comments to compile-time macros * Added comments separating the 2 main sections of code * Replaced DRHODTACTIVE macro with an #ifdef * Flattened artificial viscosity into the code calculation * Wrapped the diffusion calls in an #ifdef DIFFUSION These diffusion calls are #defined such that if DIFFUSION is not #defined, they are empty macros. Therefore, wrapping them in an #ifdef DIFFUSION will not affect their execution. * Replaced DIFFUSIONBase() Macro with code execution * Replaced DIFFUSIONThermal(dt) macro with code execution * Replaced DIFFUSIONMetalsBase() macro with code execution * Replaced DIFFUSIONMetals() macro with code execution * Replaced DIFFUSIONMetalsOxygen() macro with code execution * Replaced DIFFUSIONMetalsIron() macro with code execution * Replaced DIFFUSIONMass() macro with code execution * Replaced DIFFUSIONVelocity() macro with code execution * Replaced SETDTNEW_PQ(dt) macro with code execution * Moved the Accp and Accq calculation to after the viscosity calculation. Nothing in the viscosity calculation depends on Accp or Accq, and nothing in those depends on the viscosity. The only substantial change is adding visc = 0.0 for dvdotdr >=0 and adding visc to Acc always. * Shorted Accp and Accq calculations * Moved PdV() calculations to after the viscosity calculation. * Moved the DRHODT calculations to after viscosity. These calculations are independent of the viscosity calc * Moved //DIFFUSIONBase(); code to before particle updating since it is independent of the particle updates * Added comments that detail what the DIFFUSION code snippets depend on and what they update/change * Mapped out macro-function dependencies Note that the 'Children' are just macro 'functions' that depend on a variable which the function updates. Nothing about the order of execution is considered. Being a child doesn't mean you depend on the other function. * Added dependency documentation for DIFFUSIONBase() * Added dependency comments for PRESSUREUpdateTerms() * double checked/updated dependencies and Keep track of which functions also update objects * Moved PRESSUREUpdateTerms() to end of calculation * Merged DIFFUSIONBase into the same #ifdef DIFFUSION as the following DIFFUSION code * Moved DIFFUSIONMetalsBase() to match the new execution order suggested by https://github.com/ibackus/changa_uw/wiki/ * Moved the particle updating of DIFFUSIONThermal(dt) to the end of the code. This depends only on diffu, which required moving double diffu outside the scope of DIFFUSIONThermal. * Removed scope around DIFFUSIONMetals() and renamed diff to diffMetals * Moved particle updating of DIFFUSIONMetals() to the end * Moved particle updating of DIFFUSIONMetalsOxygen() to the end * Moved particle updating of DIFFUSIONMetalsIron() to the end * Moved particle updating of DIFFUSIONMass() to the end * Moved particle updating of DIFFUSIONVelocity() to the end * Removed DIFFUSIONThermaluNoncool() to push its particle updates to the end of the code * Updating comments for compile-time flags. Now they include a description in the file comment * Replaced PRES_PDV(a,b) with inline function presPdv(a,b) * Replaced PRES_ACC(a,b) with inline function presAcc(a,b) * Replaced SWITCHCOMBINE(a,b) with inline function switchCombine(a,b) * Replaced RHO_DIVV(a,b) with inline function rhoDivv(a,b) * Replaced ALPHA and BETA macros with inline functions varAlpha and varBeta * Replaced DIFFUSIONLimitTest() macro with inline function diffusionLimitTest(...) * Replaced MASSDIFFFAC(p) macro with inline function massDiffFac(p) * Flattened the DIFFUSIONThermalCondBase(dt_) macro into the code. That macro was only called once. * Removed dependencies comments and updated other comments to match the new state of this code * Moved all SphPressureTerms prefactor term calculations to Sph.C:PressureSmoothParams::fcnSmooth( ) * Replaced mixed indentation in PressureSmoothParams::fcnSmooth(...) with spaces * Added PressSmoothUpdate struct to store variables used to update particles in PressureSmoothParams::fcnSmooth( ) * Replaced updateParams->pDensity uses with just p->fDensity (they are equal) * Split off particle-specific update properties (such as Accp, Accq or rp, rq) into a separate struc PressSmoothParticle * Renamed updateParams to params * Converted 3D velocity and position quantities to Vector3D * Simplified particle updating if statements * Adjusted SETDTNEW_PQ formatting * Moved DTADJUST>SETDTNEW_PQ to Sph.C from SphPressureTerms.h * Created updateParticle(...) to handle updating the particles p and q. * Moved rp, rq to updateParams * Moved dvdotdr to updateParams * Moved pDensity to updateParams * Moved pPoverRho2, qPoverRho2 to updateParams * Moved visc to updateParams * Moved pPoverRho2f, qPoverRho2f to updateParams * Moved aFac to updateParams * Moved Accq, Accp to updateParams * Moved dx, dy, dz to updateParams * Moved diffu to updateParams * Moved diffuNc to updateParams * Moved diffMetals, diffMetalsOxygen, diffMetalsIron to updateParams * Moved diffMass to updateParams * Moved diffVelocity0, diffVelocity1, diffVelocity2 to updateParams * small cleanups * Suggested optimization for divvi: factor the p->fDensity normalization out of the loop * Basic cleanup: removed unused hav, removed fNorm (used only once), removed unnecessary sqrt * Commented out unimplemented compile-time flags. A large fraction of the compile-time modules present in PressureSmoothParams::fcnSmooth( ) and updateParticles() are not implemented. To make this clear, they have been commented out. In the future when they are implemented and tested they can be uncommented. * Deleted now deprecated SphPressureTerms.h * Stop initializing params with new(). This makes params get initialized on the stack * Stop initializing qParams and pParams with new(). This makes them get initialized on the stack * Replaced PressSmoothParticleStruct.acc with a local variable in updateParticle PressSmoothParticleStruct.acc is only used as a local variable in the updatePartice(), so it has been removed from the struct and placed as a local variable. * Removed unnecessary temporary variables pc and pMass * Moved inline functions, function declarations, and struct definitions specific to PressureSmoothParams::fcnSmooth() to their own header file SphUtils.h There are a large number of functions, incline functions, and structs which are only needed by Sph.C and don't match the standard usage of Sph.h which therefore should be placed in their own header file. Note: at this point there is a macro definition in Sph.h which is required by SphUtils.h, so SphUtils.h depends on Sph.h. * Suggested optimization: move divvi, divvj calculation inside RTFORCE flag. The calculation of divvi, divvj is only required for RTFORCE, specifically to calculate the fDivv_Corrector. There is a for loop over neighbors which is unnecessary when RTFORCE is not compiled. 16 June 2017, 15:37:01 UTC
45252c1 Merge branch 'public' into quintic-kernel 06 June 2017, 18:34:31 UTC
6900c93 Merge "Log COSMO_FLOAT." 11 May 2017, 22:56:28 UTC
6b14c06 Log COSMO_FLOAT. Change-Id: Ie32fa52ebc4d11de159e3111cd59cb5aad039e75 11 May 2017, 04:03:36 UTC
f7f3c46 Central force fix (#171) * Theta force not set correctly 03 May 2017, 15:12:40 UTC
3d4ed18 Use KeyType from keytype.h for NodeKey Change-Id: Id3ef5042f7ba59da69fa95a720d9a5a9c000b0c9 03 May 2017, 02:49:49 UTC
5fefcda GPU: free device buffers for remote interactions in TranserVarsBack. TransferParticleVarsBack() frees the local particle and moment device buffers. This patch adds freeing the remote data, instead of a separate call at the end of the remote walk. Previously, this was not done reliably, resulting in a CUDA memory error when an old buffer got reused. Change-Id: I12aba021fdf278377324eca16c4eee05f7dd974f 01 May 2017, 23:47:00 UTC
bab215e Merge branch 'ppl_master' into public Conflicts: GravityParticle.h Makefile.dep Makefile.in ParallelGravity.cpp configure 30 April 2017, 04:13:27 UTC
42d8edb Remove dead GPU code. Change-Id: I35de38cc61d604fcff2b44db84014af903507a0f 29 April 2017, 05:06:20 UTC
fd8a405 Add separate callback to signal transfering local data to GPU. The local walk can only be started after the local/particle data has been transferred. This could be delayed until after the remote data transfer, so it needs its own callback. Also fixed an Ewald bug that caused hangs with multistepping, and added a check for too many treepieces on a node due to a limitation in hybridAPI. Change-Id: I7939e2e3aecab92d5760e46c1c70ba9fd7cf17ae 29 April 2017, 05:04:32 UTC
866c517 Ewald Race Condition Fix. Change-Id: I7b33c40bfca45f27b75e640441099b328e70d07c 27 April 2017, 02:00:24 UTC
ad5f88b Merge pull request #153 from N-BodyShop/CullenDehnen_public Cullen dehnen viscosity (off by default) 25 April 2017, 04:39:53 UTC
6dadfee Merge pull request #169 from N-BodyShop/trq/imfparam_fix Abort on bad IMF parameter. 20 April 2017, 02:25:07 UTC
dc93cc4 Merge pull request #168 from N-BodyShop/trq/redout_fix getOutTimes(): handle output times when in non-comoving coordinates. 20 April 2017, 02:23:29 UTC
46ba74d Merge pull request #167 from N-BodyShop/trq/error_detect Log defined Charm++ debugging/tracing macros. 20 April 2017, 02:20:59 UTC
739e423 getOutTimes(): handle output times when in non-comoving coordinates. 19 April 2017, 03:54:53 UTC
2a01340 Abort on bad IMF parameter. 19 April 2017, 03:29:06 UTC
7629058 Log defined Charm++ debugging/tracing macros. 18 April 2017, 23:39:31 UTC
11fa478 Added a starlog peaking utility. 13 April 2017, 00:18:31 UTC
53a3312 Merge branch 'public' into CullenDehnen_public Conflicts: Makefile.in 09 April 2017, 03:05:01 UTC
98180c0 CullenDehnen off by default. See gasoline2 paper. 09 April 2017, 02:56:28 UTC
7231ca6 Use std::unordered_map to track nodes sent to GPU on the remote resume walk. Change-Id: I9b070c3e4b9741b5da383ff1beb528e36325fbd9 05 April 2017, 04:54:12 UTC
ddfccf9 Improve GPU Ewald. +Added myNumActiveParticles check to EwaldGPU() endm Change-Id: I5699f7dc1484ec91758e3927866f64e1dc813458 02 April 2017, 03:45:48 UTC
f43e6f8 Remove redundant printBinaryAcc and outputAccelerations. Change-Id: I566cec15762f946b2b90908098171ef0b61e14b9 23 March 2017, 00:59:48 UTC
b93f234 Merge pull request #142 from N-BodyShop/trq/feedbackdist Optimize case for less than nSmooth gas in a treepiece 16 March 2017, 03:21:59 UTC
c6ba683 Merge pull request #156 from spencerw/central_force Central Body External Potential 16 March 2017, 03:18:43 UTC
14b4a89 Some dead code removal and some documentation. Change-Id: Iff677072655ceb0338e812238fde75566e7bd21a 13 March 2017, 05:03:55 UTC
83889d2 Changed signature of openCriterionBucket() to remove unused parameter. Change-Id: I49bd0462d55fb6ae8e2e4121d4ee93c9ebfb2b4a 12 March 2017, 02:49:09 UTC
ab9666f More documentation and some dead code removal. Change-Id: I2bb1bc82b3839297dfb765fea8692259cdaa376d 12 March 2017, 02:31:28 UTC
cdd1d06 Make ExternalGravity::applyPotential const 10 March 2017, 22:25:40 UTC
e872f50 Merge pull request #159 from spencerw/massless_particles Massless Particles 10 March 2017, 21:24:28 UTC
d08c4c5 Make exGrav parameter in TreePiece::externalGravity const 10 March 2017, 21:19:55 UTC
410a027 Check newMoments.totalMass == 0 when subtracting multipole moments 10 March 2017, 21:16:28 UTC
d7980ac Move TreePiece::externalGravity definition to externalGravity.C 06 March 2017, 20:38:53 UTC
4665cba Add abort message when using bEpsAccStep with soft <= 0 06 March 2017, 20:33:41 UTC
10fab34 Improve GPU Ewald. Change-Id: I80cb082f72fce3928a4992353f08c0db4c47bdc5 03 March 2017, 19:56:47 UTC
1baf852 Cleanup externalGravity class according to Tom's comments 02 March 2017, 17:22:22 UTC
4c13d25 Merge "Fix non-hexadecapole in nodeGravityComputation" 02 March 2017, 00:20:44 UTC
4334f04 Allow particles with m=0 and soft=0 27 February 2017, 21:16:08 UTC
8333cb2 Fix non-hexadecapole in nodeGravityComputation Change-Id: I2c4dcda098cd4d0f9fe1798b92b22b8a92989bfe 27 February 2017, 05:42:47 UTC
4277144 Correctly handle --with-cuda arguments in cuda.ac Change-Id: I19dfd0812de2586632e2916cdfdc8e729c7633b1 27 February 2017, 04:18:09 UTC
a44f54e Collapse vector operations into single statements 13 February 2017, 22:58:24 UTC
416bb6d Merge pull request #157 from ibackus/damping Damping: This is identical to the gasoline functionality. 06 February 2017, 04:32:34 UTC
876be81 Allow dMinGasMass to be set independently of the dInitStarMass 06 February 2017, 04:28:26 UTC
6d5707f Added the ndsph tests from the ndsph branch. There are two tests which can be used to demonstrate that a kernel works: the acceleration test and the density test. Just select 3 as the number of dimensions. 03 February 2017, 19:08:31 UTC
62f1a1a Implemented the M6 quintic kernel. The M6 quintic kernel is defined in, e.g., Dehnen & Aly 2012 (referred to as b6 in their paper). 03 February 2017, 18:45:03 UTC
413a13c Replace #ifdef WENDLAND with #if WENDLAND == 1 01 February 2017, 22:31:09 UTC
d610a85 Removed duplicate inclusion of FLAG_DAMPING in DEFINE_FLAGS in Makefile.in 01 February 2017, 22:24:17 UTC
446db6c Changed kernel define flags to allow M6 kernel as well. The old convention was to use only 1 preprocessor directive (WENDLAND) to control kernel selection. For 2 kernels, this is fine because you can just do #ifdef WENDLAND ... do wendland stuff ... #else ...do M4 stuff Now at compile time the kernel is controlled by 3 boolean int directives: WENDLAND M4KERNEL M6KERNEL Whichever is 1 is the selected kernel. 01 February 2017, 22:15:04 UTC
08b6fe1 Put external potential code into separate module 01 February 2017, 06:05:53 UTC
d24689e Use new "runKernel" function pointer, instead of old ID and "kernelSelect" switch. Also: Use new hapi_hostFree macros, instead of duplicated hapi_poolFree / delayedFree / free nest of #ifdefs. And replace CUDA_TRACE #ifdef mess with macros, Change-Id: I20d6e2d8d951fc643253beb8bc4984d5eb0bd011 01 February 2017, 02:41:53 UTC
ef5ce8e Code cleanup, missing 1/r term in theta acceleration 01 February 2017, 02:35:21 UTC
ae9acab Added configure option --enable-m6kernel to select the cubic kernel Selecting this at configure time will #define M6KERNEL 01 February 2017, 02:14:04 UTC
2df7c0d GPU: change partMap (map of remote particles on GPU) to std::unordered_map. Change-Id: I15c9115377b297072d31fa6881e4d7e20bb6804c 29 January 2017, 02:10:26 UTC
65ddd66 Fix definition of theta 27 January 2017, 20:41:53 UTC
7404711 Added DAMPING compile-time macro and compile-time option for glass damping 26 January 2017, 01:29:58 UTC
0073309 Added a test for the damping force in the testdamping/ folder The test is basically the spherical collapse test with all particles moving along the z-axis. The z-velocity of the sphere should damp exponentially. 26 January 2017, 01:07:31 UTC
67de80e Added a damping force, useful for generating glasses. The damping force applies to all particles and models a force of the the form: v_dot = -a * v This generates exponentially decaying velocities: v = v0 * exp(-a * t) In the equations above, a is given by the runtime parameter dGlassDamper, which is the inverse timescale of the damping. 26 January 2017, 01:04:32 UTC
d9859e8 Get rid of calls to trig functions 25 January 2017, 01:20:52 UTC
6cb5b82 Merge branch 'CullenDehnen_public' of github.com:N-BodyShop/changa_uw into CullenDehnen_public 18 January 2017, 23:50:03 UTC
f15de51 Initialize a guess at sound speed. Initialize PdV for 1st timestep. 18 January 2017, 23:49:04 UTC
03c27de particleGravityComputation optimizations Change-Id: I5f96c11e168d453c3abb6a4a459fd3080bf1730d 18 January 2017, 23:13:27 UTC
583924e optimized nodeGravity kernel add comment on launch_bound value Change-Id: Ia46146a98776de3df694ef12d032df0e6d752c52 17 January 2017, 17:42:41 UTC
ed03017 Increment treeAcceleration 17 January 2017, 04:16:41 UTC
0a81694 Merge pull request #155 from N-BodyShop/rand_fix DataManager::combineLocalTrees(): don't reset random number generator. 16 January 2017, 19:01:32 UTC
e9dde62 DataManager::combineLocalTrees(): don't reset random number generator. 16 January 2017, 03:44:32 UTC
4a4b7d5 Forgot external gravity parameters 15 January 2017, 05:11:23 UTC
b63688e Central multipole potential 14 January 2017, 21:27:42 UTC
24116de Restarts from checkpoint: an initial Domain Decomposition is needed because we don't save domain boundaries. 05 January 2017, 03:46:24 UTC
052f534 DenDvDxSmoothParams::postTreeParticle(): only update gas particles. 03 January 2017, 16:48:30 UTC
53b3b1f Restart from checkpoints: don't recalculate forces. This makes restarts from checkpoints good to within roundoff. 02 January 2017, 20:08:34 UTC
6358003 Fixed parallel bug in marksmooth: a combiner is needed. 30 December 2016, 01:19:25 UTC
69a4364 TreePiece::adjust(): add extrapolation of Courant time. Also fix typo in this in the getPressure functions. 30 December 2016, 00:57:43 UTC
c6f8630 Changed nSmooth command line argument for Gasoline compatibility. 28 December 2016, 20:33:02 UTC
7226ccd SphPressureTerms cleanup to avoid conflicts. 28 December 2016, 16:36:01 UTC
f795ee1 Cleanup: spaces and unused variables. 28 December 2016, 16:01:16 UTC
f5fa5fb Undo testcollapse rearrangement. 28 December 2016, 05:57:47 UTC
e0441f0 Restarts with Cullen Alpha. 28 December 2016, 04:56:35 UTC
acdfffe OldDivV is now unused. 28 December 2016, 02:57:09 UTC
back to top