Commit Graph
104 Commits
Author SHA1 Message Date
Will Pazner ed64627036 Backsolve for block ILU(0) 2020-01-11 11:37:04 -08:00
Will Pazner c9aeaaa987 Compute ILU factorization 2020-01-10 15:19:51 -08:00
Julian Andrej de62699685 formatting 2020-01-10 11:30:26 -08:00
Will Pazner eb810785b8 Bug fix and better test 2020-01-10 11:23:52 -08:00
Will Pazner c20ed196e8 Extract blocks for BILU(0) 2020-01-10 10:54:45 -08:00
Julian Andrej af72ea98f3 Merge branch 'master' into bilu0 2020-01-10 10:30:18 -08:00
Julian Andrej 21e87e278c Formatting and Finalized check 2020-01-10 10:18:09 -08:00
Julian Andrej dbd2bbc8b7 Block pattern scan for ILU 2020-01-10 10:04:34 -08:00
Veselin Dobrev 94da8d4a90 Fix an issue in class OperatorJacobiSmoother.
Unified the implementation of AssembleDiagonal in one place
in BilinearForm which also works in parallel (using the virtual
call GetProlongationMatrix).
2020-01-09 16:16:30 -08:00
Daniel Drzisga 7cbb0d4848 Merge branch 'master' into drzisga/multigrid 2020-01-06 21:06:23 +01:00
Tzanio b0a79d993b Final adjustments 2020-01-05 21:50:25 -08:00
Andrew T. Barker 9f691f5460 Address issues from reviews by Veselin and Tzanio. 2020-01-03 13:22:11 -08:00
Tzanio 096951e913 Merge branch 'master' into feature/okina-jacobi 2020-01-02 12:54:50 -08:00
Tzanio 80552e0d7c Small edits 2020-01-02 12:54:16 -08:00
Daniel Drzisga b843a613bb Merge branch 'feature/okina-jacobi' into drzisga/multigrid 2019-12-29 21:18:22 +01:00
Daniel Drzisga 90ed3f67ef Merge branch 'master' into drzisga/multigrid 2019-12-27 21:24:18 +01:00
Andrew T. Barker 174f93a44e Rename variable in OperatorJacobiSmoother::Setup(). 2019-12-17 13:53:31 -08:00
Tzanio 3328df08d8 Merge branch 'master' into hiop-dev
Conflicts:
	CHANGELOG
2019-12-16 16:01:25 -08:00
Tomov 242557fe13 Minor. 2019-12-10 10:47:43 -08:00
camierjs ad6559f673 Vector functions coeffs 2019-10-09 11:35:58 -07:00
Daniel Drzisga 30dc561773 Added reference to Chebyshev accelerated smoother implementation 2019-10-07 09:25:24 -07:00
Daniel Drzisga f5f193ba67 Added first version of matrix-free Chebyshev smoother. 2019-09-05 08:39:05 -07:00
Andrew T. Barker fa9cea9486 Rename VectorSmoother -> OperatorJacobiSmoother 2019-08-21 16:45:48 -07:00
Vladimir Tomov 52c90d03cb Merge branch 'master' into hiop-dev
Conflicts:
	CMakeLists.txt
	config/cmake/config.hpp.in
	config/config.hpp.in
	config/defaults.cmake
	config/defaults.mk
	makefile
2019-08-20 15:17:19 -07:00
Vladimir Tomov bc44bfdbe2 Merge branch 'master' into tmop-adaptivity
Conflicts:
	miniapps/meshing/mesh-optimizer.cpp
	miniapps/meshing/pmesh-optimizer.cpp
2019-07-05 13:43:14 -07:00
camierjs 53cd24ebfb 2D Jacobi diffusion kernel on GPU 2019-06-27 16:40:25 -07:00
Andrew T. Barker d72c0d524f solvers: draft a (potentially partially assembled) VectorSmoother 2019-06-26 13:27:49 -07:00
Veselin Dobrev 40378a046b Introduce a new Memory class for handling host + device allocations
and transfers.

The Memory class is now used by some MFEM classes (like Array and
Vector) which can be used on the Device. Such classes now provide
methods to access the underlying Memory object, e.g. GetMemory.

Updated ex1/ex1p and ex6/ex6p to not need to enable/disable the
Device at specific points -- the Device is now enabled just at the
start. Also, the same examples can now run on Device (e.g. -d cuda)
without the partial assembly option (-pa) -- full assembly will
be still done on CPU but the sparse matrix action and vector
operations will be done using the Device.

