Commit Graph
68 Commits
Author SHA1 Message Date
Dylan Copeland 71ecff776a Merge branch 'master' of https://github.com/mfem/mfem into rtpa
Conflicts:
	CHANGELOG
	linalg/operator.cpp
2020-04-21 11:48:59 -07:00
Daniel Drzisga dac3abfe4b Moved PowerMethod to operator.* 2020-04-09 21:20:42 +02:00
Dylan Copeland d7b0a8ce64 Merge branch 'master' of https://github.com/mfem/mfem into rtpa
Conflicts:
	examples/ex24.cpp
	examples/ex24p.cpp
	examples/ex5p.cpp
	fem/CMakeLists.txt
	tests/unit/fem/test_pa_coeff.cpp
2020-03-29 19:54:52 -07:00
Dylan Copeland 447a73cdac Implemented PA for ex5(p), with a new MixedBilinearForm function to assemble the diagonal of ADA^T for a diagonal D. 2020-03-13 13:59:54 -07:00
Tzanio 05125e19d5 Removed a space 2020-03-09 15:36:41 -07:00
Tzanio 58872c9e7b Merge branch 'master' into okina-mmu
Conflicts:
	fem/datacollection.cpp
	tests/unit/CMakeLists.txt
2020-03-04 15:19:33 -08:00
Tzanio ca55ef0217 The release number for mfem-4.1 is LLNL-CODE-806117 2020-03-02 17:18:46 -08:00
Tzanio 88a78bb6aa Merge branch 'master' into bsd-relicense
Conflicts:
	CONTRIBUTING.md
2020-03-02 09:28:37 -08:00
camierjs 1e8da55823 Merge branch 'master' into okina-mmu 2020-02-27 11:34:06 -08:00
Tzanio b0200dc344 Merge branch 'master' into add-2ndorder-timeint-dev
Conflicts:
	examples/makefile
	tests/unit/CMakeLists.txt
2020-02-27 10:13:00 -08:00
Tzanio e689fd5b28 Merge branch 'master' into bsd-relicense 2020-02-27 09:29:25 -08:00
camierjs c632adbcb4 Add Pi to InitTVectors to test it with IsIdentityProlongation 2020-02-24 15:59:53 -08:00
Tzanio 2caa222edf A number of changes to switch the code from LGPL-2.1 to BSD-3:
- Updated LICENSE, README, CHANGELOG and CONTRIBUTING.md
- Removed COPYRIGHT, added NOTICE
- Updated the headers in all source files, makefiles, etc.
2020-02-23 11:16:46 -08:00
camierjs 8f30f76e85 Move DEVICE macros to cuda header
Use stream sync
2020-02-20 15:08:49 -08:00
Ido Akkerman 9cf772e895 Going to seperate SecondOrder classes 2020-02-06 18:11:09 +01:00
camierjs 822e2be19d Merge branch 'master' into okina-mmu 2020-01-21 20:35:44 -08:00
camierjs c37addeb9c Merge branch 'master' into okina-mmu 2020-01-20 12:19:01 -08:00
Veselin Dobrev 6a5ed97f53 A few tweaks after the merges from master. 2020-01-17 20:15:47 -08:00
Tzanio 5446ce63e3 Merge branch 'master' into rectop-bc-dev
Conflicts:
	linalg/operator.cpp
