Commit Graph
103 Commits
Author SHA1 Message Date
Will Pazner 40a0fac667 Add move constructor to Array<T> 2023-01-08 20:07:34 -08:00
Veselin Dobrev f2f489a36e Updated ParMesh::GetSerialMesh() with some overflow checks and
some small tweaks.

Replace some uses of 'long' with 'long long' to better support
Win64 builds where 'long' is 32-bit and 'long long' is 64-bit.
On Linux and MacOS, both types are typically 64-bit.

Updated various "MemoryUsage" methods to return 'std::size_t'
instead of 'long' since the latter is 32-bit in Win64 builds.

Updated CHANGELOG.
2022-07-26 16:09:12 -07:00
Tzanio 6d017e33f9 Added const to the arguments of several copy assignments 2022-03-18 08:20:34 -07:00
Tzanio 297e1c1a30 Resolving a number of 'Rule of Two' warnings from LGTM 2022-03-15 10:56:54 -07:00
Tzanio 434c90fb14 Resolving LGTM errors 2022-03-14 19:48:56 -07:00
Tzanio 6fa650fef5 Fix some warnings from https://lgtm.com/projects/g/mfem/mfem 2022-03-08 10:26:23 -08:00
Tzanio 6d2530775b Extended copyright to 2022 2022-02-25 10:24:50 -08:00
Stowell, Mark L 63381b366a Renaming ostream variables from out to os 2022-01-18 15:06:46 -08:00
Stowell, Mark L f7c9bdab17 Renaming "out" and "err" local variables to avoid globals 2021-12-22 15:19:20 -08:00
Tom Stitt 320bf0a980 add new ctor to array that takes a size and a memorytype 2021-10-14 10:48:43 -07:00
Tzanio cc9fda7d8f Merge branch 'master' into form-linear-system-tweak 2021-07-15 18:29:13 -07:00
Tzanio Kolev 25e59797c1 Merge pull request #2236 from mfem/leading-underscores-dev
Remove leading underscore variables
2021-05-18 16:44:54 -07:00
Aaron Fisher e758c37691 Removed nearly all leading underscores for variable names. Every once in a while one of these will confilct with standard libraries in an oddball compiler and it's best to just avoid this problem alltogether. 2021-05-10 16:06:51 -07:00
Veselin Dobrev de32445f18 Update comments in class Array<T> that T must be a trivial type. 2021-05-04 12:20:17 -07:00
Veselin Dobrev 5712978fa1 Add a simple utitility template function AsConst(), similar to
std::as_const() in c++17.

Fix the unit test "FormLinearSystem/SolutionScope" to work with
GPUs and use independent solution GridFunctions to test the
different AssemblyLevels.
2021-05-01 18:59:40 -07:00
Veselin Dobrev bf20d26f12 First iteration of adding a static_assert for the template
type in class Array<T> -- T must be trivial type.

Fixed some of the issues uncovered by this assert.

The main issue (that currently breaks the build) is that
we use Array<T> with T = mfem::NCMesh::MeshId and its derived
classes which are not trivial-type.
2021-05-01 14:08:34 -07:00
Tzanio Kolev 8f7fd31070 Merge pull request #2034 from mfem/init-list-containers-dev
List initialization for Array/Vector/DenseMatrix
2021-02-09 08:13:30 -08:00
Josh Essman f9ff9a1004 feat: braced init-list construction for Array<T> plus test 2021-02-02 15:18:21 -08:00
Adrien M. Bernede 04fb572359 Let's forget about 2020 2021-01-26 11:55:36 -08:00
Julian Andrej d211b3c305 Simplify Array2D assignment operator 2020-09-08 16:33:59 -07:00
Julian Andrej a5a6748731 Set sizes new on Array2D assignment operator 2020-09-08 11:22:38 -07:00
Julian Andrej 7933fd9b88 Make blocknonlinearform and parblocknonlinearform work with non conforming meshes 2020-09-04 08:05:11 -07:00
Tzanio 80c787a79f minor 2020-07-14 16:15:33 -07:00
Bob Anderson 291875509d document that Array operates correctly only with POD types 2020-07-09 15:32:00 -07:00
Aaron Fisher 8dda4f7441 Numerous changes suggested by Jakub in the review. 2020-04-30 10:59:22 -07:00
Aaron Fisher add2e8a3f2 Fixed the remainder of the issues that Mark caught. 2020-04-20 16:51:30 -07:00
Aaron Fisher 2dcae3ac05 make style 2020-04-09 14:06:34 -07:00
Aaron Fisher bb2f464ca6 Merge branch 'master' into dox-update1 2020-04-08 15:15:52 -07:00
Aaron Fisher c3be660074 Merge branch 'master' into dox-update1 2020-04-07 17:25:23 -07:00
Tzanio 33740acb3e Some edits in general/ 2020-03-09 20:12:51 -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 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 34e6d92ace Merge branch 'master' into okina-mmu 2019-11-26 19:10:03 -08:00
camierjs d117979f56 Debug & Cleanup 2019-11-26 19:08:40 -08:00
camierjs f2913a40b6 No possible leaks in example and test_sedov w/ std::new 2019-11-25 20:01:15 -08:00
camierjs bf2d1eb59a Cuda, debug examples but last mt 2019-11-25 15:31:54 -08:00
Jakub Cerveny beb8ead907 Merge branch 'master' into nc-prism-dev 2019-09-18 20:23:31 +02:00
Tzanio 25ea5e9208 Merge branch 'master' into dmpi
Conflicts:
	general/device.cpp
2019-08-28 18:40:39 -07:00
camierjs 931d19578f Cleanup 2019-08-16 17:36:42 -07:00
Veselin Dobrev d967d12b39 A few tweaks to support Array<const int> objects. 2019-08-08 07:03:02 -04:00
camierjs 6414a14c07 dmpi converges 2019-08-02 10:04:50 -07:00
camierjs 0d1bb17f99 Direct MPI from Engines 2019-08-01 15:11:06 -07:00
Aaron Fisher 35d6b0a442 Merge branch 'master' into dox-update1 2019-07-03 14:20:36 -07:00
Will Pazner 089c3bfce1 Add const iterators to Array class 2019-05-30 16:43:10 -07:00
Tzanio bfab37c967 Merge branch 'master' into nc-prism-dev
Conflicts:
	CHANGELOG
2019-05-25 22:20:16 -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