df821c0 | Thorsten Becker | 08 December 2010, 18:43:58 UTC | Added definition of TRUE (1) and FALSE (0) in case undefined (was defined for GMT/ggrd compile before). | 08 December 2010, 18:43:58 UTC |
cf7495e | Thorsten Becker | 08 December 2010, 00:54:48 UTC | Addded a test for top or bottom nodal row back into horizontal_bc (earlier moved from Regional_boundary_conditions and Full_boundary_conditions to BC_util.c) to see if this helps fix a bug reported by Dan that I could not reproduce in the non-pyre version. | 08 December 2010, 00:54:48 UTC |
9bc8fb6 | Thorsten Becker | 12 October 2010, 06:36:01 UTC | More accurate computation of element coordinates in anisotropic part. | 12 October 2010, 06:36:01 UTC |
010b460 | Thorsten Becker | 24 September 2010, 03:35:36 UTC | Augmented G matrix with anisotropic computation, may or may not be a good idea. | 24 September 2010, 03:35:36 UTC |
cbf9149 | Thorsten Becker | 15 September 2010, 10:40:50 UTC | Missed one routine. | 15 September 2010, 10:40:50 UTC |
1e59dd6 | Thorsten Becker | 15 September 2010, 10:36:58 UTC | Suggested use of general prototypes Retired N>3 matrix determinant functions (because they caused compile problems) | 15 September 2010, 10:36:58 UTC |
0c84e99 | Thorsten Becker | 14 September 2010, 01:08:34 UTC | Read in sdepv_misfit regardless of rheology. | 14 September 2010, 01:08:34 UTC |
bf59b6b | Thorsten Becker | 13 September 2010, 14:07:10 UTC | Added option to start with isotropic viscosity during first anisotropic iteration. | 13 September 2010, 14:07:10 UTC |
a112ea8 | Thorsten Becker | 13 September 2010, 12:01:43 UTC | Forgot part of the rotation matrix, minor fixes else, still experimental. | 13 September 2010, 12:01:43 UTC |
ab35881 | Thorsten Becker | 13 September 2010, 07:13:07 UTC | Made sure current version compiled nicely without additional flags. Anisotropic viscosity is set up more flexibly. | 13 September 2010, 07:13:07 UTC |
b5d6c30 | Thorsten Becker | 07 September 2010, 07:05:09 UTC | Made sure that viscosity prefactors get assigned for material dependent viscosity only (TDEPV = off) | 07 September 2010, 07:05:09 UTC |
a345eef | Thorsten Becker | 07 September 2010, 02:22:48 UTC | Added random number generator initialization to ensure exact reproducibility of all runs, including those with tracers. Earlier reported solver issues might be related to our cluster, at least all revisions seems to give the same answer now. | 07 September 2010, 02:22:48 UTC |
1cf026d | Thorsten Becker | 07 September 2010, 01:40:02 UTC | Checking in current version because of need for debugging. Revision 17172, compared to (presumably) 17153 give strange multigrid convergence behavior. Checking why that is now. | 07 September 2010, 01:40:02 UTC |
1efa65c | Thorsten Becker | 06 September 2010, 05:20:44 UTC | Trial implementation of anisotropic viscosity. | 06 September 2010, 05:20:44 UTC |
4ecc25c | Eh Tan | 30 August 2010, 20:41:40 UTC | Added support of multigrid solver in Exchanger. Lifted the solver assertion in Coupler. Cookbook9 can be converted to multigrid solver once appropriate parameters (*solver.mesher.levels=2 and *solver.vsolver.Solver=multigrid) are added. However, the embedded solver will converge incorrectly. Setting esolver.vsolver.accuracy=6e-3 seems to fix the problem. | 30 August 2010, 20:41:40 UTC |
bd28b8f | Thorsten Becker | 25 May 2010, 02:47:46 UTC | And a typo fix. | 25 May 2010, 02:47:46 UTC |
f71b317 | Thorsten Becker | 24 May 2010, 18:00:39 UTC | toplayerbc > 0 will now assign BCs for all noes with r >= toplayerbc_r, which defaults to 0.984303876942 i.e. 100 km depth. (Still experimental.) | 24 May 2010, 18:00:39 UTC |
ed7e8ae | Thorsten Becker | 12 March 2010, 00:41:46 UTC | Improvements for internal BCs. | 12 March 2010, 00:41:46 UTC |
b732e74 | Thorsten Becker | 10 March 2010, 19:55:02 UTC | This logic should make more sense for internal BCs, but still testing. | 10 March 2010, 19:55:02 UTC |
8a2427e | Thorsten Becker | 10 March 2010, 19:38:15 UTC | Experimental implementation of a single node layer for internal boundary condition assignment, assigned if toplayerbc < 0, to nodes at layer noz+toplayerbc, but only for the top level multigrid, for now. | 10 March 2010, 19:38:15 UTC |
70a834f | Walter Landry | 26 February 2010, 21:04:48 UTC | Fix a misleading comment | 26 February 2010, 21:04:48 UTC |
4ff7faa | Walter Landry | 02 February 2010, 23:41:21 UTC | Fix an error when running autoreconf -i | 02 February 2010, 23:41:21 UTC |
f5834c5 | Thorsten Becker | 01 February 2010, 19:43:36 UTC | Changed internal variable name for use_se_smoothing, as per Eh's suggestion. | 01 February 2010, 19:43:36 UTC |
2a3b029 | Thorsten Becker | 29 January 2010, 14:48:36 UTC | Added old CitcomS element -> nodes -> element viscosity smoothing with new use_ne_visc_smooth parameter, default is off. | 29 January 2010, 14:48:36 UTC |
8bb44b5 | Eh Tan | 21 January 2010, 21:23:26 UTC | Added pyre input for the new parameters added in r16138. | 21 January 2010, 21:23:26 UTC |
3ad8c8c | Eh Tan | 21 January 2010, 21:22:46 UTC | Replaced fixed accuracy setting. Bug reported by Rob Moucha. | 21 January 2010, 21:22:46 UTC |
c4154bc | Eh Tan | 21 January 2010, 20:11:11 UTC | Added opendx macro to visualize opt (e.g. composition) fields. This fixed Issue99. | 21 January 2010, 20:11:11 UTC |
0dc0383 | Dan Bower | 17 January 2010, 01:19:24 UTC | Preliminary support for the absolute tracer method. Only tested with one flavor, reading in from a file, and the initial volume of the tracers is HARD-CODED! In addition, the code automaticaly truncates the composition to one, although this should be a switch for the user to specify. | 17 January 2010, 01:19:24 UTC |
110bd1c | Thorsten Becker | 16 January 2010, 02:47:04 UTC | Implementation of two, perhaps entirely unnecessary features, in search of why certain prescribed velocity models do not converge like they should. - allow for each inner loop solution to have a higher accuracy than the outer, Uzawa loop. This is set by new parameter "inner_accuracy_scale", which pre-multiplies the inner accuracy (imp) setting (defaults to unity) - remove any rigid body rotation at each Uzawa iteration step. Parmaeter "inner_remove_rigid_rotation", by default off. For this, I also added an experimental routine assign_v_to_vector() in order to reasign the V velocities to the U solution vector after removing the net rotations from V (how is supposed to work for the regular operational mode?) | 16 January 2010, 02:47:04 UTC |
33e0d0b | Eh Tan | 09 December 2009, 02:25:05 UTC | Replaced TRUE and FALSE. Added function prototypes. | 09 December 2009, 02:25:05 UTC |
ef97d2c | Eh Tan | 08 December 2009, 21:44:25 UTC | Added two boolean parameters for controlling convergence criterion: check_continuity_convergence (default=on): include div/v in the criterion. check_pressure_convergence (default=on): include dp/p in the criterion. Retired the parameter: only_check_vel_convergence. | 08 December 2009, 21:44:25 UTC |
7efded4 | Eh Tan | 08 December 2009, 21:43:38 UTC | removed unused variables in Drive_solvers.c | 08 December 2009, 21:43:38 UTC |
e829bf5 | Eh Tan | 08 December 2009, 21:43:15 UTC | Merged solve_constrained_flow_iterative_pseudo_surf() with void solve_constrained_flow_iterative(); assemble_forces_pseudo_surf() wi Removed used python bindings in module/stokes_solver.c | 08 December 2009, 21:43:15 UTC |
0c6082f | Thorsten Becker | 08 December 2009, 17:19:49 UTC | Truly apply internal boundary conditions on horizontal surfaces for E->mesh.toplayerbc > 0 (default, of course, 0) | 08 December 2009, 17:19:49 UTC |
025e452 | Thorsten Becker | 04 December 2009, 23:16:49 UTC | Modified handling of internal BCs, as per Eh's suggestion, now handled in a separate function. | 04 December 2009, 23:16:49 UTC |
21c984f | Eh Tan | 04 December 2009, 21:57:59 UTC | Removed metioning the version number in README. Added the url of the manual. | 04 December 2009, 21:57:59 UTC |
e20fdfc | Thorsten Becker | 04 December 2009, 17:44:24 UTC | Suggested unified treatment of horizontal_bc (moved to BC_util) for review by Eh Improved handling of grd-read velocity and traction boundary conditions. | 04 December 2009, 17:44:24 UTC |
45144ae | Thorsten Becker | 04 December 2009, 02:33:07 UTC | Temporary fix for regular operations, for Eh's review. Ggrd assignment still needs tending to. | 04 December 2009, 02:33:07 UTC |
1f61de1 | Thorsten Becker | 03 December 2009, 23:51:48 UTC | Experimental implementation of internal stress or velocity boundary conditions. As of right now, toplayerbc > 0 (default = 0) will assign the surface boundary condition to all nodes within the first toplayerbc layers. If BCs are assigned from file, this will only work for the grd method, not the regular file I/O. | 03 December 2009, 23:51:48 UTC |
adf8b19 | Thorsten Becker | 21 November 2009, 00:15:57 UTC | Exit criterion for incompressibility iteration allowed for velocity and pressure convergence at finite compressibility > accuracy. Changed criterion to loop while (convergence < 2) OR (compressibility < imp) Please review Also modified the sloppy iteration branch, where pressure isn't checked. | 21 November 2009, 00:15:57 UTC |
5f38ecb | Eh Tan | 20 November 2009, 21:58:43 UTC | Clean up #include | 20 November 2009, 21:58:43 UTC |
aca8438 | Eh Tan | 20 November 2009, 21:58:26 UTC | Fixed two minor errors | 20 November 2009, 21:58:26 UTC |
0ba4cb4 | Eh Tan | 19 November 2009, 23:11:05 UTC | Created a new array E->sphere.gr for the radii of all layers. This makes gather_r() obsolete. | 19 November 2009, 23:11:05 UTC |
7ae00fb | Eh Tan | 19 November 2009, 23:09:04 UTC | refactor viscosity definition | 19 November 2009, 23:09:04 UTC |
8e9f046 | Eh Tan | 19 November 2009, 23:08:27 UTC | 'localhost' can abbr. as '-' | 19 November 2009, 23:08:27 UTC |
09cea7d | Thorsten Becker | 14 October 2009, 18:26:26 UTC | Changed defaults for z_410, z_lmantle, z_lith to more Earth like parameters. Does this break any tests? | 14 October 2009, 18:26:26 UTC |
3ee0608 | Thorsten Becker | 13 October 2009, 16:37:49 UTC | Fixed typo. | 13 October 2009, 16:37:49 UTC |
0271108 | Eh Tan | 08 October 2009, 18:01:00 UTC | z_layer needs 4 elements | 08 October 2009, 18:01:00 UTC |
4e0b2f4 | Dan Bower | 07 October 2009, 04:39:33 UTC | added only_check_vel_convergence to pyre version. | 07 October 2009, 04:39:33 UTC |
4b0faab | Thorsten Becker | 06 October 2009, 18:48:28 UTC | Modified handling of ggrd_mat_control, > 0 will select all layers above, < 0 will select individual layer == - ggrd_mat_control | 06 October 2009, 18:48:28 UTC |
ee214e5 | Eh Tan | 05 October 2009, 19:06:34 UTC | Add pyre binding of z_layer, r_grid_layers, rr, and nr. replace MAX_MAT with CITCOM_MAX_VISC_LAYER. | 05 October 2009, 19:06:34 UTC |
2622434 | Eh Tan | 05 October 2009, 19:05:33 UTC | Refactoring z_layer input validation. | 05 October 2009, 19:05:33 UTC |
599ab80 | Eh Tan | 05 October 2009, 19:05:04 UTC | Dealing with tracers that belong to the current processor but cannot find its element. When itracer_warning is off, the code will ignore the lost tracers. When itracer_warning is on (default), the code will abort. | 05 October 2009, 19:05:04 UTC |
a3b2b41 | Thorsten Becker | 02 October 2009, 23:16:39 UTC | Experimental traction surface BC from grds. | 02 October 2009, 23:16:39 UTC |
11d52ac | Eh Tan | 28 September 2009, 20:08:25 UTC | visc_layer_control: allowing each radial layer has its own viscosity parameters When "visc_layer_control" is true, the file "visc_layer_file" is read in. The format of visc_layer_file: param_nameA Aval_1 Aval_2 ... Aval_nel param_nameB Bval_1 Bval_2 ... Bval_nel . . . The first line is assigned to the basal layer (CMB), and the last line to the surface layer. Note that each parameter has nodez-1 values. | 28 September 2009, 20:08:25 UTC |
e407de4 | Eh Tan | 28 September 2009, 20:05:38 UTC | clean up unused viscosity variables | 28 September 2009, 20:05:38 UTC |
bb0c1ea | Eh Tan | 28 September 2009, 20:05:03 UTC | Fixed a bug in pseudo free surface, reported by Robert Moucha. | 28 September 2009, 20:05:03 UTC |
f173a47 | Eh Tan | 28 September 2009, 20:04:38 UTC | remove duplicating prototype declaration | 28 September 2009, 20:04:38 UTC |
5f0f67f | Eh Tan | 03 September 2009, 17:24:47 UTC | Added pyre binding for write_q_files | 03 September 2009, 17:24:47 UTC |
3024d9f | Eh Tan | 03 September 2009, 17:24:19 UTC | Added a warning message about tracer + coupling | 03 September 2009, 17:24:19 UTC |
37b376d | Thorsten Becker | 25 August 2009, 19:54:47 UTC | Forgot one valid check for Uzawa iterations. | 25 August 2009, 19:54:47 UTC |
ba42e48 | Thorsten Becker | 25 August 2009, 17:31:36 UTC | Ensure that Uzawa solver does not converge if low level, MG solver does not yield a valid solution. | 25 August 2009, 17:31:36 UTC |
57faf89 | Thorsten Becker | 21 August 2009, 20:32:56 UTC | test implementation of steady state strain-rate weakending via PDEPV psrw=on parameter. | 21 August 2009, 20:32:56 UTC |
4b24572 | Eh Tan | 11 August 2009, 17:48:33 UTC | Add Murnaghan's integrated linear EoS as reference_state=2 | 11 August 2009, 17:48:33 UTC |
9157604 | Eh Tan | 11 August 2009, 17:47:36 UTC | Add gather_r() to gather all radial coordinates | 11 August 2009, 17:47:36 UTC |
a0d609e | Eh Tan | 11 August 2009, 17:35:23 UTC | Adding augmented Lagrangian component of stiffness matrix in cbf topo | 11 August 2009, 17:35:23 UTC |
e5a69cd | Leif Strand | 04 August 2009, 01:45:56 UTC | The function collect_terms() turns out to be quite expensive (over 70% according to gprof). Perform it once per level, caching the result. | 04 August 2009, 01:45:56 UTC |
6957a07 | Leif Strand | 29 July 2009, 20:16:08 UTC | Fixed the remaining bug in n_assemble_del2_u(). Glancing at "global_defs.h", I had assumed that VBX, VBY, and VBZ were defined in the natrual way: #define VBX 0x2 #define VBY 0x4 #define VBZ 0x8 I.e., "0x1 << doff"... but today I looked at it more closely; Y & Z are reversed!!! #define VBX 0x2 #define VBZ 0x4 #define VBY 0x8 With this fix, the CUDA multigrid solver seems to work correctly. | 29 July 2009, 20:16:08 UTC |
6a06281 | Thorsten Becker | 29 July 2009, 04:05:42 UTC | Ensure debugging output for ggrd_vtop mixed BC if more than one CPU with depth is used. Previous check in of precise_strain_rate=on mode seems to be OK, stress, geoid, and dynamic topo output (for cbf topo off) have been tested. | 29 July 2009, 04:05:42 UTC |
b9278a2 | Leif Strand | 28 July 2009, 01:00:36 UTC | Experiments show that using a block size of 1 leads to poor performance. Using the recommended minimum of 64, gauss_seidel_0 and gauss_seidel_1 are about 3x to 4x faster. | 28 July 2009, 01:00:36 UTC |
b500001 | Leif Strand | 27 July 2009, 23:44:52 UTC | Fixed stupid reduce bug that affected several routines. (This is what I get for coping & pasting example code without thinking.) Now the only remaining broken routine is n_assemble_del2_u(). | 27 July 2009, 23:44:52 UTC |
9a97294 | Leif Strand | 25 July 2009, 02:48:38 UTC | Wrote two new versions of gauss_seidel_2() -- neither of which is very parallel. Both produce similar wrong answers. | 25 July 2009, 02:48:38 UTC |
fb1101a | Thorsten Becker | 24 July 2009, 01:03:47 UTC | This version of precise strain-rates may now be worth testing out. | 24 July 2009, 01:03:47 UTC |
1c4fd5d | Thorsten Becker | 23 July 2009, 18:40:41 UTC | Corrected call to get_ba in Topo_gravity for precise_strain_rate, still testing. Rest should be cosmetic. | 23 July 2009, 18:40:41 UTC |
b2a7cb3 | Leif Strand | 23 July 2009, 03:50:26 UTC | This junk is my effort to understand gauss_seidel_2(). Because of the way E->temp[] is used, it is quite difficult (impossible?) to parallelize. I even wrote code to generate a "dot" graph of the expression tree. Of course, this tree is too big to plot in its entirety. With neq == 2187, the tree has 87479 nodes and is 355 levels deep; each level can have anywhere from a handful to several hundred nodes, with over a thousand nodes in each of the bottommost layers. | 23 July 2009, 03:50:26 UTC |
02a3b02 | Thorsten Becker | 22 July 2009, 20:17:11 UTC | Tentative check in of stress computation modification such that Eh can take a look of what we're working on. | 22 July 2009, 20:17:11 UTC |
5bfdbd3 | Leif Strand | 17 July 2009, 21:22:38 UTC | Created drop-in, host-side replacements for each of the multigrid kernel functions. After swapping them in/out, it seems n_assemble_del2_u(), gauss_seidel_2(), and gauss_seidel_3() are all buggy :-( Both gauss_seidel_0() and gauss_seidel_1() appear to be OK... but that isn't worth writing home about, because they are both trivial. | 17 July 2009, 21:22:38 UTC |
9d02f10 | Leif Strand | 16 July 2009, 03:13:33 UTC | New scaffolding with annotations. | 16 July 2009, 03:13:33 UTC |
25fc342 | Leif Strand | 16 July 2009, 00:49:42 UTC | Bug fixes... still doesn't work right. | 16 July 2009, 00:49:42 UTC |
60515e6 | Leif Strand | 15 July 2009, 21:54:24 UTC | Wrote code to allocate & initialize device memory, and copy the result from the device. | 15 July 2009, 21:54:24 UTC |
0bef9e8 | Leif Strand | 15 July 2009, 01:58:53 UTC | Parallelized the last fragment of the gauss_seidel() main loop as gauss_seidel_3(). It turns out to be very similar to the second half of n_assemble_del2_u(). Tore down scaffolding. | 15 July 2009, 01:58:53 UTC |
362c2e3 | Leif Strand | 15 July 2009, 00:14:53 UTC | Parallel n_assemble_del2_u() takes shape. | 15 July 2009, 00:14:53 UTC |
3e27612 | Leif Strand | 10 July 2009, 22:15:02 UTC | Pardon my dust... tally_n_assemble_del2_u() is instrumention and printfs I wrote in order to understand n_assemble_del2_u(). As with e_assemble_del2_u(), it appears I need one block for each Au[i] element, with a reduction in shared memory. | 10 July 2009, 22:15:02 UTC |
5825a00 | Dan Bower | 10 July 2009, 21:08:14 UTC | include density (rho) scaling in convective heat flux (necessary for compressible flow) | 10 July 2009, 21:08:14 UTC |
e0d4a44 | Dan Bower | 09 July 2009, 20:40:10 UTC | Second material element file only read in and processed when (pos_age) criteria met (i.e. consistent with vel b.c. approach). | 09 July 2009, 20:40:10 UTC |
0ee4a4c | Thorsten Becker | 09 July 2009, 17:27:41 UTC | Only one processor complains about removing rigid rotations while prescribing plate motions. | 09 July 2009, 17:27:41 UTC |
67d7472 | Leif Strand | 06 July 2009, 22:13:05 UTC | Make sure "-arch sm_13" is given -- for double-precision floating-point. Added missing #ifndef USE_CUDA. | 06 July 2009, 22:13:05 UTC |
735ae7c | Leif Strand | 02 July 2009, 18:41:00 UTC | Sketched data-parallel version of gauss_seidel(). I haven't figured out how to parallelize the following: Au[C[i]] += ... Ad[C[j]] += ... | 02 July 2009, 18:41:00 UTC |
43a1aa4 | Leif Strand | 01 July 2009, 19:09:31 UTC | Fixed a pair of mistakes I made: under cgrad, don't replace solve_del2_u(); under multigrid, 'level' is not a constant. | 01 July 2009, 19:09:31 UTC |
678e5fc | Leif Strand | 30 June 2009, 22:33:19 UTC | The 'temp1' array is unnecessary since nproc == 1. | 30 June 2009, 22:33:19 UTC |
9743b5e | Leif Strand | 29 June 2009, 22:10:40 UTC | For my own sanity, simplified code assuming the following: E->sphere.caps_per_proc == 1 E->parallel.nproc == 1 E->mesh.levmax == 0 E->mesh.nsd == 3 | 29 June 2009, 22:10:40 UTC |
87a1bca | Leif Strand | 29 June 2009, 20:18:25 UTC | Proposed CUDA kernel for multigrid solver. | 29 June 2009, 20:18:25 UTC |
d01a1c7 | Eh Tan | 25 June 2009, 16:51:10 UTC | forgot to add these files | 25 June 2009, 16:51:10 UTC |
f038904 | Eh Tan | 15 June 2009, 18:21:41 UTC | Update ChangeLog to r15180 | 15 June 2009, 18:21:41 UTC |
9a9cbd3 | Eh Tan | 10 June 2009, 20:42:43 UTC | Added COND_GGRD flags; removed redundant LIBS | 10 June 2009, 20:42:43 UTC |
c5915dc | Eh Tan | 10 June 2009, 20:41:31 UTC | Checking malloc.h earlier to initialize even when not using pyre | 10 June 2009, 20:41:31 UTC |
055dd50 | Eh Tan | 10 June 2009, 17:49:35 UTC | checking netcdf header and library | 10 June 2009, 17:49:35 UTC |
aa8a0ac | Eh Tan | 10 June 2009, 04:11:35 UTC | Append GMTHOME/lib to LD path | 10 June 2009, 04:11:35 UTC |
55d0112 | Eh Tan | 09 June 2009, 23:47:35 UTC | Adding ggrd compilation support | 09 June 2009, 23:47:35 UTC |
03dafa6 | Eh Tan | 08 June 2009, 21:03:32 UTC | One more feature and mention where to find the features in the cookbooks. | 08 June 2009, 21:03:32 UTC |