schroder2
3da9dca838
Added threading to hypre_BoomerAMGInterpTruncation(...) in par_interp.c.
...
This also included adding OpenMP barrier and critical region functionality.
2011-12-16 23:34:56 +00:00
kolev1
e80453a58d
Fixed a typo.
2011-12-13 16:39:55 +00:00
kolev1
24e42a6494
Improved the penalty scaling factor for AMS's discrete divergence term (which is
...
added to the matrix to handle robustly problems with pure void regions).
2011-12-12 18:14:57 +00:00
kolev1
c20de1d3de
Fixed a compiler warning.
2011-11-10 17:06:17 +00:00
kolev1
d65f1806e9
Do not use the ParBooleanMatmul hack in AMS when assumed partitioning is on
...
(since parallel Boolean matrices don't support it).
Switch back to the old version of cycle type 11.
2011-11-09 20:36:56 +00:00
kolev1
5ca56bbd3c
If no coarsening occurred in BoomerAMG, use the user relax type (instead of 0)
...
in order to allow for the setting of a convergent smoother.
This is necessary when solving problems with singular matrix to make sure that
BoomerAMG will be a solver (or at least that its error propagator will have
spectral radius <= 1).
2011-11-09 20:34:57 +00:00
kolev1
b653606ccb
Removed a double space.
2011-11-09 20:30:03 +00:00
kolev1
2bb7111a06
Final, final changes before 2.8.0b :)
2011-11-04 23:57:46 +00:00
kolev1
9976ea19fd
Final adjustments in ADS before the release.
2011-11-04 18:03:29 +00:00
kolev1
45d54ab4b5
Final adjustments in AMS before the release.
2011-11-04 17:38:15 +00:00
kolev1
b9b84bcd46
Extended ADS to support (arbitrary) high-order Raviart-Thomas discretizations.
...
Modified the high-order AMS interface.
2011-11-03 23:38:35 +00:00
kolev1
a45c5c0836
Added support for (arbitrary) high-order Nedelec finite element discretizations
...
in AMS.
Seems to be working quite well on hex meshes and reasonably well on tet meshes,
correlating with the performance of BoomerAMG on the associated high-order nodal
problems.
2011-11-02 20:22:21 +00:00
falgout
ca9e58b762
Added Euclid as a preconditioner.
2011-10-31 17:05:15 +00:00
ulrikey
b63cc0638a
added redundant coarse grid solve to hybrid solver
2011-10-24 17:51:26 +00:00
ulrikey
87eda39ed1
fixed memory leak
2011-10-14 14:32:21 +00:00
ulrikey
99fec2cdfe
fixed check-mpi
2011-10-14 14:28:55 +00:00
ulrikey
da68e11538
fixed various memory leaks
2011-10-13 17:54:49 +00:00
ulrikey
7f2cb77ff7
*** empty log message ***
2011-10-13 15:18:41 +00:00
ulrikey
261fa5e3dd
initialized Solve_err_flag
2011-10-13 15:12:38 +00:00
ulrikey
5ce8f6d6f9
fixed some .h issues
2011-10-13 15:04:09 +00:00
ulrikey
cc0f17879a
fixed check-mpi error messages
2011-10-13 14:52:05 +00:00
ulrikey
ff687aca04
included necessary portion of par_csr_block_matrix.h
2011-10-07 22:47:54 +00:00
ulrikey
ea98d377ac
fixed array size
2011-10-07 16:52:45 +00:00
ulrikey
ba57e3ef15
fixed MPI_INTs
2011-10-07 16:25:57 +00:00
ulrikey
3fa0921acb
changed MPI_COMM_NULL to hypre_MPI_COMM_NULL
2011-10-07 15:59:40 +00:00
ulrikey
d294df229a
changed MPI_COMM_SELF to hypre_MPI_COMM_SELF
2011-10-07 15:43:00 +00:00
ulrikey
3f02c458b9
replaced MPI calls with hypre_MPI calls and changed error check
2011-10-07 14:19:46 +00:00
ulrikey
c6a707fca0
Added the redundant coarse grid solve
2011-10-06 23:08:25 +00:00
ulrikey
046971b494
fixed a bug
2011-10-06 23:07:11 +00:00
kolev1
d7a5e3bb57
Added a new solver -- the Auxiliary-space Divergence Solver (ADS) which targets
...
div-div problems discretized with the lowest order Raviart-Thomas "face" finite
elements.
ADS is very similar to AMS, and in general its relationship to AMS is analogous
to the relationship between AMS and AMG.
2011-09-26 22:38:34 +00:00
kolev1
9be308db5f
Extended hypre_ParCSRSubspacePrec to work with arbitrary subspace solvers. This
...
way, it can also be used in ADS where we need to use AMS in a subspace.
Fixed a memory leak.
2011-09-26 22:34:01 +00:00
kolev1
5f034af3f2
Small adjustments in the description and the accessor functions for the
...
hypre_AMSData structure.
2011-09-26 22:31:44 +00:00
kolev1
902df21f62
Fixed indentation due to the HYPRE_Int transition.
2011-09-23 17:06:44 +00:00
kolev1
101791c65a
Made sure that the l1 smoothers can handle (partially) negative definite
...
matrices.
2011-09-13 18:03:43 +00:00
kolev1
1b619a2f10
Fixed the comment for hypre_AMSData.Pi.
2011-09-13 18:02:14 +00:00
ulrikey
46e3f8962f
fixed a bug
2011-05-20 14:35:37 +00:00
falgout
c33854e3d1
Changed 'int' to 'HYPRE_Int'
2011-05-06 15:08:11 +00:00
baker59
d704f1a861
updated comments
2011-05-03 19:10:18 +00:00
baker59
458dcc63b2
This is code for modifying interpolation weights in a least-squares manner to
...
fit a particular set of vectors. This was used in the Baker, Kolev, Yang elasticity paper, and was not particularly effective - therefore is not not compiled and accessed through hypre at this time.
2011-05-03 18:54:11 +00:00
falgout
0859f791e1
Changed the error control handling to use the new system.
2011-03-24 22:13:12 +00:00
kolev1
320aff47cd
Updated the AMS documentation in the User and Reference Manuals.
2011-01-27 19:49:44 +00:00
falgout
68b7b5518a
Changed 'long' to either 'hypre_longint' or 'HYPRE_Int'.
2011-01-27 19:46:14 +00:00
kolev1
43969388b5
Slight adjustment in the new l1-GS smoother (relax type 4 in AMS and 8 in
...
BoomerAMG) which significantly improves its performance.
2011-01-27 17:16:58 +00:00
falgout
3f0a439827
Changed the Fortran interface to use a Fortran MPI communicator.
...
Also implemented the new F90 types and macros for all of the interfaces.
2011-01-06 23:20:57 +00:00
kolev1
63f0d69abc
Fixed indentation after the transition to HYPRE_Int.
2011-01-04 01:05:27 +00:00
falgout
d636ba377d
Fixed the size of a Fortran communicator to be 'int' not 'HYPRE_Int'.
...
Changed the communicator type in all Fortran interface routines to use
the new hypre_F90_Comm type.
2010-12-21 19:34:30 +00:00
falgout
e3181f26b1
Added 64 bit feature using HYPRE_Int (see tracker [issue489] for details).
...
Changed MPI routines to hypre_MPI routines.
Added hypre_printf, etc. routines.
Added AUTOTEST tests to look for 'int' and 'MPI_' calls.
Added a new approach for the Fortran interface (not implemented everywhere yet).
2010-12-20 19:27:44 +00:00
baker59
e73c417e3d
Added a private variable for the l1 norm computation
2010-12-08 00:15:50 +00:00
baker59
fb7a432223
fixed typo in a AP variable name
2010-12-07 17:50:52 +00:00
baker59
f2dce0f0b5
commneted out unised variable
2010-11-30 22:21:29 +00:00
baker59
0f23d3c9ed
minor change to check num interp vectors
2010-11-30 22:16:23 +00:00
baker59
9bd0f1a8b5
Added the new elasticity interpolation routines.
2010-11-30 21:04:04 +00:00
ulrikey
6e302b0d5e
fixed a potential bug
2010-09-20 16:21:46 +00:00
ulrikey
8a7dafcdc4
eliminated redundant operations
2010-09-16 23:12:46 +00:00
baker59
6328bd984e
Fixed bug in OMP.
2010-09-16 22:09:22 +00:00
ulrikey
b19a7d4760
fixed a bug, which caused a seg fault in some cases
2010-09-16 21:51:17 +00:00
kolev1
4f82996b2f
Added the truncated l1-GS smoother based on Remark 6.2 from our smoothers paper
...
(this is relax_type 4). Updated hypre_ParCSRComputeL1Norms() to support CF mode,
whenever the provided cf_marker is not NULL.
2010-09-02 23:53:09 +00:00
kolev1
712b387e1d
Modified BoomerAMG relax option 8 to use the l1 norms from Remark 6.2 in the
...
smoothers paper and to also support CF smoothing. Moved the implementation from
ams.c to par_relax.c.
This smoother should behave more or less like option 6 when theta>1, but is
guaranteed to always be convergent.
2010-09-02 23:50:12 +00:00
kolev1
632fff9905
Added an l1_norms parameter to the BoomerAMG relaxation routines.
...
(I initially thought about putting the BoomerAMG solver data structure as an
extra parameter, but realized that the ParCSR smoothers are of general interest)
2010-09-02 23:47:08 +00:00
kolev1
a935cca407
Fixed a bug, where the destruction of GtAG freed the column partitioning
...
of G (which is a user input).
2010-08-04 00:07:51 +00:00
ulrikey
c0f329bc60
fixed a memory leak
2010-05-04 15:12:12 +00:00
baker59
6d4fe0dcc9
Added capability to do CF smoothing with L1-Jacobi.
2010-04-21 21:27:11 +00:00
ulrikey
e40c006e3a
fixed some bugs ( some if statements contained |= instead of != )
2010-04-15 22:52:59 +00:00
baker59
a49e3ae42d
Changed some comments for the manual.
2010-04-14 16:59:20 +00:00
falgout
0d22e61847
Added some commented-out code at the end of Setup to compute compatible
...
relaxation rates on all levels and print them out.
2010-04-02 17:48:47 +00:00
kolev1
058f6a8b71
Fixed a bug in the void-zone version of AMS, which sometimes produced
...
non-symmetric preconditioner.
2010-03-19 18:09:32 +00:00
baker59
246667fd8d
fixed bug with threaded L1-jacobi
2010-03-18 19:12:12 +00:00
baker59
d60adad0c5
Added new smoothers: Chebyshev (to AMG and AMS), FCF-Jaconi, and CG.
...
Added threaded version of L1-Jacobi.
2010-03-17 23:33:14 +00:00
falgout
a096e956b5
Added additional reference and user manual documentation for LOBPCG.
2010-01-29 22:32:52 +00:00
falgout
6fdb8c74fd
Changed to install only one hypre lib file.
2010-01-29 01:40:29 +00:00
ulrikey
7bb4c9a503
corrected the documentation
2010-01-25 23:30:20 +00:00
ulrikey
b5f55c8412
fixed some bugs
2010-01-25 18:55:07 +00:00
ulrikey
8b480e696d
fixed some warnings
2010-01-23 23:05:29 +00:00
ulrikey
b757593162
fixed a bug in par_nodal_systems that affected options nodal > 0
2010-01-22 23:55:24 +00:00
falgout
0d5b565145
Removed most of the ref docs for the storage-dependent Krylov routines.
2010-01-20 01:10:01 +00:00
ulrikey
e1706c594e
added some comments regarding SolveT and CGNR
2010-01-15 18:18:18 +00:00
baker59
a11e27ff7d
Updating the fortran interface.
2010-01-14 18:31:36 +00:00
falgout
9f26a7739a
Changed 'cp -fpd' to 'cp -fpPR' for better portability.
...
This should work on the Mac now in particular.
2010-01-14 18:17:53 +00:00
falgout
8ed12c2264
Added the release number to the names of hypre shared libraries (see [issue181]).
...
Also removed the HYPRE_LSI library because it was nearly identical to HYPRE.
2010-01-14 01:16:24 +00:00
ulrikey
955f0d9672
forced cycleT to always run relax type 7 or 9, since nothing else makes sense here.
2010-01-13 18:55:58 +00:00
kolev1
6344e65e12
Added math mode to some formulas.
2010-01-13 18:18:22 +00:00
kolev1
09e80c238a
Added a user function that project a given vector onto the compatible
...
subspace for problems with zero-conductivity regions. This is useful for
visualization of the solution, which otherwise will be polluted by kernel
components.
2010-01-13 03:15:03 +00:00
ulrikey
ef895d71ce
revert to old version since there is something funny going on
2010-01-13 00:49:52 +00:00
ulrikey
fc0df1425d
fixed a problem in cycleT
2010-01-13 00:19:56 +00:00
kolev1
06916c815c
Small changes to enable compulition on Windows with Visual C++.
2009-11-17 22:27:43 +00:00
ulrikey
565768fcb4
Warnings in interpolation routine are now only printed when print_level > 0
2009-11-12 23:39:18 +00:00
ulrikey
39c52c07b1
added new routines that enable threading for relax_type=8
2009-11-12 23:22:53 +00:00
baker59
ea3f736a2f
Fixed bug with new temporary vector.
2009-11-05 21:23:27 +00:00
baker59
5a957e930a
Updated the threading - which required the addition of a temporary vectory
...
to the BoomerAMGRelax function (used for relax 3 and 6).
2009-11-03 20:54:48 +00:00
baker59
ce948a6e3f
Fixed a bug in BoomerAMGSolveT routine and deleted some commented-out
...
code in the relax interface function.
2009-10-30 16:48:33 +00:00
ulrikey
3d09d3068a
fixed potential problem when using max_levels = 1
2009-10-23 21:39:46 +00:00
kolev1
f773fd6a32
Moved the solver_counter from AMSSolve() to the ams data structure. This
...
way multiple Setup()+Solve() calls will give identical results.
2009-10-15 20:25:42 +00:00
kolev1
df0528b310
Plugged a memory leak.
2009-09-18 22:48:49 +00:00
kolev1
7946048c89
Several improvements in the zero-conductivity-regions version of AMS, which
...
should give a cheaper and more robust solver on most problems.
2009-08-31 22:20:03 +00:00
ulrikey
08a41748fc
removed unused variables
2009-08-18 14:23:35 +00:00
ulrikey
f067b77a82
fixed various memory leaks
2009-08-14 17:49:14 +00:00
ulrikey
81b4a12219
added new interpolation operators for aggressive coarsening
2009-08-13 22:43:47 +00:00
kolev1
b88deab80f
Added a more robust version of AMS for problems with zero-conductivity regions,
...
where the matrix is singular Ker(A)=Ran(G0).
To use this version, provide a list of the interior nodes in the zero
conductivity region using AMSSetInteriorNodes(). This will constructs G0 and AMS
for A+G0G0^T. For compatibility, the PCG residual is periodically projected
onto Ker(G0^T). This is done in AMSSolve() and can be adjusted with
AMSSetProjectionFrequency().
2009-07-20 00:36:39 +00:00
ulrikey
1673b0bbdc
*** empty log message ***
2009-05-05 16:36:36 +00:00
ulrikey
6c86d7f019
nitialzed plot_file_name with empty string
2009-05-05 16:25:46 +00:00