2020-01-17 18:33:45 -08:00
camierjs 20a63b218a GetProlongationMatrix returns IdentityOperator when NRanks ==1
Add IsIdentityProlongation in operator.hpp
2020-01-16 16:11:51 -08:00
Tzanio 5534584ef8 Merge branch 'master' into rectop-bc-dev 2020-01-08 16:44:22 -08:00
camierjs 6a61e78bf9 Merge branch 'master' into okina-mmu 2020-01-06 11:01:36 -08:00
Dylan Copeland 8471693dc9 Merge branch 'master' of https://github.com/mfem/mfem into prod-iter-fix-dev 2019-12-17 16:21:27 -08:00
camierjs bf2d1eb59a Cuda, debug examples but last mt 2019-11-25 15:31:54 -08:00
Julian Andrej c84af9586d first step picking hunks for rectangular operators 2019-11-18 16:49:44 -08:00
Tzanio b7cac4145a make style 2019-11-03 13:32:21 -08:00
Veselin Dobrev 7a869c30c6 In class TimeDependentOperator, add a new property: evaluation
mode, see TimeDependentOperator::SetEvalMode() for description.
This new property is now used to support IMEX time integration
in class ARKStepSolver. With this addition the method
TimeDependentOperator::SUNImplicitMult() is no longer needed
and was removed.
2019-10-11 23:37:49 -07:00
Dylan Copeland 9378398cae Added checks in ProductOperator, TripleProductOperator, and RAPOperator, to prevent Solvers from using uninitialized vectors in iterative mode. Added a test of this feature in ex1p.cpp. 2019-09-24 15:13:13 -07:00
David J. Gardner 05226e6e79 add mass matrix mult wraper if using ARKode mass matrix support 2019-08-09 16:24:09 -07:00
Aaron Fisher 1c4bee5def Remove the t parameter from SUNMassSetup and SUNImplicitSetup. 2019-08-08 15:08:53 -07:00
Aaron Fisher e3cb07a4ec Swapped the locations of the x,b parameters in SUNImplicitSolve and SUNMassSolve. Also updated the build system defaults to point to the proper place in for SUNDIALS5.0. 2019-08-08 14:47:35 -07:00
David J. Gardner 754d9b62cf add SUN prefix to implicit setup/solve and mass setup/solve 2019-08-05 17:05:29 -07:00
David J. Gardner 6f8a71f961 remove f2 from ode class, add SUNImplicitMult for IMEX problem 2019-08-05 16:56:54 -07:00
Veselin Dobrev 588d254043 In class TimeDependentOperator, move the default implementations
of the virtual methods to the .cpp file.
2019-07-02 19:02:48 -07:00
Veselin Dobrev 318967d694 Fix issues uncovered by the regression tests. 2019-06-20 12:34:28 -07:00
Andrew T. Barker 50b28d2396 Operator: fix error from mfem 4.0 merge. 2019-06-12 15:52:06 -07:00
Andrew T. Barker e3da15847d Merge remote-tracking branch 'origin/master' into rectangular-parallel-operator
Conflicts:
	linalg/operator.cpp
2019-06-05 15:38:30 -07:00
Tzanio 32d7e036e7 Renamed
MemoryType GetSuitableMemoryType(MemoryClass mc);

to

  MemoryType GetMemoryType(MemoryClass mc);
2019-05-24 15:54:24 -07:00
camierjs bd08fa9592 Merge branch 'memory-dev' of github.com:mfem/mfem into memory-dev 2019-05-24 14:21:12 -07:00
camierjs 283264ade4 {Read,Write,ReadWrite}Access => {Read,Write,ReadWrite}
Add shortcut for Host{Read,Write,ReadWrite}
2019-05-24 14:08:45 -07:00
Tzanio e36d1ea8fd Several change to (hopefully) simplify the interface:
* The parameter of Vector::UseDevice(bool) no longer has a default value. All
  the calls to UseDevice() in operator.cpp bilinearform_ext.cpp gridfunc.?pp and
  linearform.?pp have been replaced with UseDevice(true).

* Added shortcuts for the device flags of the Memory objects inside the Vector
  and Array classes:

    bool Array::UseDevice()
    bool Vector::UseDevice()

* The internal device flag in Memory::FlagMask is now called USE_DEVICE (it was
  previously called EXEC_FLAG). The accessor function for this flag have been
  renamed:

    bool Memory::GetExecFlag()     -> bool Memory::UseDevice()
    void Memory::SetExecFlag(bool) -> void Memory::UseDevice(bool)

* Further renamed:

    Memory::SyncWith         -> Memory::Sync
    Memory::SyncAliasToBase  -> Memory::SyncAlias
    Memory::SyncAliasToBase_ -> Memory::SyncAlias_

* Replaced FIXME with TODO in general/mem_manager.cpp
2019-05-24 14:01:15 -07:00
Tzanio c3999ba78b A few shortcuts for Vector + Memory 2019-05-22 08:16:12 -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
Tzanio e0c45fb9d4 Reserve okina name for future kernel interface 2019-04-08 23:39:10 -07:00
camierjs 8a4ae9a556 Rework include hierarchy not to present cuda/occa internal headers
Separate dvector3 from dtensor because it is used in coefficient.hpp
2019-04-04 11:45:46 -07:00
dmed256 2f45b3978c Feedback updates 2019-04-02 13:59:10 -07:00
Tzanio 4c4619153c Added Operator::GetOutputRestriction() 2019-03-30 19:56:26 -07:00
Tzanio bb7c142ce0 Renamed linalg/device.hpp to linalg/dtensor.hpp.
Some edits in the examples.
2019-03-22 12:15:14 -07:00
Andrew T. Barker 38462c6175 Operator: separate FormSystemOperator() and FormDiscreteOperator()
FormSystemOperator() is for square operators (eg BilinearForm), potentially
with boundary conditions, while FormDiscreteOperator is for rectangular
operators, eg. matrix-free discrete gradient.
2019-03-21 09:30:11 -07:00
camierjs 27c42047ed make style 2019-03-11 18:51:30 -07:00