Reverted changes in class DenseMatrix related to using the Device.
At this point, DenseMatrix operations are only used for small matrices
and using the Device in this case is not a good option.
2019-05-16 14:53:39 -07:00
Vladimir Tomov 37abc5dbf7 Travis errors. 2019-03-26 14:07:30 -07:00
Tomov 4bf8206469 Code for discrete adaptivity example. 2019-02-10 21:45:32 -08:00
Vladimir Tomov a6ab978d8e Const declarations. 2019-01-08 15:16:44 -08:00
Vladimir Tomov 8877d4f3e6 Minor. 2018-12-28 15:50:16 -08:00
Vladimir Tomov 2544806e9f Merge branch 'master' into hiop-dev 2018-11-14 18:21:52 -08:00
Stowell, Mark L fc3c0743ae Altering FGMRES to use the same iteration/pass numbers used in GMRES 2018-11-01 16:05:03 -07:00
Stowell, Mark L 684fbcb2e6 Changing to FGMRES to work with no preconditioner (Yes, I know... why not just use GMRES if you don't have a preconditioner?) 2018-11-01 15:44:06 -07:00
Vladimir Tomov c7f41cd462 Updated the serial example. 2018-10-12 17:51:23 -07:00
Vladimir Tomov d047e98606 Simplified the OptimizationProblem interface for the objective.
Redefined some of the adapter methods to use the new interface.
2018-09-24 13:05:15 -07:00
Vladimir Tomov 811887c907 Added OptimizationProblem to OptimizationSolver, updated the
SLBQP interface.
2018-09-18 14:18:54 -07:00
Vladimir Tomov 4f63327b39 Simplified OptimizationProblem. 2018-09-18 11:53:39 -07:00
Vladimir Tomov 00f365e0a7 Introduced class OptimizationProblem that defines MFEM's interface
for specifying optimization problems.
2018-09-17 12:40:42 -07:00
Cosmin G. Petra 1538784329 reorganized optimizer solver class and updated Hiop implementation class(es)
- added an abstract class OptimizationSolver (inheriting from IterativeSolver) common to all optimizers
- Hiop optimizers returns the solution
- spec class for Hiop updated
    - to work with local vectors
    - to correctly copy from input mfem vectors
    - compute vector distribution without relying on dynamic casts to hypre vectors
- plus other smallish changes
2018-08-15 16:39:56 -07:00
Veselin Dobrev c6dafc6483 A set of small fixes and cleanups uncovered by static analysis with
clang static analyzer.
2017-12-09 16:12:35 -08:00
Tzanio Kolev bac8f5c330 Merge branch 'master' into xsdk-cpissues-dev 2017-11-02 07:43:37 -07:00
Veselin Dobrev 4c2c0864bf A couple of updates in class NewtonSolver:
* Print the relative error, ||r||/||r_0||, in addition to the
  absolute error, ||r||.

* In the method ComputeScalingFactor, pass the optional rhs, b,
  instead of the correction vector, c, which can be accessed by
  derived classes as a data member of the class. Same holds true
  for the residual vector, r.
2017-10-18 21:14:44 -07:00
Veselin Dobrev 27ffe35369 Merged general/globalcomm.[ch]pp and general/globalostream.[ch]pp into
general/globals.[ch].

Renamed class WrappedOStream to OutStream and use a different
implementation in order to support the case when the OutStream is passed
as a parameter of type std::ostream.

In class MPI_Session, added an MPI_Comm parameter to both constructors,
with a default value of MPI_COMM_WORLD.

Hide the global variable MFEM_COMM_WORLD and allow access (read and
write) with global functions: GetGlobalMPI_Comm() and
SetGlobalMPI_Comm() - in the future, we may want to perform some tasks
when changing the "global" MPI communicator.

In mfem_error(), use GetGlobalMPI_Comm() instead of MPI_COMM_WORLD.

Minor formatting changes and #include reordering.
2017-09-29 15:52:51 -07:00
Tzanio abe85f4cb6 make style 2017-09-28 10:15:26 -07:00
Aaron Fisher aa040f3e64 Made everything work with the new mfem::out and mfem::err output. 2017-09-27 15:42:37 -07:00
Veselin Dobrev 025e925f0f [tmop-dev] PR review: a first pass of small tweaks. 2017-09-21 19:54:01 -07:00
Vladimir Tomov cdf6496eff Added a virtual method for scaling the Newton update in NewtonSolver.
Added the corresponding changes in exsmp.
2017-08-08 15:51:12 -07:00
Tzanio 1569425857 Version 3.3 2017-01-28 22:05:47 -08:00