Compare commits

...
Author SHA1 Message Date
Arturo Vargas 45eec9f73b comment out monitor methods 2023-06-13 16:28:12 -07:00
Arturo Vargas eebd5c1354 fix ireduce 2023-05-23 14:09:53 -07:00
Arturo Vargas fa48d3bc3e attempt to perform async dot product 2023-05-23 11:24:02 -07:00
Arturo Vargas 12a8849f8e minor adjustments to the driver 2023-05-22 16:46:19 -07:00
Arturo Vargas 3163adc509 clean up pass for pipeline solver 2023-05-22 16:02:24 -07:00
Arturo Vargas fe790e581d monitor convergence on gamma variable -- clean up driver 2023-05-22 14:17:08 -07:00
Arturo Vargas 0e6212e4a9 first cut at PipelinedPCGSolver 2023-05-18 16:43:24 -07:00
Arturo Vargas 3055686fd4 first cut at PipelinedPCGSolver 2023-05-18 16:43:02 -07:00
Tzanio Kolev 0f5d34b2b4 Merge pull request #3630 from ddement/ddement/fix_compile_gcc13
Fixes compilation errors when compiling with gcc-13 on Fedora 38
2023-05-13 19:30:10 -07:00
Tzanio Kolev 199fc18d0f Merge pull request #3586 from mfem/cubic-ea-mass-3d-performance
Cubic EAMassAssemble3D Performance
2023-05-13 19:18:24 -07:00
Veselin Dobrev 39a46295b1 Merge pull request #3665 from mfem/mfem-actions-v2.4
Use v2.4 for MFEM GitHub Actions
2023-05-12 12:15:57 -07:00
Will Pazner 962774d5ff Fix shadow warning in nurbs_ex1.cpp 2023-05-10 18:39:36 -07:00
Will Pazner 2d6ec80a10 Use v2.4 for MFEM GitHub Actions 2023-05-10 18:23:25 -07:00
Tzanio Kolev 081a860065 Merge pull request #3232 from mfem/nurbs-interp-dev
NURBS curve interpolation functions and small bug fix [nurbs-interp-dev]
2023-05-06 11:34:30 -07:00
Tzanio Kolev c71afc45d5 Merge pull request #3226 from mfem/nurbs-2drot
NURBS patch 2D rotation functions [nurbs 2drot]
2023-05-06 11:33:40 -07:00
Tzanio Kolev 5de386b084 Merge pull request #3541 from mfem/hughcars/l2zzestimator-bug-fix
Fix bugs in L2ZZErrorEstimator
2023-05-04 08:49:31 -07:00
Tzanio Kolev 0b042e0a98 Merge pull request #3624 from mfem/tmop-update-combos
Update of TMOP combo metrics
2023-05-04 08:48:54 -07:00
Tzanio Kolev e5231334e6 Merge pull request #3633 from mfem/gitlab-lassen-update-2023-04-29
Update the GitLab CI config for Lassen
2023-05-02 12:11:58 -07:00
Veselin Dobrev 5e724d670e Merge pull request #3569 from mfem/lininteg-domain-fix
Support Q < D in linear form device kernels
2023-05-02 12:01:02 -07:00
Vladimir Z Tomov d5d79a60cf Merge branch 'master' into tmop-update-combos 2023-04-30 13:35:00 -07:00
Vladimir Z Tomov af8789067f updated CHANGELOG 2023-04-30 10:28:16 -07:00
Veselin Dobrev 1731550125 Update mfem/uberenv hash 2023-04-29 19:55:08 -07:00
Veselin Dobrev cd2120e7d8 Update the GitLab CI config for Lassen -- the old compilers are
no longer available.
2023-04-29 15:27:56 -07:00
Ketan Mittal 46a89987a5 Merge branch 'tmop-update-combos' of https://github.com/mfem/mfem into tmop-update-combos 2023-04-28 15:29:08 -07:00
Ketan Mittal ea74881234 minor 2023-04-28 15:28:36 -07:00
hughcars e7bba704db Merge branch 'master' into hughcars/l2zzestimator-bug-fix 2023-04-28 14:18:27 -04:00
David Dement 314a32af2e Fixes comilation errors when compiling with gcc-13 on Fedora 38
When compiling with gcc-13, types such as uint64_t are not defined.
It is likely that <cstdint> is included implicitly with older compiler
versions.
2023-04-27 10:33:51 -04:00
Vladimir Z Tomov 89684ac747 fixed sample runs 2023-04-25 22:32:27 -07:00
Veselin Dobrev f3bd409b18 Merge pull request #3510 from mfem/qfunction-use-device
Set `UseDevice(true)` by default in `QuadratureFunction`
2023-04-25 17:43:19 -07:00
Tzanio Kolev 01a576ec74 Merge pull request #3234 from mfem/dpg-miniapp
DPG miniapps
2023-04-25 11:30:37 -07:00
Tzanio Kolev 377177b248 Merge pull request #3621 from mfem/gitlab-ci-updates-2023-04
GitLab CI updates 2023-04
2023-04-25 11:17:10 -07:00
Vladimir Z Tomov 1ab56f5461 bug 2023-04-25 10:20:20 -07:00
Vladimir Z Tomov c9d033b4a9 missing call for 318H. 2023-04-25 09:05:26 -07:00
Vladimir Z Tomov c9fc951248 minor 2023-04-24 18:59:17 -07:00
Vladimir Z Tomov 776fc70763 minor 2023-04-24 18:46:31 -07:00
Vladimir Z Tomov 70c20c57c1 style 2023-04-24 18:26:28 -07:00
Vladimir Z Tomov f145235263 discrete adaptivity + NC example 2023-04-24 18:14:06 -07:00
Vladimir Z Tomov 9b1442d2ea minor 2023-04-24 17:34:01 -07:00
Vladimir Z Tomov 0dd19dbbdd added metrics / comments to miniapps 2023-04-24 17:22:47 -07:00
Vladimir Z Tomov 3c41192407 fixed 3d setup in tmop-metric-maagnitude 2023-04-24 17:09:36 -07:00
Vladimir Z Tomov 61fdf7a1bc Merge branch 'master' into tmop-update-combos 2023-04-24 14:22:31 -07:00
Veselin Dobrev 8979d0a6e9 In GitLab CI, distclean the MFEM directory after running the tests 2023-04-23 10:53:40 -07:00
Veselin Dobrev 313ec4f9d2 In GitLab CI, rename Quartz tests appropriately and tweak the
Quartz baseline test.
2023-04-23 09:42:37 -07:00
Veselin Dobrev fb276f7c85 In GitLab CI:
* update specs for the Quartz tests for TOSS-4
* use 'python3' when 'python' is not available
* update mfem/mfem-uberenv git hash to a commit that has TOSS-4 configs
2023-04-22 20:14:55 -07:00
Veselin Dobrev b3b307d627 In GitLab CI, use a modified way to obtain file locks because
the previous approach does not work robustly on TOSS-4.
2023-04-22 12:13:04 -07:00
Socratis Petrides e0c15bb46c Merge branch 'master' into dpg-miniapp 2023-04-19 15:58:19 -07:00
Hugh Carson 8d36ef0206 Style fix 2023-04-19 10:53:19 -04:00
Hugh Carson 1c25aeb978 Change auto to DofTransformation 2023-04-19 09:59:04 -04:00
hughcars 5ca0cad558 Merge branch 'master' into hughcars/l2zzestimator-bug-fix 2023-04-18 18:33:59 -04:00
camierjs 21de4bee48 Merge master in lininteg-domain-fix 2023-04-18 14:57:33 -07:00
Tzanio Kolev 1ee0e3b365 Merge pull request #3548 from mfem/gslib-mesh-p-ref
GSLIB support for p-refined meshes.
2023-04-18 13:23:20 -07:00
Tzanio Kolev 7ef30cb389 Merge pull request #3454 from mfem/forall
Debugging lambdas in mfem::forall
2023-04-18 13:23:05 -07:00
Ketan Mittal 3dbd1dc95e resolve merge conflict 2023-04-18 11:21:31 -07:00
Socratis Petrides 8db7c1879e resolve conflicts with master 2023-04-18 11:19:06 -07:00
Ketan Mittal 8d575ac594 update CHANGELOG 2023-04-18 10:39:44 -07:00
camierjs 87497f501c Merge master in forall 2023-04-18 10:37:09 -07:00
Will Pazner 30ce09bf64 Merge pull request #3582 from mfem/serial-asan
[Github] Serial address sanitizer action
2023-04-18 08:46:50 -07:00
Tzanio Kolev 93393c5c58 Merge pull request #3608 from mfem/gh-actions-windows-workaround
Workaround for the random failures on Windows in GH actions
2023-04-18 08:46:28 -07:00
Veselin Dobrev e97ae62dba Fix style 2023-04-17 10:33:40 -07:00
Veselin Dobrev b6b3412fd6 Merge branch 'master' into dpg-miniapp 2023-04-17 10:27:03 -07:00
Veselin Dobrev a7d3193263 Fix test failures due to changes in PR #3579 uncovered during testing
in 'next'.
2023-04-17 10:20:41 -07:00
camierjs 33182d0b8f Merge master in serial-asan 2023-04-17 08:13:06 -07:00
camierjs 6c150900e2 Merge master in forall 2023-04-17 08:11:55 -07:00
hughcars 9f5d4740c2 Merge branch 'master' into hughcars/l2zzestimator-bug-fix 2023-04-17 08:57:30 -04:00
Veselin Dobrev d84944d9af Merge pull request #3579 from mfem/array-makeref
Change Array::MakeRef to use MakeAlias
2023-04-15 21:06:40 -07:00
Tzanio Kolev 46dd1b779f Merge pull request #3137 from mfem/tmop-bif
Updates to TMOP-based interface and boundary fitting method
2023-04-15 17:27:43 -07:00
Tzanio Kolev bf4f57bb5b Merge branch 'master' into cubic-ea-mass-3d-performance 2023-04-15 17:26:36 -07:00
psocratis d80f17ea2c master conflicts 2023-04-14 20:25:40 -07:00
psocratis 7e6288d2e4 subvectors fix for cuda runs 2023-04-14 20:22:44 -07:00
psocratis 733c5df082 additional blockvector wrapper with offset 2023-04-14 20:21:47 -07:00
Veselin Dobrev 32e175f916 Workaround for the random failures on Windows in GH actions 2023-04-14 16:26:00 -07:00
camierjs b8c5a62077 Merge master in serial-asan 2023-04-14 07:54:52 -07:00
Tzanio Kolev ca5b285c44 Merge pull request #3529 from mfem/1D-NURBS-dev
Add 1D NURBS [1D-NURBS-dev]
2023-04-14 07:01:23 -07:00
Tzanio Kolev e7e2850b5c Merge pull request #3202 from mfem/dof-doc-dev
Expanding documentation related to DoFs [dof-doc-dev]
2023-04-14 07:00:05 -07:00
Tzanio Kolev 3705df79bc Merge pull request #3552 from mfem/hiop-new-x
Access to HiOp's new_x
2023-04-14 06:59:34 -07:00
camierjs 7127e6d920 Merge branch 'forall' of github.com:mfem/mfem into forall 2023-04-13 09:47:41 -07:00
camierjs aa4b04d0a8 Allow back both host_kernel and device_kernel 2023-04-13 09:46:13 -07:00
Veselin Dobrev b86c18f78b Minor: fix formatting 2023-04-13 06:16:07 -07:00
Veselin Dobrev 1f4cc7c9ae In MemoryManager::Register_, check for alias after checking for
nullptr -- it is okay to try to register an alias to nullptr.
2023-04-12 23:39:43 -07:00
Veselin Dobrev 3ec5edbfb1 Add the new miniapp 'pmesh-fitting' to 'config/sample-runs.sh' 2023-04-11 17:33:39 -07:00
Socratis Petrides 88e041e92b Merge branch 'master' into hughcars/l2zzestimator-bug-fix 2023-04-11 16:14:18 -07:00
Ketan Mittal a1d643ef77 update paper title 2023-04-11 11:20:57 -07:00
Ketan Mittal 041c9362e1 Merge branch 'master' of https://github.com/mfem/mfem into tmop-bif 2023-04-11 11:07:44 -07:00
camierjs 95e379e5cc Revert ex1.cpp fec leak 2023-04-11 10:54:27 -07:00
camierjs 0e272e46ec Remove sanitize-recover=address option 2023-04-11 10:36:57 -07:00
camierjs ad8c8cfb98 Reorder options in workflows/mfem-sanitizer.yml 2023-04-11 10:10:28 -07:00
camierjs 408dfc5410 Tune ASAN_OPTIONS 2023-04-11 09:54:43 -07:00
Vladimir Z Tomov eb6a8e4bd6 Merge branch 'tmop-nc-adapt' into tmop-update-combos 2023-04-11 09:38:29 -07:00
camierjs 29585dd32e Add debug compilation flags to get stack 2023-04-11 09:31:00 -07:00
camierjs 1f57b55886 Update mfem-sanitizer.yml 2023-04-11 09:15:31 -07:00
camierjs bddd685949 Simplify mfem-sanitizer.yml 2023-04-11 09:12:47 -07:00
camierjs ea5d0e607b Update CHANGELOG with AddressSanitizer GitHub action 2023-04-11 09:06:36 -07:00
John Camier df47c292d9 Update mfem-sanitizer.yml 2023-04-11 08:16:58 -07:00
camierjs 9ba5647ecd Update sanitizer workflow yml 2023-04-11 08:13:09 -07:00
camierjs 07945840f9 Update mfem::forall CHANGELOG, bis 2023-04-11 08:05:00 -07:00
camierjs 2af61d1767 Update mfem::forall CHANGELOG 2023-04-11 08:03:33 -07:00
camierjs 8caa676581 Merge master in forall 2023-04-11 07:55:59 -07:00
camierjs df3d38b682 Merge master in serial-asan 2023-04-11 07:54:47 -07:00
Veselin Dobrev fc0602cf16 In the memory manager, when creating an alias memory to nullptr,
do not set the flag OWNS_INTERNAL of the alias.
2023-04-10 20:20:08 -07:00
Vladimir Z Tomov d2761243ba Corrections in size adaptivity for NC meshes. 2023-04-10 18:47:27 -07:00
camierjs fffb805d98 Update ASAN flags in github/workflows/mfem-sanitizer.yml 2023-04-10 18:35:04 -07:00
camierjs b694a24530 github/workflows/mfem-sanitizer.yml line 52 2023-04-10 18:32:49 -07:00
camierjs 6c30fcde5e Update github/workflows/mfem-sanitizer.yml 2023-04-10 18:30:34 -07:00
camierjs 9ab4f797a4 Try to break long lines 2023-04-10 18:22:30 -07:00
camierjs 632e345f79 Simplify miniapps/toys/snake 2023-04-10 18:18:02 -07:00
camierjs bfe1fe4831 Update/fix DLFGradAssemble3D to use one shared memory buffer 2023-04-10 18:13:14 -07:00
Will Pazner 18330cc31c Merge pull request #3578 from mfem/fix-warnings-2023-04
Fix warnings from non-debug build with new Apple-clang
2023-04-10 16:55:42 -07:00
Will Pazner fa1f8cf075 Merge pull request #3571 from adam-sim-dev/gmres
Init j and resid for GMRES
2023-04-10 16:55:09 -07:00
Will Paznerandcamierjs 08a2d97ea1 Use more threads to reduce shared mem usage…
…in DomainLFGradIntegrator.

Co-authored-by: camierjs <camier1@llnl.gov>
2023-04-10 13:58:09 -07:00
Will Pazner 3581e69476 Fix 'end of non-void' warning 2023-04-10 13:48:49 -07:00
camierjs 617959b485 Update fem/lininteg_boundary_flux and fem/lininteg_vectorfe_domain kernels with mfem::forall 2023-04-10 11:50:51 -07:00
camierjs 7b3a094d7b Merge master in forall 2023-04-10 11:43:55 -07:00
camierjs c283d4b6c2 Merge master in serial-asan 2023-04-10 08:32:12 -07:00
Tzanio Kolev 0061c55699 Merge branch 'master' into tmop-bif 2023-04-09 17:55:56 -07:00
Tzanio Kolev 72fd6dcb62 Merge pull request #3393 from mfem/rt-face-restriction
RT FaceRestriction and VectorFEBoundaryFluxLFIntegrator kernels
2023-04-09 17:48:17 -07:00
Tzanio Kolev 23565af525 Merge pull request #3444 from mfem/vectorfe-linearform-ext
Support RT VectorFEDomainLFIntegrator on device
2023-04-09 17:47:26 -07:00
Tzanio Kolev 7dc0b2a541 Merge branch 'master' into tmop-bif 2023-04-09 13:45:05 -07:00
Tzanio Kolev 3ef59179b1 Merge branch 'master' into hughcars/l2zzestimator-bug-fix 2023-04-09 13:35:26 -07:00
Tzanio Kolev c7780a3085 Merge branch 'master' into rt-face-restriction 2023-04-09 13:33:13 -07:00
Tzanio Kolev 01772b0ad6 Merge branch 'master' into 1D-NURBS-dev 2023-04-09 13:32:16 -07:00
Tzanio Kolev 80bc91f811 Merge branch 'master' into hiop-new-x 2023-04-09 13:20:07 -07:00
Tzanio Kolev f016f09317 Merge branch 'master' into forall 2023-04-09 13:16:24 -07:00
Tzanio Kolev 6f66cd8536 Merge branch 'master' into gslib-mesh-p-ref 2023-04-09 13:15:36 -07:00
Tzanio Kolev 2dc923a624 Merge branch 'master' into dof-doc-dev 2023-04-09 13:09:45 -07:00
Tzanio Kolev 782e69270b Merge branch 'master' into vectorfe-linearform-ext 2023-04-09 13:05:27 -07:00
Veselin Dobrev e9eddf8205 Merge pull request #3409 from mfem/ex20p-determinism-dev
Quest for ex20p deterministic output [ex20p-determinism-dev]
2023-04-07 19:02:34 -07:00
Will Pazner 11ec97fe5f Revert inadvertent comment change 2023-04-06 09:09:56 -07:00
Will Pazner 2d3b216c95 Fix bug in ConformingFaceRestriction
When constructing ConformingFaceRestriction from the derived class
ParNCH1FaceRestriction, vol_dof_map was not initialized because of an early
return.
2023-04-05 22:07:06 -07:00
Will Pazner f9e69ad1df Move SpaceType enum to namespace in unit test 2023-04-05 22:06:50 -07:00
Veselin Dobrev 3c64ca0841 Remove GitLab test using old gcc v4.9.3 on Quartz.
There is no need to add the same test with newer gcc version
because we already have it -- with gcc v6.1.0.
2023-04-05 20:29:17 -07:00
Veselin DobrevandWill Pazner 700208c3db Apply reviewer suggestion: update fem/tmop_tools.cpp
Co-authored-by: Will Pazner <11493037+pazner@users.noreply.github.com>
2023-04-05 16:44:18 -07:00
Vladimir Z Tomov 5cac3050f3 device code for mu_94 2023-04-05 15:28:12 -07:00
Vladimir Z Tomov c5142e5900 fixed GetData() -> Read() 2023-04-05 14:07:32 -07:00
Tom Stitt 481a61d473 template-based memory type choice; stores quadratic performance 2023-04-05 13:31:28 -07:00
Tom Stitt 1b15df97db need to use smem above quadratic for performance 2023-04-05 11:52:04 -07:00
Vladimir Z Tomov b3bb8b36a9 GetData outside of macro. 2023-04-04 22:02:19 -07:00
camierjs 7c210f880a meld toward master 2023-04-04 18:13:35 -07:00
camierjs 785807fd9e Simplify mfem-sanitizer.yml config-options 2023-04-04 18:11:10 -07:00
camierjs 02fb182f99 Simplify sanitized polar-nc vs. NCMesh::GetMeshComponents leak 2023-04-04 18:05:56 -07:00
camierjs d384589ecc Simplify sanitized AddTet vs. AddElement(new Tetrahedron) 2023-04-04 17:37:33 -07:00
Vladimir Z Tomov 038d10112f device implementation for metric 338. 2023-04-04 17:18:12 -07:00
Will Pazner f6df4a9c09 Make LinearFormIntegrator::SupportsDevice const
Required for compatibility with PR #3393
2023-04-04 14:18:43 -07:00
camierjs fc640de940 Update github/workflows/mfem-sanitizer to O1 2023-04-04 14:17:07 -07:00
camierjs 307d6d0a3a Update github sanitizer serial job name and CXXFLAGS 2023-04-04 13:56:34 -07:00
camierjs 3b3b9ae311 Change config-options to speedup MFEM build 2023-04-04 13:50:54 -07:00
camierjs 0659152e93 Sanitize mesh AddElement in tests/unit/fem/test_linear_fes while still using MemAlloc 2023-04-04 13:07:33 -07:00
camierjs d9486811c0 Try reverting tests/unit/fem/test_linear_fes.cpp 2023-04-04 12:14:40 -07:00
camierjs 89315154df Sanitize miniapps/toys/snake 2023-04-04 11:32:39 -07:00
camierjs 2cc38dcf8d Revert tests/unit/fem/test_linear_fes.cpp 2023-04-04 11:26:34 -07:00
camierjs cca28f3882 Meld toward master 2023-04-04 10:39:35 -07:00
camierjs ccff93be57 Sanitize polar-nc miniapp 2023-04-04 10:34:13 -07:00
Will Pazner 468f49e29c Define main on Windows in test_debug_device.cpp 2023-04-04 09:17:01 -07:00
Will Pazner 3cd8f8a328 Add REQUIRE_NOTHROW to Array::MakeRef test 2023-04-04 09:16:42 -07:00
Will Pazner 3045411a09 Allow multiple test cases in debug device tests 2023-04-04 08:06:31 -07:00
Will Pazner 6a09aab038 Change Array::MakeRef to use MakeAlias 2023-04-04 08:06:13 -07:00
Ido Akkerman 3033b32339 Make macos compiler happy 3 2023-04-04 12:36:14 +02:00
Ido Akkerman 6ba52de1af Make macos compiler happy 2 2023-04-04 12:20:18 +02:00
Ido Akkerman 936fd0b24a Make macos compiler happy 2023-04-04 12:02:44 +02:00
Ido Akkerman 054b543e8a Sort and clean 1D data array 2023-04-04 11:26:36 +02:00
Ido Akkerman d5ef001b45 instance in lowercase 2023-04-04 10:59:27 +02:00
Ido Akkerman ea084b06dd Fix typo 2023-04-04 10:58:58 +02:00
Veselin Dobrev 2cb8f5d764 Fix a few comments 2023-04-03 23:29:47 -07:00
Will Pazner d05ae0be96 Add namespace internal to face_map_utils.cpp 2023-04-03 20:42:19 -07:00
Will Pazner 5bb11cfde0 Rename H1_ND_RT_FaceRestriction to ConformingFaceRestriction 2023-04-03 20:40:12 -07:00
Will Pazner 8ddbd51116 Add note about return in a MFEM_FORALL lambda 2023-04-03 20:37:51 -07:00
Will Pazner cdfb022714 Improve GetFaceMap Doxygen comment 2023-04-03 20:34:47 -07:00
Will Pazner da2bd5e422 Move face map utils to mfem::internal namespace 2023-04-03 20:30:25 -07:00
Will Pazner 436163bd75 Rename GetNodalTensorFaceMap to GetTensorFaceMap 2023-04-03 20:28:27 -07:00
Will Pazner 0a676e66cc Pass offsets by reference in FillFaceMap 2023-04-03 20:27:28 -07:00
Will Pazner 3e944fd215 Verify H1 space in ParNCH1FaceRestriction 2023-04-03 20:27:28 -07:00
Will Pazner 128a3cef7e Delete out-of-date comment 2023-04-03 20:25:03 -07:00
camierjs 62e0a0ee6f Switch back to ubuntu (MachOFile errors) 2023-04-03 17:53:42 -07:00
camierjs e8d218ca23 Sanitize mesh/submesh/psubmesh.cpp tests/unit/mesh/test_psubmesh.cpp 2023-04-03 17:24:38 -07:00
camierjs 39c4d9c335 Sanitize FiniteElementSpace::RefinementOperator::~RefinementOperator 2023-04-03 16:27:08 -07:00
camierjs 65e4297bad Sanitize tests/unit/mesh/test_submesh.cpp 2023-04-03 16:16:15 -07:00
camierjs 50f4080783 Sanitise PAIdentityInterp 2023-04-03 16:12:18 -07:00
camierjs 796c8b8817 Sanitize tests/unit/fem/test_linear_fes.cpp 2023-04-03 15:43:42 -07:00
camierjs 9d1578e648 Sanitize tests/unit/fem/test_datacollection.cpp 2023-04-03 15:36:28 -07:00
camierjs 6ace2b259d Sanitize tests/unit/fem/test_derefine.cpp 2023-04-03 14:25:07 -07:00
Veselin Dobrev 3fb16431b3 Fix a shadow variable warning 2023-04-03 14:17:19 -07:00
camierjs c486639876 Sanitize tests/unit/linalg/test_chebyshev.cpp 2023-04-03 14:08:04 -07:00
camierjs 1bbf8cc263 Sanitize tests/unit/fem/test_build_dof_to_arrays.cpp 2023-04-03 14:06:34 -07:00
camierjs 7660695e62 Sanitize test_1d_bilininteg, test_2d_bilininteg 2023-04-03 14:03:47 -07:00
Veselin Dobrev d52b81fcf2 Update copyright to 2023 2023-04-03 13:59:35 -07:00
hughcars c27d4c2db4 Merge branch 'master' into hughcars/l2zzestimator-bug-fix 2023-04-03 16:53:03 -04:00
camierjs a0e624f05f Sanitize ex25, ex25p 2023-04-03 13:50:22 -07:00
camierjs e532dd44a5 Add Wno-error as pedantic Wall Werror are arbitraty used on non-linux images 2023-04-03 13:19:01 -07:00
camierjs b7ad371e7c Sanitizer switch to Clang/LLVM (Homebrew) 2023-04-03 13:13:26 -07:00
camierjs d54144af96 Update .github/workflows/mfem-sanitizer.yml 2023-04-03 12:45:20 -07:00
Veselin Dobrev d1ef99f4cf Merge branch 'master' into rt-face-restriction
Resolved conflicts:
   CHANGELOG
2023-04-03 12:35:18 -07:00
Veselin Dobrev 393c0104e0 Drop 'virtual' from some methods marked with both 'virtual' and
'override'

In methods related to face restriction, rename 'e_ordering' or
'ordering' to 'f_ordering' to emphasize that this is reordering
for the face dofs. Also, clarified that doxygen comments.

In class H1_ND_RT_FaceRestriction, rename some variables for better
clarity; do not use 'f_ordering' to make decisions about element
dofs.

Remove the declaration of GetFaceDofs() whose definition was
removed earlier in this branch.
2023-04-03 12:18:15 -07:00
Veselin Dobrev 16df54d667 Fix warnings from non-debug build with new Apple-clang 2023-04-03 11:32:41 -07:00
camierjs a1120fb78b Switch to build-mfem@v2.3 and set required variables 2023-04-03 11:31:20 -07:00
camierjs 2159ea40fd Simplify CPPFLAGS 2023-04-03 11:07:49 -07:00
camierjs c62d94bde0 mfem-sanitizer escape CPPFLAGS 2023-04-03 11:06:19 -07:00
camierjs 6600995aa5 mfem-sanitizer seq build 2023-04-03 11:04:18 -07:00
camierjs 5081a4c306 Add .github/workflows/mfem-sanitizer.yml 2023-04-03 10:57:57 -07:00
Tzanio Kolev 70083ae9d9 Merge branch 'master' into hiop-new-x 2023-04-03 09:04:28 -07:00
Ketan Mittal da0062988b update changelog 2023-03-31 09:26:48 -07:00
Ketan Mittal fca4583833 Merge branch 'master' of https://github.com/mfem/mfem into tmop-bif 2023-03-31 09:22:32 -07:00
Adam bc1b23bf8c Init j and resid
This PR sets j and resid. They are not initialized if beta <= final_norm, while they are printed later.
2023-03-31 08:49:43 +08:00
Will Pazner f7f2a8c374 Change linear form kernels to handle Q < D 2023-03-30 12:01:33 -07:00
Will Pazner f2a3786b4b Add linear form extension unit test when Q < D
Some of the device linear form kernels don't work when there are fewer
quadrature points than DOFs
2023-03-30 12:01:19 -07:00
Tzanio Kolev 1349c34886 Merge branch 'master' into vectorfe-linearform-ext 2023-03-30 11:55:14 -07:00
Tzanio Kolev d4bc14a48a Merge pull request #3466 from mfem/ab-am-fix
Small fix in Adams Moulton and Adams Bashforth integrators [ab-am-fix]
2023-03-30 11:50:35 -07:00
Tzanio Kolev 34ad9fca15 Merge pull request #3316 from mfem/nurbs-attr
NURBS patch attributes
2023-03-30 11:50:06 -07:00
Tzanio Kolev c1a1c0ba16 Merge pull request #3550 from mfem/tmop-fit-bug
Corrections in TMOP_Integrator::GetSurfaceFittingErrors
2023-03-30 11:48:48 -07:00
Ido Akkerman ff5bce20e3 Fix init order 2023-03-30 14:23:22 +02:00
Ido Akkerman b2cbb1ed92 Fix compile error?? 2023-03-30 14:13:56 +02:00
Ido Akkerman 18f28e0fbf Added checks and comments 2023-03-30 10:08:07 +02:00
Vladimir Z Tomov c4ccb28184 added some deletes and minor edits 2023-03-29 16:17:24 -07:00
Vladimir Z Tomov 1fe4705356 added metrics to pmesh-optimimzer 2023-03-29 14:30:21 -07:00
Ketan Mittal db5bfb536e Merge branch 'master' of https://github.com/mfem/mfem into tmop-bif 2023-03-29 09:13:47 -07:00
Ketan Mittal 7d6ad1639d fix default metric id for test 2023-03-29 09:13:19 -07:00
Ketan Mittal f1344306e1 typo 2023-03-28 20:21:27 -07:00
Tzanio Kolev bcea3019b4 Merge pull request #3131 from mfem/mesh-ptr-doc-dev
Adding Doxygen comments for returned pointers in mesh classes [mesh-ptr-doc-dev]
2023-03-28 17:02:33 -07:00
Ketan Mittal 2bdecef57a update gitignore 2023-03-28 16:23:59 -07:00
Ketan Mittal 8f93f66541 add common namespace to shifted miniapps 2023-03-28 14:49:59 -07:00
Ketan Mittal 55228baed8 rename file and fix header 2023-03-28 14:35:02 -07:00
Ketan Mittal ea1403a9da rename files and edit makefile 2023-03-28 14:31:53 -07:00
Ketan Mittal eed32e52db resolve conflicts 2023-03-28 14:21:54 -07:00
Ketan Mittal e222c576e7 refactor gradient and hessian for fitting term 2023-03-28 13:45:00 -07:00
Ketan Mittal ec3d524b9a reviewer comments 2023-03-28 11:25:18 -07:00
Socratis Petrides 7270e3a2fb update year in headers 2023-03-27 14:40:53 -07:00
Vladimir Z Tomov e1018b1aa4 minor 2023-03-27 12:53:01 -07:00
Vladimir Z Tomov bf9b6d90fb edit mu_328, add mu_338. 2023-03-27 12:48:52 -07:00
Vladimir Z Tomov b53b301586 added mu_90 and mu_94. 2023-03-27 12:27:38 -07:00
Vladimir Z Tomov 194198d746 added mu_318. 2023-03-27 11:32:50 -07:00
Dylan Copeland fc279d85ca CHANGELOG 2023-03-27 10:27:30 -07:00
Tzanio Kolev 96c2fc6463 Merge branch 'master' into hughcars/l2zzestimator-bug-fix 2023-03-27 08:27:56 -07:00
Vladimir Z Tomov 7d6d7249b4 cosmetic edits in tmop-fitting.cpp, no changes in execution. 2023-03-26 17:55:31 -07:00
Vladimir Z Tomov 0d0c4a3b79 improved comments and spacing in tmop.hpp/cpp. 2023-03-26 16:32:27 -07:00
Vladimir Z Tomov 6477552732 edits related to min-detJ_threshold. 2023-03-26 12:50:55 -07:00
Vladimir Z Tomov e10a991272 CountZones - made it virtual, changed the name.
other minor edits.
2023-03-26 12:28:13 -07:00
Tzanio Kolev 7d2be1e37c Merge branch 'master' into nurbs-attr 2023-03-25 18:12:25 -07:00
Tzanio Kolev fa603e6793 Merge branch 'master' into ex20p-determinism-dev 2023-03-25 17:57:55 -07:00
Tzanio Kolev a715f58848 Update CHANGELOG 2023-03-25 17:57:36 -07:00
Tzanio Kolev 48a5400461 Merge branch 'master' into dpg-miniapp 2023-03-25 17:57:02 -07:00
Tzanio Kolev 0f4decfeda Merge branch 'master' into forall 2023-03-25 17:55:11 -07:00
Tzanio Kolev 3368612fe9 Merge branch 'master' into gslib-mesh-p-ref 2023-03-25 17:54:57 -07:00
Tzanio Kolev 664bb278ef Merge branch 'master' into 1D-NURBS-dev 2023-03-25 17:49:04 -07:00
Will Pazner 75b88ab5c8 Update copyright to 2023 in lininteg_vectorfe_domain.cpp 2023-03-25 14:28:07 -07:00
Will Pazner d2f15700a3 Merge remote-tracking branch 'origin/master' into vectorfe-linearform-ext 2023-03-25 14:26:27 -07:00
Tzanio Kolev 92bf531fab Merge pull request #3556 from mfem/new-dev-version-4.5.3
Update version numbers to 4.5.3 -- a new development version
2023-03-24 17:10:58 -07:00
Stowell, Mark L 84f65c049d Typo caught by @hughcars 2023-03-24 13:56:17 -07:00
Stowell, Mark L bb70eb3657 Reverting an unintended change in error.hpp 2023-03-24 10:42:50 -07:00
Veselin Dobrev d054509853 Update version numbers to 4.5.3 -- a new development version 2023-03-24 09:43:38 -07:00
camierjs dce372389b Merge master in forall 2023-03-24 07:52:56 -07:00
Stowell, Mark L 8fce609951 Improvements suggested by @jamiebramwell 2023-03-23 15:49:14 -07:00
Tzanio Kolev 00b2a0705f Merge pull request #3384 from mfem/mfem-4.5.2-dev
Final changes for mfem-4.5.2
2023-03-23 15:33:44 -07:00
Tzanio Kolev 98d4b369ba Final edits in the CHANGELOG for mfem-4.5.2 2023-03-23 15:30:22 -07:00
Stowell, Mark L 12fcd41115 Typos and other improvements suggested by @acfisher 2023-03-23 15:10:54 -07:00
Stowell, Mark L 5a2b434c2c Typo found by @v-dobrev 2023-03-23 15:10:03 -07:00
Ketan Mittal da035f0f48 reviewer comments 2023-03-23 13:29:43 -07:00
Stowell, Mark L 9b3c7e7211 Merge remote-tracking branch 'origin/master' into mesh-ptr-doc-dev
# Conflicts:
#	mesh/mesh.hpp
#	mesh/pmesh.hpp
2023-03-23 09:46:31 -07:00
Stowell, Mark L dada0326ef Changes suggested by @acfisher 2023-03-23 09:21:14 -07:00
Vladimir Z Tomov 1f53683c64 style 2023-03-22 13:03:33 -07:00
Vladimir Z Tomov a8f0bfbafe forgot to return it. 2023-03-22 13:00:23 -07:00
Vladimir Z Tomov f73f677b00 Added access to hiop's new_x field. 2023-03-22 12:59:04 -07:00
Veselin Dobrev af6e5e7b21 Merge branch 'master' into mfem-4.5.2-dev 2023-03-21 13:13:59 -07:00
Veselin DobrevandTzanio Kolev 0f6cd97b1a Update CHANGELOG with v4.5.2 release date
Co-authored-by: Tzanio Kolev <tzanio@llnl.gov>
2023-03-21 13:13:39 -07:00
Veselin Dobrev 2106ea4039 Merge pull request #3532 from mfem/2023-copyright
Updated COPYRIGHT to 2010-2023
2023-03-21 13:11:37 -07:00
Veselin Dobrev a152e48fd3 Update config/githooks/pre-push 2023-03-21 11:16:17 -07:00
Vladimir Z Tomov 3c4e67dbe1 unused variable in serial 2023-03-21 10:54:13 -07:00
Vladimir Z Tomov b0614c26d0 corrections in TMOP_Integrator::GetSurfaceFittingErrors() 2023-03-21 10:42:02 -07:00
Ketan Mittal 70ebd0dd0d update method name 2023-03-20 10:33:54 -07:00
Ketan Mittal 96750ba446 make style and free memory in miniapp 2023-03-20 10:20:20 -07:00
Ketan Mittal 2210c08352 add p-ref support in Overset class 2023-03-20 10:05:06 -07:00
Ketan Mittal 514df47dd4 initial commit adding support for p-refined mesh in gslib FindPoints 2023-03-20 10:02:53 -07:00
Ido Akkerman 9105a3aa22 Merge branch '1D-NURBS-dev' of https://github.com/mfem/mfem into 1D-NURBS-dev 2023-03-16 11:42:18 +01:00
Ido Akkerman ada6d009cf Add 1D periodicity to NURBS 2023-03-16 09:41:16 +01:00
Hugh Carson e1ece74a73 Fix bug with missing DofTransformations. Also fix bug in L2ZZErrorEstimator adding element vectors rather than setting subvectors 2023-03-15 16:59:33 -04:00
Will Pazner 701870a7da Merge pull request #3438 from mfem/sjg/pyr-ref-leak
Fix memory leak in pyramid mesh refinement for MFEM_USE_MEMALLOC
2023-03-15 13:27:07 -07:00
Ido Akkerman c866f52b69 Merge branch 'master' into 1D-NURBS-dev 2023-03-15 09:11:50 +01:00
Ido Akkerman f68365a0a0 Merge branch 'master' into ab-am-fix 2023-03-15 09:10:55 +01:00
Will Pazner 25d6fbc4ea Fix grammar in face map comments 2023-03-14 22:15:38 -07:00
Will Pazner cd9e718ea9 Fix GetFaceNormal3D Doxygen comment 2023-03-14 21:52:26 -07:00
Will Pazner 3beb66b7cc Fix comment grammar 2023-03-14 21:50:12 -07:00
Will Pazner 8869ad64a0 Improve Doxygen comment for H1_ND_RT_FaceRestriction 2023-03-14 21:49:22 -07:00
Will Pazner 9b0c3f7d13 Add comment to RT face restriction unit test 2023-03-14 21:48:13 -07:00
Will Pazner a78c2fee04 Implement PositiveTensorFiniteElement::GetFaceMap
Factor out logic in NodalTensorFiniteElement::GetFaceMap to
GetNodalTensorFaceMap, reuse for the case of Bernstein basis.
2023-03-14 14:04:42 -07:00
Will Pazner 6b7d72147f Add comment to FiniteElement::GetFaceMap 2023-03-14 14:02:41 -07:00
Will Pazner c3acad6dbd Merge remote-tracking branch 'origin/master' into rt-face-restriction
# Conflicts:
#	fem/fe/fe_base.hpp
#	fem/restriction.cpp
2023-03-14 11:23:26 -07:00
Veselin Dobrev a46650042b Fix some warnings 2023-03-14 09:11:41 -07:00
John Camier 650f7281d9 Merge branch 'master' into qfunction-use-device 2023-03-14 09:06:47 -07:00
camierjs 6851f32854 Merge master in forall 2023-03-14 08:46:19 -07:00
Veselin Dobrev b4bece1e0f Small tweak in the HiOp header to avoid recursive header
inclusion: 'linalg.hpp' and 'hiop.hpp' were including each
other (harmless due to header guards).
2023-03-13 06:10:57 -07:00
Veselin Dobrev e3e413bdae Fix warnings when building with Ginkgo 1.5.0 2023-03-13 06:09:50 -07:00
Veselin Dobrev 1792b1a90c In fem/picojson.h, use 'serialize_' instead of '_serialize' to
avoid a clash with a macro defined in GCC 11.2.
2023-03-13 06:05:40 -07:00
Tzanio Kolev 96e00dc815 Updated COPYRIGHT to 2010-2023 2023-03-11 16:58:18 -08:00
Veselin Dobrev 4f0a7d4773 Small updates:
* Bugfix in SparseMatrix::SortColumnIndices()
* More general definition of AsConst()
* Fix nvcc warning in miniapps/meshing/reflector.cpp
2023-03-10 23:48:14 -08:00
Ido Akkerman e3fb8fd88d Make style 2023-03-10 11:54:43 +01:00
Ido Akkerman d368e96e14 together with previous commit -- adding 1D weak BCs 2023-03-10 11:49:18 +01:00
Ido Akkerman d2a9fd1efa mesh/mesh.cpp 2023-03-10 11:48:07 +01:00
Ido Akkerman cffa32e98a Add Point to NURBS fe collection 2023-03-09 15:31:43 +01:00
Ido Akkerman 3fabd09cb9 Make pedantic compiler happy 2023-03-09 14:53:27 +01:00
Ido Akkerman 78a05c527a make style 2023-03-09 14:44:58 +01:00
Ido Akkerman 781d15969b Add parallel function def 2023-03-09 14:35:25 +01:00
Ido Akkerman 54b1ea497a Make pedantic test happy 2023-03-09 14:22:07 +01:00
Ido Akkerman e4d3533c9c Fix include 2 2023-03-09 14:16:07 +01:00
Ido Akkerman b87c6c5ba7 Fix include 2023-03-09 14:14:27 +01:00
Ido Akkerman 1f15ca161a Merge branch 'ab-am-fix' of https://github.com/mfem/mfem into ab-am-fix 2023-03-09 14:07:06 +01:00
Ido Akkerman f9998e6ca9 Memory errors 2023-03-09 14:04:33 +01:00
Ido Akkerman caab78bde3 Make style 2023-03-09 14:03:09 +01:00
Ido Akkerman 721ba15b38 Add test case and 1D output to nurbs miniapp 2023-03-09 13:15:47 +01:00
Ido Akkerman 16f107a79b make style 2023-03-09 10:45:20 +01:00
Ido Akkerman ec6990ce79 Change print mechanicsm and correct includes 2023-03-09 09:18:35 +01:00
Ido Akkerman dbfb30b9d4 Works? 2023-03-09 09:03:06 +01:00
Ido Akkerman 265ff5a817 More NURBS fixes 2023-03-09 08:48:48 +01:00
Veselin Dobrev 5335942a92 Merge branch 'master' into mfem-4.5.2-dev 2023-03-08 18:44:07 -08:00
Mark L. Stowell 888b8eca6d Merge pull request #3513 from mfem/shared-msvc-dev-v2
Add support for shared builds on Windows with MSVC using CMake
2023-03-08 17:39:58 -08:00
Mark L. Stowell 5c6000512d Merge branch 'master' into shared-msvc-dev-v2 2023-03-08 16:48:16 -08:00
Ido Akkerman 43b770ac26 First fixes to get things running 2023-03-08 18:08:37 +01:00
Ido Akkerman 0f8c634181 Add 1D NURBS mesh 2023-03-08 17:47:20 +01:00
Ido Akkerman d111505b94 Change patch data access operators 2023-03-08 17:32:00 +01:00
Ido Akkerman 369a5e03a1 Add 1D functions to NURBS classes 2023-03-08 16:42:01 +01:00
Veselin Dobrev ddfb7d48e2 In CHANGELOG, move a bullet added after v4.5.0 from the
v4.5.0 section to the v4.5.2 section.
2023-03-07 22:18:14 -08:00
Veselin Dobrev 1d95c85a0d Merge branch 'master' into mfem-4.5.2-dev 2023-03-07 22:04:28 -08:00
Ido Akkerman 2238dadd06 Merge branch 'master' into ab-am-fix 2023-03-07 10:30:14 +01:00
Veselin Dobrev ea56d41dd3 Mention the shared MSVC build support in CHANGELOG and
document the MFEM_EXPORT macro in config.hpp.
2023-03-06 17:48:51 -08:00
Veselin Dobrev e941c8ba91 More tweaks in .gitignore and 'make clean' 2023-03-06 02:43:07 -08:00
Veselin Dobrev fa142c9b59 Small tweaks to .gitignore and 'make clean' 2023-03-06 01:14:53 -08:00
Veselin Dobrev 9d5f62de33 Merge branch 'master' into mfem-4.5.2-dev 2023-03-05 20:27:25 -08:00
Veselin Dobrev f250ee95bb Merge pull request #3520 from lcheng9/master
Initialize two pointers.
2023-03-05 20:24:53 -08:00
Veselin Dobrev 2daf9762a4 Merge branch 'master' into shared-msvc-dev-v2 2023-03-04 21:36:37 -08:00
Veselin Dobrev 8356dd015f In GitHub actions: replace the static build with a shared
build in the windows-par-opt job.
2023-03-04 21:32:41 -08:00
Liang 8c8deaed95 Initialize null pointers.
Some compilers may complain about these two uninitialized pointers, simply resolve it.
2023-03-03 23:24:40 -05:00
Veselin Dobrev 78467f4268 Fix the shared build on Windows with MinGW-w64 2023-03-03 06:36:22 -08:00
Veselin Dobrev e75ab127c8 Bugfix for GitHub issue #3516 2023-03-02 17:25:15 -08:00
Will Pazner 7dfe18cfd5 Call HostWrite in Vector::Load 2023-03-02 09:22:16 +01:00
Veselin Dobrev fff74aca98 Suppress Doxygen warnings in geom.hpp 2023-02-28 21:00:49 -08:00
Sebastian Grimberg 0412f7f9ea Merge branch 'master' into sjg/pyr-ref-leak 2023-02-28 16:24:27 -08:00
Veselin Dobrev ce505ceab2 In the Appveyor CI, test only the serial shared build since
both static and shared tests take too long.

Try to speed up the hypre build with -j 4.
2023-02-27 22:50:44 -08:00
Veselin DobrevandKenny Weiss c3dbd8041b Add support for shared builds on Windows with MSVC using CMake.
This commit based to a large extend on PR #1401.

Co-authored-by: Kenny Weiss <kennyweiss@users.noreply.github.com>
2023-02-27 19:31:21 -08:00
Will Pazner 14716699fd Set UseDevice(true) by default in QuadratureFunction 2023-02-26 14:52:57 -08:00
Veselin Dobrev bbd1b42bab Merge branch 'master' into mfem-4.5.2-dev 2023-02-24 16:49:21 -08:00
Veselin Dobrev 546e96c2a2 Merge branch 'master' into mfem-4.5.2-dev 2023-02-23 09:42:52 -08:00
Veselin Dobrev b9b17575fb Merge branch 'master' into mfem-4.5.2-dev 2023-02-23 09:27:28 -08:00
Ido Akkerman da7ae3d7fe Merge branch 'master' into ab-am-fix 2023-02-23 10:50:34 +01:00
Ido Akkerman ae32fddc73 Merge branch 'ab-am-fix' of https://github.com/mfem/mfem into ab-am-fix 2023-02-23 10:48:08 +01:00
Ido Akkerman d21eb9f5b2 Remove guard and prevent warning output at first timestep 2023-02-23 10:43:01 +01:00
Veselin Dobrev 946ecc4623 Github actions: use v2.3 of the mfem-build action which solves the
slow linking on Ubuntu + CMake. Keep the ability to set additional
configuration options in the build matrix.
2023-02-22 23:41:53 -08:00
Veselin Dobrev 86786df48e Github actions: try another way to pass config-options to the
Ubuntu + CMake build.
2023-02-22 18:37:39 -08:00
Veselin Dobrev 15aae11753 Try to resolve the slow linking issue on Ubuntu + CMake. 2023-02-22 18:10:04 -08:00
Veselin Dobrev 7cda15237b Merge branch 'master' into mfem-4.5.2-dev
Resolved conflicts:
   CHANGELOG
2023-02-22 18:07:58 -08:00
Veselin Dobrev 94573fcaec Merge branch 'master' into mfem-4.5.2-dev 2023-02-21 12:51:03 -08:00
Tzanio Kolev 3f566ab46f Merge branch 'master' into dof-doc-dev 2023-02-21 11:48:37 -08:00
Ben Southworth 6fa71acdd6 fix space in printout 2023-02-21 08:52:20 -07:00
Ben Southworth 1f1fc6e6e5 add missing space 2023-02-21 06:18:35 -07:00
Veselin Dobrev 764898e186 Suppress a warning from CMake about HDF5_ROOT.
In MfemCmakeUtilities.cmake, tweak mfem_find_package() and
mfem_get_target_options() to handle imported libraries better.
2023-02-20 15:22:42 -08:00
Ido Akkerman 61848a0627 Fix print if root statement 2023-02-20 16:33:28 +01:00
Ido Akkerman 4c59647387 Fixing compile error and warning message 2023-02-20 14:59:20 +01:00
Veselin DobrevandChris White 93cdcae163 Fix some CMake issues in FindNetCDF.cmake related to HDF5
Reported-by: Jamie Bramwell <jamiebramwell@users.noreply.github.com>
Co-authored-by: Chris White <white238@users.noreply.github.com>
2023-02-17 16:22:10 -08:00
camierjs 5f6fd83301 Adjust extended lambdas comment and style 2023-02-17 10:40:48 -08:00
camierjs d17338f45e Update CHANGELOG, CONTRIBUTING.md and doc/CodeDocumentation.dox 2023-02-17 10:19:43 -08:00
camierjs 9ec30c32f2 Merge branch 'forall' of github.com:mfem/mfem into forall 2023-02-17 10:15:44 -08:00
camierjs 4b461430ec make style with new mfem::forall, MFEM_HOST_DEVICE for MFEM_FORALL 2023-02-17 10:14:56 -08:00
Ido Akkerman ffbb844a22 Add timestep check to AM and AB solvers. FLush history if timestep changes 2023-02-17 17:34:45 +01:00
Veselin Dobrev b9168bf515 Fix the out-of-source build with make in miniapps/dpg.
Also, fix some warnings from -Wextra and -Wshadow.
2023-02-15 15:39:18 -08:00
Ido Akkerman 3c8f827c8e Small improvement to ODE unit tester 2023-02-15 15:47:32 +01:00
Ido Akkerman 200f146a81 Correct time increment in AB & AM ode integrators 2023-02-15 15:47:20 +01:00
Tzanio Kolev 8053bc25e4 Updated CHANGELOG for the mfem-4.5.2 release 2023-02-14 15:02:48 -08:00
Tzanio Kolev eb2f700b2d Merge branch 'master' into dpg-miniapp 2023-02-14 09:52:25 -08:00
Veselin Dobrev c8aa9544c3 Merge branch 'master' into mfem-4.5.2-dev 2023-02-11 23:33:39 -08:00
Veselin Dobrev 72596e45d4 In defaults.mk, replace the '--amdgpu-target' flag with
'--offload-arch' since new versions of hipcc generate warning
about it; older versions should still work fine with
'--offload-arch'.
2023-02-11 23:27:40 -08:00
Tzanio Kolev 1cd062b77f Merge branch 'master' into forall 2023-02-11 14:42:13 -08:00
camierjs 6e19dee026 CHANGELOG update 2023-02-09 16:50:05 -08:00
camierjs 96e70e365a Revert astyle 2023-02-09 16:47:18 -08:00
camierjs 84517f4357 Cleanup 2023-02-09 16:33:45 -08:00
camierjs cd2b1355e2 Bring back MFEM_FORALL for backward compatibility 2023-02-09 16:17:23 -08:00
Tzanio Kolev 66de366701 Merge branch 'master' into vectorfe-linearform-ext 2023-02-09 10:19:26 -08:00
camierjs 018d5cfb8b Debugging lambdas in mfem::forall 2023-02-08 15:03:34 -08:00
Sebastian Grimberg ae8ed6bb92 Merge branch 'master' into sjg/pyr-ref-leak 2023-02-07 20:25:56 -08:00
Veselin Dobrev b90350b234 Bugfix for issue #3433 2023-02-06 12:04:44 -08:00
Will Pazner 45c373a02c Use static constexpr for lambda capture constants
Otherwise Windows build complains about error:

error C2131: expression did not evaluate to a constant
2023-02-06 11:31:07 -08:00
Will Pazner dadd863539 Support VectorFEDomainLFIntegrator on device 2023-02-06 11:31:06 -08:00
Tzanio Kolev b8b3dc2f73 Merge branch 'master' into nurbs-attr 2023-02-06 11:02:17 -08:00
Tzanio Kolev fbeb31ffd0 Merge branch 'master' into dpg-miniapp 2023-02-06 11:01:36 -08:00
Veselin Dobrev 0a50fe2fde CMake fix for using (with the tests) and exporting the MPI variables
MPI_CXX_COMPILE_FLAGS and MPI_CXX_LINK_FLAGS when defined.
2023-02-05 21:26:41 -08:00
Veselin Dobrev ada669ff40 Merge branch 'master' into mfem-4.5.2-dev 2023-02-05 21:25:46 -08:00
Veselin Dobrev 3764f6e15c Merge branch 'master' into mfem-4.5.2-dev 2023-02-03 13:47:38 -08:00
Socratis Petrides cd6a3fc0bd Merge branch 'master' into dpg-miniapp 2023-02-03 08:21:22 -08:00
Socratis Petrides 94182022c0 more minor edits 2023-02-02 11:42:26 -08:00
Socratis Petrides e815461511 Mark's comments 2023-02-01 15:50:36 -08:00
Socratis Petrides cb589a65d3 style hooke/kernels 2023-01-31 11:55:23 -08:00
Dylan Copeland 08b5a285be Merge branch 'master' of github.com:mfem/mfem into nurbs-attr 2023-01-30 16:30:40 -08:00
Dylan Copeland 9d62c10fbe Setting patch boundary elements on setup rather than on demand. 2023-01-30 16:28:04 -08:00
Socratis Petrides 00b39c6490 Merge branch 'master' into dpg-miniapp 2023-01-30 11:34:28 -08:00
Socratis Petrides ef820a6f85 additional minor edits 2023-01-27 16:10:11 -08:00
Sebastian Grimberg c7e701807a Fix memory leak in pyramid mesh refinement for MFEM_USE_MEMALLOC 2023-01-27 10:51:43 -08:00
Socratis Petrides ce3f20150e typo 2023-01-26 14:48:44 -08:00
Socratis Petrides ff73632efb resolving changelog conflicts 2023-01-26 14:44:01 -08:00
Socratis Petrides f811107ea2 additional edits from reviews 2023-01-26 14:42:12 -08:00
Mark L. Stowell 3538641b58 Merge branch 'master' into dof-doc-dev 2023-01-11 15:38:53 -05:00
Mark L. Stowell 22f4f06bae Merge branch 'master' into mesh-ptr-doc-dev 2023-01-11 15:37:40 -05:00
Stowell, Mark L 122061b0ed Switch to using MPI_Gather 2023-01-11 09:37:55 -05:00
Socratis Petrides 9c2956c207 Merge branch 'master' into dpg-miniapp 2023-01-10 11:18:55 -08:00
Will Pazner 35cea24e21 Move face map logic from restriction.cpp into FiniteElement derived classes
Use inheritance instead of switch statement to dispatch
2023-01-09 20:46:51 -08:00
Will Pazner 9732e4dc6f Make SupportsDevice const
In both LinearFormIntegrator and LinearForm classes
2023-01-09 19:40:21 -08:00
Will Pazner 035301c212 Comment 2023-01-09 19:35:51 -08:00
Will Pazner f6efd6e56b Fix comment 2023-01-09 19:17:26 -08:00
Will Pazner 896922fbe4 Update CHANGELOG 2023-01-08 17:14:57 -08:00
Veselin Dobrev 4882231889 Merge branch 'master' into mfem-4.5.2-dev 2023-01-06 09:19:34 -08:00
Will Pazner f726606b96 Add GetFaceNormal3D to help manage 3D hexahedron face cases 2023-01-05 08:55:45 -08:00
Will Pazner 02fa406807 Refactor FillFaceMap and add explanatory comment 2023-01-05 08:55:20 -08:00
Will Pazner 1e34a98337 ND face restriction 2023-01-05 08:55:19 -08:00
Will Pazner bbd28f5f45 VectorFEBoundaryFluxLFIntegrator kernel in 3D 2023-01-04 18:49:04 -08:00
Will Pazner f413481bff RT face restriction in 3D 2023-01-04 18:49:04 -08:00
Will Pazner 61a922a812 Fix Mesh::FaceInformation output with operator<<
Newline was missing after face topology.

Also use '\n' instead of std::endl for all but last newline since there is no
reason to flush the buffer before then.
2023-01-04 18:48:46 -08:00
Will Pazner 25ba954475 Test device kernel for VectorFEBoundaryFluxLFIntegrator in 2D 2023-01-04 18:48:46 -08:00
Will Pazner a9829da2cb Add device kernel for VectorFEBoundaryFluxLFIntegrator 2023-01-04 18:48:46 -08:00
Will Pazner 1b2ab9253b Add test case for 2D RT face restriction 2023-01-04 18:48:44 -08:00
Will Pazner 067f571dc4 Support 2D RT elements in H1_ND_RT_FaceRestriction 2023-01-04 14:18:27 -08:00
Will Pazner 452cf127c6 Rename H1FaceRestriction to H1_ND_RT_FaceRestriction
The same class should be able to be used for H1, ND, and RT spaces
2023-01-04 14:18:27 -08:00
Will Pazner 328df07f5d Refactor GetFaceDofs to use offset and strides 2023-01-04 14:18:27 -08:00
Socratis Petrides c1493c0063 restructuring exact solution functions for better efficiency 2023-01-03 17:20:50 -08:00
Veselin Dobrev f8f20ba147 Merge branch 'master' into mfem-4.5.2-dev 2022-12-28 10:41:48 -08:00
Tzanio Kolev 26ec509afb Merge branch 'master' into dpg-miniapp 2022-12-28 10:18:11 -08:00
Veselin Dobrev b657fd4d74 Initial changes for the v4.5.2 release 2022-12-24 15:06:13 -08:00
Socratis Petrides 6e55899f7f changes from code reviews 2022-12-21 14:23:59 -08:00
Socratis Petrides 532430bb73 addressing review comments 2022-12-20 16:24:05 -08:00
Socratis Petrides 1b492576e1 fix deprecated warnings 2022-12-20 13:58:27 -08:00
Socratis Petrides f733f7f20e Merge branch 'master' into dpg-miniapp 2022-12-20 12:37:17 -08:00
Socratis Petrides c0c518a15d Fix failed run by increasing integration order in the PML 2022-12-20 12:36:55 -08:00
Ketan Mittal cb9d36b293 fix dist_solver include 2022-12-14 14:45:26 -08:00
Ketan Mittal 23f45ab9df remove trimming option 2022-12-14 14:35:06 -08:00
Ketan Mittal e2e9bd0061 update fitting miniapp 2022-12-14 10:38:20 -08:00
Ketan Mittal 9fe24667c4 fit CMake for shifting dist_solver 2022-12-14 09:46:49 -08:00
Ketan Mittal 1525caaee9 minor clean up and make style 2022-12-14 09:43:45 -08:00
Ketan Mittal 445ffbe037 merge with master, resolve conflict, and make style 2022-12-14 09:27:02 -08:00
Tzanio Kolev bb3865de93 Merge branch 'master' into dpg-miniapp 2022-12-13 11:51:12 -08:00
Dylan Copeland bde55a3686 Merge branch 'master' into nurbs-attr 2022-12-09 09:59:43 -08:00
Ketan Mittal 77f958695b some optimizations and fix node count in serial/parallel for weight of surface fitting term 2022-12-07 11:10:42 -08:00
Socratis Petrides feb4d4168e Merge branch 'master' into dpg-miniapp 2022-11-28 15:07:52 -08:00
Socratis Petrides 7be8636bbd style 2022-11-22 16:02:58 -08:00
Socratis Petrides 23aee7d282 check if dim>1 in examples codes 2022-11-22 16:02:15 -08:00
Socratis Petrides b68d63bf64 addressing reviewers comments 2022-11-22 16:01:50 -08:00
Socratis Petrides b4b2b7fae8 Merge branch 'GradToCurl2D-fix' into dpg-miniapp 2022-11-21 20:37:09 -08:00
Socratis Petrides effb657df6 Merge branch 'GradToCurl2D-fix' into dpg-miniapp 2022-11-21 17:14:53 -08:00
Socratis Petrides 17cdb2d126 Merge branch 'master' into dpg-miniapp 2022-11-21 17:14:23 -08:00
Dylan Copeland 11abc26e00 Setting patch_to_el after setting el_to_patch. 2022-11-14 21:55:22 -08:00
Dylan Copeland 707befe264 Documenting some new functions. 2022-11-14 21:38:39 -08:00
Dylan Copeland ae50320b05 Editing a comment. 2022-11-09 12:18:33 -08:00
Dylan Copeland 2366754d19 Adding functions to set and get attributes on NURBS patches. 2022-11-09 12:06:19 -08:00
jelotz 9c3bed148d Two typos 2022-11-07 09:40:15 +01:00
jelotz 20eb64d8cf make style and more explanation on the choice of weight 2022-11-03 17:40:55 +01:00
jelotz 25f8deb432 Fixed weight problem 2022-11-03 17:37:05 +01:00
jelotz 3874ccd45d Apparantly the routine in FindMaxima did not work for 1 element. I applied a quick fix for now. Unsure if this is good enough. 2022-11-03 17:02:13 +01:00
jelotz 74e92bf60b Restructured example 2022-11-03 14:34:17 +01:00
jelotz 0313c718d8 more documentation 2022-11-03 12:16:20 +01:00
jelotz 59fbbe08fa Added documentation, some style 2022-11-03 12:08:38 +01:00
jelotz e31bfca43b Applied first set of suggestions by dylan-copeland 2022-11-03 10:27:56 +01:00
jelotz ede8ab9a0b removed extra line 2022-11-03 10:09:33 +01:00
Socratis Petrides b4301c01f2 minor comments edits 2022-10-20 15:24:13 -07:00
Socratis Petrides cea8d9f56a bug in static-cond appeared for primal dpg 2022-10-13 11:45:35 -07:00
Socratis Petrides b1a34c252c changelog 2022-10-06 17:37:38 -07:00
Socratis Petrides c9259b989f style 2022-10-06 15:36:30 -07:00
Socratis Petrides 3eef5077d5 introduce enums for dpg fespaces 2022-10-06 15:35:56 -07:00
Socratis Petrides 77a4e2d938 small fix in complex static cond 2022-10-06 15:35:34 -07:00
Socratis Petrides f1f2fd2b4f add paraview clean 2022-10-06 15:35:14 -07:00
Socratis Petrides 669c536e57 update gitignore 2022-10-05 19:50:34 -07:00
Socratis Petrides 69c5d718e6 switching to std::abs 2022-10-05 19:22:56 -07:00
Socratis Petrides 626b40807a fix paths for cmake 2022-10-05 19:00:14 -07:00
Socratis Petrides d5098095bd fix cmake test example 2022-10-05 16:41:23 -07:00
Socratis Petrides 9f663698e0 cmake dublicate target name fix 2022-10-05 15:33:41 -07:00
Socratis Petrides 3e21335d46 cmake fix 2022-10-04 18:12:07 -07:00
Socratis Petrides 3bdb9c74e8 fix mesh paths 2022-10-04 18:08:16 -07:00
Socratis Petrides fa4a285e17 add missing cmakelist file 2022-10-04 18:02:08 -07:00
Socratis Petrides 1d1dc02349 fix test runs 2022-10-04 17:48:04 -07:00
psocratis 02a0046b6e applying make style to miniapps subdirs 2022-10-04 17:02:46 -07:00
psocratis 350693b78a cleaning up makefile 2022-10-04 17:02:06 -07:00
psocratis 014fa18595 rearranging directories 2022-10-04 17:01:33 -07:00
Socratis Petrides 087d840d4f rearranging some code 2022-10-03 17:47:36 -07:00
Socratis Petrides 801c1c2f70 switching to manual RAP 2022-10-03 17:36:28 -07:00
Socratis Petrides 2c91da029a another built bug 2022-10-03 17:08:53 -07:00
Socratis Petrides a3583842d8 remove unused files 2022-10-03 16:18:36 -07:00
Socratis Petrides e29a3357a7 fix serial built in static_cond 2022-10-03 16:17:17 -07:00
Socratis Petrides a336dfcd19 fixing serial built in complexstaticcond 2022-10-03 16:02:46 -07:00
Socratis Petrides 2f6fd3e90c fixing l-shape problem 2022-10-02 15:41:00 -07:00
Socratis Petrides 0ac0a2d23f makefile fix 2022-10-02 15:41:00 -07:00
Socratis Petrides 7c0f6c5aca minor-add paraview option 2022-10-02 15:41:00 -07:00
Socratis Petrides d1126cb6aa paraview option 2022-10-02 15:41:00 -07:00
Socratis Petrides 33c1c0dafe cleaning up acoustics and maxwell parallel examples 2022-10-02 15:41:00 -07:00
Socratis Petrides e5472c17d9 cleaning up pml implementation 2022-10-02 15:41:00 -07:00
Socratis Petrides 4e26c830d7 fixing printing in real examples 2022-10-02 15:41:00 -07:00
Socratis Petrides d03399f574 maxwell dpg-pml bug fixes 2022-10-02 15:41:00 -07:00
Socratis Petrides 603d02a46b add microwave mesh 2022-10-02 15:41:00 -07:00
Socratis Petrides 38cf7ab8fa merge pml maxwell implementation to pmaxwell. 2022-10-02 15:41:00 -07:00
Socratis Petrides 79377fbf74 simplify pml functions 2022-10-02 15:41:00 -07:00
Socratis Petrides 42fa6194ce fix bug in pml-adjoint graph norm in acoustics 2022-10-02 15:41:00 -07:00
Socratis Petrides acc22b1925 finalizing acoustics parallel example 2022-10-02 15:41:00 -07:00
Socratis Petrides 4ad62c7037 cleaning up pml 2022-10-02 15:41:00 -07:00
Socratis Petrides 1276a71c4d check if matrices are stored for residual computation 2022-10-02 15:41:00 -07:00
Socratis Petrides 1508dd69c8 more changes in parallel acoustics 2022-10-02 15:41:00 -07:00
Socratis Petrides 3f5abb92b7 simplify PML classes 2022-10-02 15:41:00 -07:00
Socratis Petrides d8c98a6291 fix makefile 2022-10-02 15:41:00 -07:00
Socratis Petrides a9034da4ad cleaning up acoustics and maxwell serial examples 2022-10-02 15:41:00 -07:00
Socratis Petrides 6628ba8b72 cleaning up real examples 2022-10-02 15:41:00 -07:00
Socratis Petrides 35ff0e4fc4 minor 2022-10-02 15:41:00 -07:00
Socratis Petrides 1b0b3dfd43 switch to DSmoother 2022-10-02 15:41:00 -07:00
Socratis Petrides 5ff2d6ac5c cleaning up convection-diffusion examples 2022-10-02 15:41:00 -07:00
Socratis Petrides 907c2ceca5 cleaning up diffusion examples 2022-10-02 15:41:00 -07:00
Socratis Petrides 58a311e8e3 fixing makefile to include miniapps-common lib 2022-10-02 15:41:00 -07:00
Socratis Petrides 3d7ba1e770 static_cond flag in AMR 2022-10-02 15:41:00 -07:00
Socratis Petrides e74432b53a fixing static cond flag 2022-10-02 15:41:00 -07:00
Socratis Petrides 36d0405efa parallel AMR diffusion l-shape benchmark cleanup 2022-10-02 15:41:00 -07:00
Socratis Petrides 813ed1e27a removing graph-norm from diffusion. Cleanup 2022-10-02 15:41:00 -07:00
Socratis Petrides 8415e3e692 cleanup serial diffusion example 2022-10-02 15:41:00 -07:00
Socratis Petrides 9e3428816a setting up 3 pml acoustics problems. Still needs a bit cleanup 2022-10-02 15:41:00 -07:00
Socratis Petrides deb23168a8 AMR acoustics example with pml 2022-10-02 15:41:00 -07:00
Socratis Petrides affdf1c002 amr with maxwell and pml 2022-10-02 15:40:59 -07:00
Socratis Petrides a8fa68a031 shadow variable 2022-10-02 15:40:59 -07:00
Socratis Petrides 2425dce5fa fix makefile 2022-10-02 15:40:59 -07:00
Socratis Petrides 89a8511a5d indefinite maxwell implementation 2022-10-02 15:40:59 -07:00
Socratis Petrides 6850af07db acoustics implementation 2022-10-02 15:40:59 -07:00
Socratis Petrides c7cb80f5be complex static cond 2022-10-02 15:40:59 -07:00
Socratis Petrides aaaa9356f0 adding dpg complexweakform (serial and parallel) 2022-10-02 15:40:59 -07:00
Socratis Petrides 6430763cd9 make sure triangular meshes are treated as non-conforming as well 2022-10-02 15:40:59 -07:00
Socratis Petrides 5c2415fa77 adding benchmark examples in parallel convection diffusion with AMR 2022-10-02 15:40:59 -07:00
Socratis Petrides 5805129371 convection diffusion problems 2022-10-02 15:40:59 -07:00
Socratis Petrides a6aa1fb599 fixing shadow variables 2022-10-02 15:40:59 -07:00
Socratis Petrides 64b63251d2 par diffusions l-shape benchmark 2022-10-02 15:30:14 -07:00
Socratis Petrides d011e99076 parallel DPG weak form 2022-10-02 15:30:14 -07:00
Socratis Petrides 5fc7059eb4 diffusion l-shape benchmark with AMR 2022-10-02 15:30:14 -07:00
Socratis Petrides 0b2f7aa0d6 dpg diffusion example 2022-10-02 15:30:14 -07:00
Socratis Petrides 9b3353753c dpg static cond 2022-10-02 15:30:14 -07:00
Socratis Petrides c622165124 add dpg weakform 2022-10-02 15:30:14 -07:00
Socratis Petrides abbf3b37c0 fix wrong signature 2022-10-02 15:30:14 -07:00
Socratis Petrides ee169abc65 dpg trace integrators 2022-10-02 15:30:14 -07:00
Socratis Petrides a50c5b361d Setup directory stracture 2022-10-02 15:30:13 -07:00
Jacob Lotz faedaf40af removed old debug statement 2022-09-28 18:19:57 +02:00
Jacob Lotz 267c31364b Streamlined rotation function 2022-09-28 17:35:45 +02:00
Jacob Lotz 056d48d10d removed comments 2022-09-28 16:18:08 +02:00
Jacob Lotz d399b500d2 make style 2022-09-28 14:16:29 +02:00
Jacob Lotz 15a2e635ee Improved documentation 2022-09-28 14:10:55 +02:00
Jacob Lotz f498fcb148 Improved naming 2022-09-28 12:04:48 +02:00
Jacob Lotz 56c73a0b86 small bug fix 2022-09-28 12:04:37 +02:00
Jacob Lotz a409702288 Added source of curve interpolation function 2022-09-27 11:36:11 +02:00
Jacob Lotz 0d14fdb231 make style 2022-09-26 17:35:17 +02:00
Jacob Lotz 829b9283e7 Updated makefile to account for interpolation example 2022-09-26 17:26:45 +02:00
Jacob Lotz 64e723e054 Small typo fix 2022-09-26 17:26:27 +02:00
Jacob Lotz 6a1d2885df Added example/miniapp to show usage of curveinterpolation 2022-09-26 17:23:37 +02:00
Jacob Lotz be5f84955d Fix bug in degree elevate 2022-09-22 16:01:32 +02:00
Jacob Lotz 0fb6da6543 Implement two curvefitting functions FindMaxima and FintInterpolant. 2022-09-22 16:00:32 +02:00
Jacob Lotz e10bf30ac2 make style 2022-09-21 17:28:39 +02:00
Jacob Lotz 3fe56e5b4e Implementation of a rotation option for 2D NURBS patch. Similar to the 3D option. 2022-09-21 17:27:23 +02:00
Ketan Mittal 4ccf6d31ad Merge branch 'master' of https://github.com/mfem/mfem into tmop-bif 2022-09-20 09:40:59 -06:00
Ketan Mittal 153dc6aeac make style and parameterize some components 2022-09-20 09:40:45 -06:00
Stowell, Mark L 66077d66a1 Adding comments about DofTransformation as a returned object 2022-09-09 13:45:26 -07:00
Stowell, Mark L 8a8d2ec0d9 Adding a mention of DofTransformation in ldof description 2022-09-09 13:29:33 -07:00
Stowell, Mark L dd8a19d180 Merge remote-tracking branch 'origin/master' into mesh-ptr-doc-dev 2022-09-09 12:55:51 -07:00
Stowell, Mark L 30c728bc84 Merge remote-tracking branch 'origin/master' into dof-doc-dev 2022-09-09 12:55:03 -07:00
Stowell, Mark L bc745ada10 Expanding docs for the VDoF methods (mostly) 2022-09-09 10:48:47 -07:00
Stowell, Mark L 8e75633838 Adding references to dof type descriptions 2022-09-08 14:09:09 -07:00
Ketan Mittal 84a43d74e6 add weighting for surface fitting terms 2022-08-28 07:59:51 -07:00
Ketan Mittal b8a62066b4 Merge branch 'master' of https://github.com/mfem/mfem into tmop-bif 2022-08-22 15:12:42 -07:00
Stowell, Mark L f30fcbf828 Documenting dof types in FiniteElementSpace class docs 2022-08-19 14:23:51 -07:00
Ketan Mittal 477b676190 misc clean up, remove unneeded level sets 2022-08-11 16:26:17 -07:00
Ketan Mittal 64218c7509 make style 2022-08-09 16:27:16 -07:00
Ketan Mittal 1ce8f6ea37 merge with master and resolve conflicts 2022-08-09 16:26:55 -07:00
Ketan Mittal f17ee1133a remove spaces from inline-hex 2022-08-09 15:14:01 -07:00
Stowell, Mark L 9f03e9f682 Extending documentation for pmesh nurbs and element 2022-08-04 14:59:45 -07:00
Stowell, Mark L 3fadacb72b Merge remote-tracking branch 'origin/master' into mesh-ptr-doc-dev 2022-08-03 17:12:04 -07:00
Stowell, Mark L 94ae0d9c5e Expanding comments in mesh.hpp 2022-08-03 17:09:33 -07:00
Ketan Mittal b3385367f0 misc updates.. still debugging 2022-08-01 15:45:59 -07:00
Stowell, Mark L 8709602daa Small documentation changes to Mesh 2022-07-26 14:23:49 -07:00
Ketan Mittal 1baccc786c modify LSF for 3D case to use r-function 2022-06-16 11:28:49 -07:00
Ketan Mittal 25d06a62b5 work for different node ordering 2022-06-14 13:14:33 -07:00
Ketan Mittal 0cf3bc7f14 doxygen comment 2022-05-24 13:33:22 -07:00
Ketan Mittal 42a7bd8e2f Merge branch 'pmesh-to-serial-mesh' of https://github.com/mfem/mfem into tmop-bif 2022-05-24 12:02:37 -07:00
Ketan Mittal fca9768dc2 Merge branch 'master' of https://github.com/mfem/mfem into tmop-bif 2022-05-24 11:49:46 -07:00
Ketan Mittal dce4047d0f remove par mesh save with attributes 2022-05-24 11:49:25 -07:00
Ketan Mittal 6148f1e015 make style 2022-05-05 14:00:50 -07:00
Ketan Mittal b19a02b488 add 3D example and fix pmesh save with attributes 2022-05-05 14:00:31 -07:00
Ketan Mittal cb5e7adf45 misc changes 2022-04-21 09:57:53 -07:00
Ketan Mittal fab5fc1552 minor changes 2022-04-15 12:54:10 -07:00
Ketan Mittal 0f6c6d28fe use custom scaling for penalization weight and max num of increments 2022-04-11 08:32:51 -07:00
Ketan Mittal 4fc789bc7c option to work using distance function on current mesh 2022-04-04 18:09:13 -07:00
Ketan Mittal 92f246dd54 update miniapp 2022-04-04 14:31:42 -07:00
Ketan Mittal a2166e2dd1 add machinery for source mesh for fitting 2022-04-04 14:31:04 -07:00
Ketan Mittal e6198e2617 move distance solver to common 2022-04-04 14:30:32 -07:00
Ketan Mittal 78dc0db5d8 initial commit 2022-04-04 10:46:57 -07:00
865 changed files with 22674 additions and 3054 deletions
+14 -8
View File
@@ -31,7 +31,7 @@ install:
- ps: ( get-content "GKlib\gk_arch.h") | % { If ($_.ReadCount -ge 52) {$_ -replace "#ifdef __MSC__","#ifdef DISABLE_THIS_ANCIENT_MSC_CHECK"} Else {$_} } | set-content "GKlib\gk_arch.h"
- cmake -H. -Bbuild
# -DCMAKE_BUILD_TYPE=Release
- cmake --build build
- cmake --build build --target metis -j 4
- set METIS_PATH=%cd%
- cd ..
@@ -40,7 +40,7 @@ install:
- 7z x v2.19.0.tar.gz -so | 7z x -si -ttar > nul
- cd hypre-2.19.0/src
- cmake -H. -Bbuild
- cmake --build build
- cmake --build build -j 4
- cmake --build build --target install
- cd ../..
@@ -49,14 +49,20 @@ install:
# MFEM
before_build:
- cmake -H. -DCMAKE_INSTALL_PREFIX=install -Bbuild_parallel -DMFEM_USE_MPI=TRUE -DMFEM_USE_METIS_5=TRUE -DHYPRE_DIR=%cd%\..\hypre-2.19.0\src\hypre -DMETIS_LIBRARIES=%METIS_PATH%\build\libmetis\Debug\metis.lib -DMETIS_INCLUDE_DIRS=%METIS_PATH%\include
- cmake -H. -DCMAKE_INSTALL_PREFIX=install -Bbuild_serial -DMFEM_USE_MPI=FALSE
- cmake . -Bbuild_parallel -DMFEM_USE_MPI=TRUE -DMFEM_USE_METIS_5=TRUE -DHYPRE_DIR=%cd%\..\hypre-2.19.0\src\hypre -DMETIS_LIBRARIES=%METIS_PATH%\build\libmetis\Debug\metis.lib -DMETIS_INCLUDE_DIRS=%METIS_PATH%\include
# - cmake . -Bbuild_serial -DMFEM_USE_MPI=FALSE
- cmake . -Bbuild_shared_serial -DMFEM_USE_MPI=FALSE -DBUILD_SHARED_LIBS=ON
build_script:
- cmake --build build_parallel --config Release -j 4
- cmake --build build_serial --config Release -j 4
- cmake --build build_serial --target exec --config Release -j 4
- cmake --build build_parallel --config Debug -j 4
# - cmake --build build_serial --config Release -j 4
# - cmake --build build_serial --target exec --config Release -j 4
- cmake --build build_shared_serial --config Release -j 4
- cmake --build build_shared_serial --target exec --config Release -j 4
after_build:
- cd build_serial
# - cd build_serial
# - ctest -C Release --output-on-failure
# - cd ..
- cd build_shared_serial
- ctest -C Release --output-on-failure
+17 -8
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
@@ -74,12 +74,19 @@ jobs:
codecov: YES
- os: windows-latest
codecov: NO
- os: windows-latest
target: opt
mpi: par
config-opts: '-DBUILD_SHARED_LIBS=ON'
- os: ubuntu-latest
target: opt
codecov: NO
mpi: par
build-system: cmake
hypre-target: int32
# This option can be set to pass additional configuration options to
# the MFEM configuration command.
# config-opts: '-DCMAKE_VERBOSE_MAKEFILE=ON'
- os: ubuntu-latest
target: opt
codecov: NO
@@ -155,7 +162,7 @@ jobs:
- name: get hypre
if: matrix.mpi == 'par' && steps.hypre-cache.outputs.cache-hit != 'true' && matrix.os != 'windows-latest'
uses: mfem/github-actions/build-hypre@v2.2
uses: mfem/github-actions/build-hypre@v2.4
with:
archive: ${{ env.HYPRE_ARCHIVE }}
dir: ${{ env.HYPRE_TOP_DIR }}
@@ -164,7 +171,7 @@ jobs:
- name: get hypre (Windows)
if: matrix.mpi == 'par' && steps.hypre-cache.outputs.cache-hit != 'true' && matrix.os == 'windows-latest'
uses: mfem/github-actions/build-hypre@v2.2
uses: mfem/github-actions/build-hypre@v2.4
with:
archive: ${{ env.HYPRE_ARCHIVE }}
dir: ${{ env.HYPRE_TOP_DIR }}
@@ -183,7 +190,7 @@ jobs:
- name: install metis
if: matrix.mpi == 'par' && matrix.os != 'windows-latest' && steps.metis-cache.outputs.cache-hit != 'true'
uses: mfem/github-actions/build-metis@v2.2
uses: mfem/github-actions/build-metis@v2.4
with:
archive: ${{ env.METIS_ARCHIVE }}
dir: ${{ env.METIS_TOP_DIR }}
@@ -210,7 +217,7 @@ jobs:
# MFEM build and test
- name: build
uses: mfem/github-actions/build-mfem@v2.2
uses: mfem/github-actions/build-mfem@v2.4
env:
VCPKG_DEFAULT_BINARY_CACHE: ${{ github.workspace }}/vcpkg_cache
with:
@@ -222,7 +229,7 @@ jobs:
hypre-dir: ${{ env.HYPRE_TOP_DIR }}
metis-dir: ${{ env.METIS_TOP_DIR }}
mfem-dir: ${{ env.MFEM_TOP_DIR }}
config-options: ${{ env.MFEM_EXTRA_CONFIG }}
config-options: ${{ matrix.config-opts }}
library-only: ${{ matrix.target == 'dbg' }}
# Run checks (and only checks) on debug targets
@@ -256,13 +263,15 @@ jobs:
if: matrix.build-system == 'cmake' && matrix.target == 'opt' && matrix.os != 'ubuntu-latest'
run: |
CTEST_CONFIG="Release"
cd ${{ env.MFEM_TOP_DIR }}/build && ctest --output-on-failure -C ${CTEST_CONFIG}
cd ${{ env.MFEM_TOP_DIR }}/build && \
ctest --output-on-failure -C ${CTEST_CONFIG} || \
ctest --rerun-failed --output-on-failure -C ${CTEST_CONFIG}
shell: bash
# Code coverage (process and upload reports)
- name: codecov
if: matrix.codecov == 'YES'
uses: mfem/github-actions/upload-coverage@v2.2
uses: mfem/github-actions/upload-coverage@v2.4
with:
name: ${{ matrix.os }}-${{ matrix.build-system }}-${{ matrix.target }}-${{ matrix.mpi }}-${{ matrix.hypre-target }}
project_dir: ${{ env.MFEM_TOP_DIR }}
+4 -4
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
@@ -57,7 +57,7 @@ jobs:
- name: Get Hypre
if: steps.hypre-cache.outputs.cache-hit != 'true'
uses: mfem/github-actions/build-hypre@v2.2
uses: mfem/github-actions/build-hypre@v2.4
with:
archive: ${{ env.HYPRE_ARCHIVE }}
dir: ${{ env.HYPRE_TOP_DIR }}
@@ -72,14 +72,14 @@ jobs:
- name: Install Metis
if: steps.metis-cache.outputs.cache-hit != 'true'
uses: mfem/github-actions/build-metis@v2.2
uses: mfem/github-actions/build-metis@v2.4
with:
archive: ${{ env.METIS_ARCHIVE }}
dir: ${{ env.METIS_TOP_DIR }}
# MFEM build and test
- name: build-mfem
uses: mfem/github-actions/build-mfem@v2.2
uses: mfem/github-actions/build-mfem@v2.4
with:
os: ${{ runner.os }}
target: opt
+70
View File
@@ -0,0 +1,70 @@
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
# This file is part of the MFEM library. For more information and source code
# availability visit https://mfem.org.
#
# MFEM is free software; you can redistribute it and/or modify it under the
# terms of the BSD-3 license. We welcome feedback and contributions, see file
# CONTRIBUTING.md for details.
name: "Sanitizer"
permissions:
actions: write
on:
push:
branches:
- master
- next
pull_request:
workflow_dispatch:
jobs:
Serial:
runs-on: ubuntu-latest
steps:
- name: Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.11.0
with:
access_token: ${{ github.token }}
- name: MFEM Checkout
uses: actions/checkout@v3
with:
path: mfem
- name: MFEM Build
uses: mfem/github-actions/build-mfem@v2.4
with:
os: ${{ runner.os }}
target: opt
mpi: seq
hypre-dir: unused-hypre-dir
metis-dir: unused-metis-dir
mfem-dir: mfem
build-system: make
library-only: false
config-options:
CXX="clang++-14"
CXXFLAGS="-g -O1 -std=c++11
-fsanitize=address
-fno-omit-frame-pointer
-fsanitize-address-use-after-scope"
- name: MFEM Info
working-directory: mfem
run: make info
- name: MFEM Sanitize
working-directory: mfem
run:
ASAN_OPTIONS="detect_leaks=1,
strict_init_order=1,
strict_string_checks=1,
check_initialization_order=1,
detect_stack_use_after_return=1"
make test
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+23 -7
View File
@@ -21,6 +21,9 @@ CMakeFiles/
# Default install location
/mfem/
# Typical build directory
/build/
# Generated files in main directory, config/ and docs/
/deps.mk
config/_config.hpp
@@ -118,11 +121,9 @@ examples/amgx/sol.gf
examples/amgx/mesh.*
examples/amgx/sol.*
examples/gingko/ex1
examples/gingko/refined.mesh
examples/gingko/sol.gf
examples/gingko/mesh.*
examples/gingko/sol.*
examples/ginkgo/ex1
examples/ginkgo/refined.mesh
examples/ginkgo/sol.gf
examples/hiop/ex9
examples/hiop/ex9p
@@ -148,8 +149,8 @@ examples/petsc/velocity.*
examples/petsc/elastic_energy.*
examples/petsc/mode_*
examples/pumi/ex1
examples/pumi/ex[126]p
examples/pumi/ex[12]
examples/pumi/ex[16]p
examples/pumi/refined.mesh
examples/pumi/sol.gf
examples/pumi/mesh.*
@@ -194,6 +195,9 @@ miniapps/gslib/field-diff
miniapps/gslib/field-interp
miniapps/gslib/findpts
miniapps/gslib/pfindpts
miniapps/gslib/schwarz_ex1
miniapps/gslib/schwarz_ex1p
miniapps/gslib/interpolated.gf
miniapps/meshing/mobius-strip
miniapps/meshing/klein-bottle
@@ -206,6 +210,7 @@ miniapps/meshing/trimmer
miniapps/meshing/reflector
miniapps/meshing/mesh-optimizer
miniapps/meshing/pmesh-optimizer
miniapps/meshing/pmesh-fitting
miniapps/meshing/minimal-surface
miniapps/meshing/pminimal-surface
miniapps/meshing/polar-nc
@@ -245,6 +250,7 @@ miniapps/navier/navier_tgv
miniapps/navier/navier_shear
miniapps/navier/navier_3dfoc
miniapps/navier/navier_turbchan
miniapps/navier/navier_cht
miniapps/navier/tgv_out*.txt
miniapps/navier/*_output
@@ -316,6 +322,16 @@ miniapps/parelag/*.mesh
miniapps/multidomain/multidomain
miniapps/hooke/hooke
miniapps/dpg/diffusion
miniapps/dpg/pdiffusion
miniapps/dpg/convection-diffusion
miniapps/dpg/pconvection-diffusion
miniapps/dpg/acoustics
miniapps/dpg/pacoustics
miniapps/dpg/maxwell
miniapps/dpg/pmaxwell
miniapps/dpg/ParaView
# Unit test binary and outputs
tests/unit/output_meshes
tests/unit/unit_tests
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+7 -11
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
@@ -22,12 +22,10 @@
date
echo "Waiting to acquire lock on '$PWD/autotest.lock' ..."
# try to get an exclusive lock on fd 9 (autotest.lock) repeating the try
# every 5 seconds; simply using no timeout, i.e. 'flock 9', causes the
# command to hang indefinitely sometimes, so we use the timeout & retry
# as a workaround; we may want to add a counter for the number of
# every 5 seconds; we may want to add a counter for the number of
# retries to interrupt a potential infinite loop
while ! flock -w 5 9; do
true
while ! flock -n 9; do
sleep 5
done
echo "Acquired lock on '$PWD/autotest.lock'"
date
@@ -57,12 +55,10 @@
date
echo "Waiting to acquire lock on '$PWD/autotest.lock' ..."
# try to get an exclusive lock on fd 9 (autotest.lock) repeating the try
# every 5 seconds; simply using no timeout, i.e. 'flock 9', causes the
# command to hang indefinitely sometimes, so we use the timeout & retry
# as a workaround; we may want to add a counter for the number of
# every 5 seconds; we may want to add a counter for the number of
# retries to interrupt a potential infinite loop
while ! flock -w 5 9; do
true
while ! flock -n 9; do
sleep 5
done
echo "Acquired lock on '$PWD/autotest.lock'"
date
+4 -6
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
@@ -47,12 +47,10 @@ setup_baseline:
date
echo "Waiting to acquire lock on '$PWD/autotest.lock' ..."
# try to get an exclusive lock on fd 9 (autotest.lock) repeating the try
# every 5 seconds; simply using no timeout, i.e. 'flock 9', causes the
# command to hang indefinitely sometimes, so we use the timeout & retry
# as a workaround; we may want to add a counter for the number of
# every 5 seconds; we may want to add a counter for the number of
# retries to interrupt a potential infinite loop
while ! flock -w 5 9; do
true
while ! flock -n 9; do
sleep 5
done
echo "Acquired lock on '$PWD/autotest.lock'"
date
+8 -12
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
@@ -35,13 +35,11 @@ setup:
(
date
echo "Waiting to acquire lock on '$PWD/mfem-data.lock' ..."
# try to get an exclusive lock on fd 9 (mfem-data.lock) repeating the try
# every 5 seconds; simply using no timeout, i.e. 'flock 9', causes the
# command to hang indefinitely sometimes, so we use the timeout & retry
# as a workaround; we may want to add a counter for the number of
# try to get an exclusive lock on fd 9 (mfem-data.lock) repeating the
# try every 5 seconds; we may want to add a counter for the number of
# retries to interrupt a potential infinite loop
while ! flock -w 5 9; do
true
while ! flock -n 9; do
sleep 5
done
echo "Acquired lock on '$PWD/mfem-data.lock'"
date
@@ -69,12 +67,10 @@ setup:
date
echo "Waiting to acquire lock on '$PWD/autotest.lock' ..."
# try to get an exclusive lock on fd 9 (autotest.lock) repeating the try
# every 5 seconds; simply using no timeout, i.e. 'flock 9', causes the
# command to hang indefinitely sometimes, so we use the timeout & retry
# as a workaround; we may want to add a counter for the number of
# every 5 seconds; we may want to add a counter for the number of
# retries to interrupt a potential infinite loop
while ! flock -w 5 9; do
true
while ! flock -n 9; do
sleep 5
done
echo "Acquired lock on '$PWD/autotest.lock'"
date
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+4 -4
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
@@ -14,14 +14,14 @@ stages:
- build_and_test
- report
opt_mpi_cuda_xl_16_1_1_8:
opt_mpi_cuda_xl_16_1_1_12:
variables:
SPEC: "%xl@16.1.1.8 +mpi +cuda cuda_arch=70"
SPEC: "%xl@16.1.1.12 +mpi +cuda cuda_arch=70"
extends: .build_and_test_on_lassen
opt_mpi_cuda_hypre_cuda_xl:
variables:
SPEC: "%xl@16.1.1.8 +mpi +cuda cuda_arch=70 ^hypre+cuda~shared cuda_arch=70"
SPEC: "%xl@16.1.1.12 +mpi +cuda cuda_arch=70 ^hypre+cuda~shared cuda_arch=70"
extends: .build_and_test_on_lassen
# Jobs report
+12 -10
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
@@ -51,6 +51,8 @@ cleanup:
script:
- echo "BUILD_ROOT=${BUILD_ROOT}"
- rm -rf "${BUILD_ROOT}" || true
- echo "CI_PROJECT_DIR=${CI_PROJECT_DIR}"
- make -C "${CI_PROJECT_DIR}" distclean
report_baseline:
extends: [.on_quartz]
@@ -66,12 +68,10 @@ report_baseline:
date
echo "Waiting to acquire lock on '$PWD/autotest.lock' ..."
# try to get an exclusive lock on fd 9 (autotest.lock) repeating the try
# every 5 seconds; simply using no timeout, i.e. 'flock 9', causes the
# command to hang indefinitely sometimes, so we use the timeout & retry
# as a workaround; we may want to add a counter for the number of
# every 5 seconds; we may want to add a counter for the number of
# retries to interrupt a potential infinite loop
while ! flock -w 5 9; do
true
while ! flock -n 9; do
sleep 5
done
echo "Acquired lock on '$PWD/autotest.lock'"
date
@@ -82,12 +82,14 @@ report_baseline:
rundir="${MACHINE_NAME}/$(date +%Y-%m-%d)-gitlab-${BASELINE_TEST}-${CI_COMMIT_REF_SLUG}"
rundir=$(${CI_PROJECT_DIR}/.gitlab/scripts/safe_create_rundir ${rundir})
cp ${CI_PROJECT_DIR}/${ARTIFACTS_DIR}/* ${rundir}
# We create an autotest-email.html file, because that's how we signal that there was a diff (temporary).
if [[ -f ${rundir}/${BASELINE_TEST}.err ]]; then
cp ${rundir}/${BASELINE_TEST}.err ${rundir}/autotest-email.html
fi
printf "%s\n" "" "Pipeline URL:" "$CI_PIPELINE_URL" \
>> ${rundir}/pipeline.txt
# We create an autotest-email.html file, because that's how we signal
# that there was an error / diff (temporary).
if [[ -f ${rundir}/${BASELINE_TEST}.err ]] || \
[[ -f ${rundir}/${BASELINE_TEST}-${SYS_TYPE}.diff ]]; then
cp ${rundir}/pipeline.txt ${rundir}/autotest-email.html
fi
msg="GitLab CI log for ${BASELINE_TEST} on ${MACHINE_NAME} ($(date +%Y-%m-%d))"
if [[ "$AUTOTEST_COMMIT" != "NO" ]]; then
git pull && \
+15 -20
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
@@ -27,44 +27,39 @@ allocate_resource:
timeout: 6h
# GitLab jobs for the Quartz machine at LLNL
debug_ser_gcc_4_9_3:
debug_ser_gcc_10:
variables:
SPEC: "%gcc@4.9.3 +debug~mpi"
SPEC: "%gcc@10.3.1 +debug~mpi"
extends: .build_and_test_on_quartz
debug_ser_gcc_6_1_0:
debug_par_gcc_10:
variables:
SPEC: "%gcc@6.1.0 +debug~mpi"
SPEC: "%gcc@10.3.1 +debug+mpi"
extends: .build_and_test_on_quartz
debug_par_gcc_6_1_0:
opt_ser_gcc_10:
variables:
SPEC: "%gcc@6.1.0 +debug+mpi"
SPEC: "%gcc@10.3.1 ~mpi"
extends: .build_and_test_on_quartz
opt_ser_gcc_6_1_0:
opt_par_gcc_10:
variables:
SPEC: "%gcc@6.1.0 ~mpi"
SPEC: "%gcc@10.3.1"
extends: .build_and_test_on_quartz
opt_par_gcc_6_1_0:
opt_par_gcc_10_sundials:
variables:
SPEC: "%gcc@6.1.0"
SPEC: "%gcc@10.3.1 +sundials"
extends: .build_and_test_on_quartz
opt_par_gcc_6_1_0_sundials:
opt_par_gcc_10_petsc:
variables:
SPEC: "%gcc@6.1.0 +sundials"
SPEC: "%gcc@10.3.1 +petsc ^petsc+mumps~superlu-dist"
extends: .build_and_test_on_quartz
opt_par_gcc_6_1_0_petsc:
opt_par_gcc_10_pumi:
variables:
SPEC: "%gcc@6.1.0 +petsc ^petsc+mumps~superlu-dist"
extends: .build_and_test_on_quartz
opt_par_gcc_6_1_0_pumi:
variables:
SPEC: "%gcc@6.1.0 +pumi"
SPEC: "%gcc@10.3.1 +pumi"
extends: .build_and_test_on_quartz
# Release
+20 -33
View File
@@ -1,6 +1,6 @@
#!/bin/bash
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
@@ -42,47 +42,34 @@ fi
# post
mkdir ${artifacts_path}
if [[ -s ${glob_err} ]]
then
echo "ERROR during ${BASELINE_TEST} execution";
echo "Here is the ${glob_err} file content";
cat ${glob_err}
cp ${glob_err} ${artifacts_path}/${glob_err}
exit 1;
elif [[ ! -f ${base_patch} && ! -f ${base_out} ]]
then
echo "Something went WRONG in ${BASELINE_TEST}:";
echo "Either ${base_patch} or ${base_out} should exists";
exit 1;
elif [[ -f ${base_patch} ]]
then
echo "${BASELINE_TEST}: Differences found, patch generated"
cp ${base_patch} ${artifacts_path}/${base_patch}
elif [[ -f ${base_out} ]]
then
echo "${BASELINE_TEST}: Differences found, replacement file generated"
cp ${base_out} ${artifacts_path}/${base_out}
fi
status=0
if [[ -f ${BASELINE_TEST}.out ]]; then
cp ${BASELINE_TEST}.out ${artifacts_path}
fi
if [[ -s ${glob_err} ]]; then
echo "ERROR during ${BASELINE_TEST} execution"
echo "Here is the ${glob_err} file content"
cat ${glob_err}
cp ${glob_err} ${artifacts_path}/${glob_err}
status=1
fi
if [[ -f ${base_patch} ]]; then
echo "${BASELINE_TEST}: Differences found, patch generated"
cp ${base_patch} ${artifacts_path}/${base_patch}
elif [[ -f ${base_out} ]]; then
echo "${BASELINE_TEST}: Differences found, replacement file generated"
cp ${base_out} ${artifacts_path}/${base_out}
fi
# base_diff won't even exist if there is no difference.
if [[ -f ${base_diff} ]]
then
if [[ -f ${base_diff} ]]; then
echo "${BASELINE_TEST}: Relevant differences (filtered diff) ..."
cat ${base_diff}
cp ${base_diff} ${artifacts_path}/${base_diff}
# We create a .err file, because that's how we signal that there was a diff.
cp ${base_diff} ${artifacts_path}/gitlab-${BASELINE_TEST}-${MACHINE_NAME}.err
status=1
fi
if [[ ! -s ${base_diff} ]]
then
if [[ $status -eq 0 ]]; then
echo "${BASELINE_TEST}: PASSED"
true
else
echo "${BASELINE_TEST}: FAILED"
false
fi
exit $status
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/bash
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/bash
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
@@ -1,6 +1,6 @@
#!/bin/bash
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
@@ -1,6 +1,6 @@
#!/bin/bash
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/bash
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+73 -38
View File
@@ -8,61 +8,94 @@
https://mfem.org
Version 4.5.1 (development)
Version 4.5.3 (development)
===========================
- When using discontinuous (L2) spaces, use local (element-wise) L2 projection
as the coarsening operator for non-conforming AMR meshes.
Meshing improvements
--------------------
- Added new methods in the Mesh class to set and get attributes on NURBS patches
and patch boundaries.
- Improved lambda body debugging with the addition of mfem::forall functions.
These functions can take the place of the MFEM_FORALL macros, which have been
preserved for backwards compatibility.
- TMOP improvement: added asymptotically-balanced compound metrics 90, 94, 328,
338. Added the tmop-metric-magnitude tool for tracking how metrics change
under geometric perturbations.
New and updated examples and miniapps
-------------------------------------
- Added a miniapp pmesh-fitting in miniapps/meshing for interface and boundary
fitting to implicit domains defined using level-set functions.
- Moved the distance solver methods from miniapps/shifted to miniapps/common.
Discretization improvements
---------------------------
- Face restriction operators for Nedelec and Raviart-Thomas finite element
spaces are now supported through the ConformingFaceRestriction class.
- VectorFEBoundaryFluxLFIntegrator is now supported on device/GPU.
- Added support for p-refined meshes in FindPointsGSLIB.
New and updated examples and miniapps
-------------------------------------
- Added new Discontinuous Petrov-Galerkin (DPG) miniapp which includes
serial and parallel examples for diffusion, convection-diffusion, acoustics
and Maxwell equations. The miniapp also includes new classes such as
(Par)DPGWeakForm, (Par)ComplexDPGWeakForm, BlockStaticCondensation and
ComplexBlockStaticCondensation. Three new integrators are added in support of
DPG systems: TraceIntegrator, NormalTraceIntegrator and TangentTraceIntegrator
Integrations, testing and documentation
---------------------------------------
- Added an address sanitizer GitHub action for a serial build/test on Ubuntu,
based on Clang/LLVM (https://clang.llvm.org/docs/AddressSanitizer.html).
Version 4.5.2, released on March 23, 2023
=========================================
- Added support for pyramids in non-conforming meshes. Currently only isotropic
refinement is supported in this case.
- Removed the support for the Mesquite toolkit. We recommend using MFEM's TMOP
functionality instead for mesh optimization. See the mesh-optimizer miniapp.
- Added a fast normalization-based distance solver, see the Distance miniapp
in the miniapps/shifted/ directory.
- Added a new meshing miniapp, Reflector, which reflects a high-order or NURBS
hexahedral mesh about a plane.
- Updated logic in FindPointsGSLIB to ignore points found near (but outside) the
domain boundary.
- Added support for pyramids in Gmsh meshes.
- Added an option to auto-balance compound TMOP metrics.
- Fixed a bug in TMOP metric 301.
- Added an option to auto-balance compound TMOP metrics.
- When using discontinuous (L2) spaces, use local (element-wise) L2 projection
as the coarsening operator for non-conforming AMR meshes.
Discretization improvements
---------------------------
- TBD
- Added support for GridFunction::GetGradients() and GetVectorGradient() on
face-neighbor elements.
Linear and nonlinear solvers
----------------------------
- Added a fast normalization-based distance solver, see the Distance miniapp
in the miniapps/shifted/ directory.
- Added support for pyramids in Gmsh meshes.
New and updated examples and miniapps
-------------------------------------
- Added a new meshing miniapp, reflector, which reflects a high-order or NURBS
hexahedral mesh about a plane.
- The Mesh Explorer miniapp can now save mesh files in the VisIt or ParaView
formats using the corresponding DataCollection. See option 'D' in the menu.
- The mesh-explorer miniapp can now save mesh files in the VisIt or ParaView
formats using the corresponding DataCollection objects. See option 'D' in the
main menu.
- VisItDataCollection now correctly handles data collection names containing
underscores.
Integrations, testing and documentation
---------------------------------------
- Removed the support for the Mesquite toolkit. We recommend using MFEM's TMOP
functionality instead for mesh optimization. See the mesh-optimizer miniapp.
- Added support for shared Windows builds with MSVC through CMake.
Developers note: this enhancement is facilitated by the addition of the macro
MFEM_EXPORT, see config.hpp for more details on its usage.
- The following integrations have updated minimum version requirements:
* RAJA >= 2022.10.3
Miscellaneous
-------------
- VisItDataCollection now correctly handles collection names containing
underscores.
- VisItDataCollection::SetPadDigits() no longer alters the number of digits
used to represent the MPI rank because VisIt seems to require 6 digits.
This parameter can still be explicitly overridden with
VisItDataCollection::SetPadDigitsRank().
API changes
-----------
- The implicit cast methods of class Vector to 'double *' and 'const double *'
@@ -73,6 +106,11 @@ API changes
deprecated, and Mesh::GetFaceGeometry (which provides identical functionality)
should be used instead.
- VisItDataCollection::SetPadDigits() no longer alters the number of digits
used to represent the MPI rank because VisIt seems to require 6 digits.
This parameter can still be explicitly overridden with SetPadDigitsRank().
Version 4.5, released on October 22, 2022
=========================================
@@ -116,9 +154,6 @@ Discretization improvements
- Added a class CoefficientVector for efficient access of variable coefficient
values at quadrature points (in particular for GPU/device kernels).
- Added support for GridFunction::GetGradients() and
GriFunction::GetVectorGradient() on face-neighbor elements.
- Added WhiteGaussianNoiseDomainLFIntegrator: a LinearFormIntegrator class for
spatial Gaussian white noise.
+42 -9
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
@@ -13,6 +13,7 @@
# Version 3.8 fixes the handling of CMAKE_CXX_STANDARD for try_compile.
# Version 3.8 or newer is required for direct CUDA support.
cmake_minimum_required(VERSION 3.8)
message(STATUS "CMake version: ${CMAKE_VERSION}")
set(USER_CONFIG "${CMAKE_CURRENT_SOURCE_DIR}/config/user.cmake" CACHE PATH
"Path to optional user configuration file.")
@@ -24,8 +25,11 @@ set(CMAKE_CXX_EXTENSIONS OFF)
# Load user settings before the defaults - this way the defaults will not
# overwrite the user set options. If the user has not set all options, we still
# have the defaults.
message(STATUS "(optional) USER_CONFIG = ${USER_CONFIG}")
include("${USER_CONFIG}" OPTIONAL)
include("${USER_CONFIG}" OPTIONAL RESULT_VARIABLE USER_CONFIG_LOADED)
if (USER_CONFIG_LOADED)
set(USER_CONFIG_LOADED "LOADED")
endif()
message(STATUS "Loading USER_CONFIG = ${USER_CONFIG} (${USER_CONFIG_LOADED})")
include("${CMAKE_CURRENT_SOURCE_DIR}/config/defaults.cmake")
# Allow overwriting of the compiler by setting CXX/MPICXX on the command line or
@@ -53,7 +57,7 @@ project(mfem NONE)
# Current version of MFEM, see also `makefile`.
# mfem_VERSION = (string)
# MFEM_VERSION = (int) [automatically derived from mfem_VERSION]
set(${PROJECT_NAME}_VERSION 4.5.1)
set(${PROJECT_NAME}_VERSION 4.5.3)
# Prohibit in-source build
if (${PROJECT_SOURCE_DIR} STREQUAL ${PROJECT_BINARY_DIR})
@@ -183,6 +187,23 @@ else()
set(MFEM_DEBUG OFF)
endif()
# Shared build on Windows
if (WIN32 AND BUILD_SHARED_LIBS)
# CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS works only with MSVC?
set(CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS ON CACHE BOOL
"Automatically export symbols for shared Windows DLL build")
# Place all .dll and .exe files in the same sub-directory, 'bin/<config>', of
# the build directory, so that the .exe files can find the .dll files at
# runtime:
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
# Note: CMake tests are run from the build-tree sub-directory where the test
# is defined, e.g. <build-dir>/tests/unit, so hard coded paths to meshes still
# work fine.
# Not strictly necessary:
# set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib")
# set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib")
endif()
# AMD HIP
if (MFEM_USE_HIP)
if (HIP_ARCH)
@@ -519,6 +540,7 @@ list(REVERSE TPL_LIBRARIES)
list(REMOVE_DUPLICATES TPL_INCLUDE_DIRS)
# message(STATUS "TPL_INCLUDE_DIRS = ${TPL_INCLUDE_DIRS}")
message(STATUS "MFEM shared library: BUILD_SHARED_LIBS = ${BUILD_SHARED_LIBS}")
message(STATUS "MFEM build type: CMAKE_BUILD_TYPE = ${CMAKE_BUILD_TYPE}")
message(STATUS "MFEM version: v${MFEM_VERSION_STRING}")
message(STATUS "MFEM git string: ${MFEM_GIT_STRING}")
@@ -574,7 +596,19 @@ target_include_directories(mfem
PUBLIC
$<BUILD_INTERFACE:${CMAKE_CURRENT_BINARY_DIR}>
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
# The INSTALL_INTERFACE is handled below
${TPL_INCLUDE_DIRS})
if (MFEM_USE_MPI)
if (MPI_CXX_COMPILE_FLAGS)
separate_arguments(MPI_CXX_COMPILE_ARGS UNIX_COMMAND
"${MPI_CXX_COMPILE_FLAGS}")
target_compile_options(mfem PUBLIC ${MPI_CXX_COMPILE_ARGS})
endif()
if (MPI_CXX_LINK_FLAGS)
target_link_libraries(mfem PUBLIC ${MPI_CXX_LINK_FLAGS})
endif()
endif()
set_target_properties(mfem PROPERTIES VERSION "${mfem_VERSION}")
set_target_properties(mfem PROPERTIES SOVERSION "${mfem_VERSION}")
@@ -586,6 +620,7 @@ if (NOT ("${PROJECT_SOURCE_DIR}" STREQUAL "${PROJECT_BINARY_DIR}"))
endif()
# Generate configuration file in the build directory: config/_config.hpp.
set(MFEM_SHARED_BUILD ${BUILD_SHARED_LIBS})
configure_file(
"${PROJECT_SOURCE_DIR}/config/cmake/config.hpp.in"
"${PROJECT_BINARY_DIR}/config/_config.hpp")
@@ -705,7 +740,7 @@ set(INSTALL_LIB_DIR lib
set(INSTALL_CMAKE_DIR lib/cmake/mfem
CACHE PATH "Relative path for installing cmake config files.")
target_include_directories(mfem
target_include_directories(mfem BEFORE
PUBLIC
$<INSTALL_INTERFACE:${INSTALL_INCLUDE_DIR}>)
@@ -757,10 +792,8 @@ endif()
# Install the configuration header files
install(FILES ${PROJECT_BINARY_DIR}/config/_config.hpp
DESTINATION ${INSTALL_INCLUDE_DIR}/mfem/config
RENAME config.hpp)
install(FILES ${PROJECT_SOURCE_DIR}/config/tconfig.hpp
${PROJECT_SOURCE_DIR}/config/config.hpp
${PROJECT_SOURCE_DIR}/config/tconfig.hpp
DESTINATION ${INSTALL_INCLUDE_DIR}/mfem/config)
# Package the whole thing up nicely
+1 -1
View File
@@ -209,7 +209,7 @@ device/host memory manager.
- The main device-relevant classes and sources are:
+ [`Device`](https://docs.mfem.org/html/device_8hpp.html)
+ [`MemoryManager`](https://docs.mfem.org/html/mem_manager_8hpp.html)
+ the [`MFEM_FORALL`](https://docs.mfem.org/html/forall_8hpp.html) macro
+ the [`mfem::forall`](https://docs.mfem.org/html/forall_8hpp.html) function
+ the [`cuda.hpp`](https://docs.mfem.org/html/cuda_8hpp.html) and [`occa.hpp`](https://docs.mfem.org/html/occa_8hpp.html) files
#### Utilities, building and documentation
+1 -1
View File
@@ -1,6 +1,6 @@
BSD 3-Clause License
Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC
Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC
All rights reserved.
Redistribution and use in source and binary forms, with or without
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+4 -1
View File
@@ -1,4 +1,4 @@
// Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
// Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
// at the Lawrence Livermore National Laboratory. All Rights reserved. See files
// LICENSE and NOTICE for details. LLNL-CODE-806117.
//
@@ -39,6 +39,9 @@
// Description of the git commit used to build MFEM.
#cmakedefine MFEM_GIT_STRING "@MFEM_GIT_STRING@"
// Enable shared library build of MFEM.
#cmakedefine MFEM_SHARED_BUILD
// Build the parallel MFEM library.
// Requires an MPI compiler, and the libraries HYPRE and METIS.
#cmakedefine MFEM_USE_MPI
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+11 -4
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
@@ -21,8 +21,15 @@ if(EXISTS ${CONDUIT_DIR}/include/conduit/conduit_relay_hdf5.hpp)
# we only need HDF5 if Conduit was built with HDF5 support
set(Conduit_REQUIRED_PACKAGES "HDF5" CACHE STRING
"Additional packages required by Conduit.")
else()
message(STATUS "Conduit Relay HDF5 Support is DISABLED")
# Suppress warning about HDF5_ROOT being set
if (POLICY CMP0074)
cmake_policy(SET CMP0074 NEW)
endif()
# HDF5_ROOT is needed in some cases, e.g. when HDF5_TARGET_NAMES is set and
# MFEM's FindHDF5.cmake is not used.
set(HDF5_ROOT ${HDF5_DIR} CACHE PATH "")
else()
message(STATUS "Conduit Relay HDF5 Support is DISABLED")
endif()
include(MfemCmakeUtilities)
@@ -32,4 +39,4 @@ mfem_find_package(Conduit CONDUIT CONDUIT_DIR
ADD_COMPONENT relay
"include;include/conduit" conduit_relay.hpp "lib" conduit_relay
ADD_COMPONENT blueprint
"include;include/conduit" conduit_blueprint.hpp "lib" conduit_blueprint)
"include;include/conduit" conduit_blueprint.hpp "lib" conduit_blueprint)
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+17 -6
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
@@ -14,11 +14,17 @@
# - NETCDF_LIBRARIES
# - NETCDF_INCLUDE_DIRS
# Suppress warning about HDF5_ROOT being set
if (POLICY CMP0074)
cmake_policy(SET CMP0074 NEW)
endif()
include(MfemCmakeUtilities)
# FindHDF5.cmake uses HDF5_ROOT, so we "translate" from the MFEM convention
# (MFEM's FindHDF5.cmake does not need HDF5_ROOT)
# set(HDF5_ROOT ${HDF5_DIR} CACHE PATH "")
# (Needed in some cases, e.g. when HDF5_TARGET_NAMES is set and MFEM's
# FindHDF5.cmake is not used.)
set(HDF5_ROOT ${HDF5_DIR} CACHE PATH "")
# We need to guard against the case where HDF5 was already found but without
# the HL extensions (in which case mfem_find_package will treat the package
@@ -35,6 +41,11 @@ mfem_find_package(NetCDF NETCDF NETCDF_DIR "include" netcdf.h "lib" netcdf
# The netcdf library will always be the first element of NETCDF_LIBRARIES
# and we need to insert after that library but before the hdf5 library, so
# position 1 is used
# (MFEM's FindHDF5.cmake does not set HDF5_C_LIBRARY_hdf5_hl and the HL library
# is already added to NETCDF_LIBRARIES)
# list(INSERT NETCDF_LIBRARIES 1 ${HDF5_C_LIBRARY_hdf5_hl})
# (Needed in some cases, e.g. when HDF5_TARGET_NAMES is set and MFEM's
# FindHDF5.cmake is not used.)
if (HDF5_C_LIBRARY_hdf5_hl)
list(INSERT NETCDF_LIBRARIES 1 ${HDF5_C_LIBRARY_hdf5_hl})
if (NOT NetCDF_FIND_QUIETLY)
message(STATUS "Updated NetCDF libraries: ${NETCDF_LIBRARIES}")
endif()
endif()
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+38 -59
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
@@ -103,25 +103,6 @@ macro(add_mfem_examples EXE_SRCS)
${MFEM_EXEC_PREREQUISITES_TARGET_NAME} ${EXE_PREREQUISITE})
target_link_libraries(${EXE_NAME} mfem)
if (MFEM_USE_MPI)
# Not needed: (mfem already links with MPI_CXX_LIBRARIES)
# target_link_libraries(${EXE_NAME} ${MPI_CXX_LIBRARIES})
# Language-specific include directories:
if (MPI_CXX_INCLUDE_PATH)
target_include_directories(${EXE_NAME} PRIVATE "${MPI_CXX_INCLUDE_PATH}")
endif()
if (MPI_CXX_COMPILE_FLAGS)
separate_arguments(MPI_CXX_COMPILE_ARGS UNIX_COMMAND
"${MPI_CXX_COMPILE_FLAGS}")
target_compile_options(${EXE_NAME} PRIVATE ${MPI_CXX_COMPILE_ARGS})
endif()
if (MPI_CXX_LINK_FLAGS)
set_target_properties(${EXE_NAME} PROPERTIES
LINK_FLAGS "${MPI_CXX_LINK_FLAGS}")
endif()
endif()
endforeach(SRC_FILE)
endmacro()
@@ -172,26 +153,6 @@ macro(add_mfem_miniapp MFEM_EXE_NAME)
if (EXTRA_DEFINES_LIST)
target_compile_definitions(${MFEM_EXE_NAME} PRIVATE ${EXTRA_DEFINES_LIST})
endif()
# Handle the MPI separately
if (MFEM_USE_MPI)
# Add MPI_CXX_LIBRARIES, in case this target does not link with mfem.
target_link_libraries(${MFEM_EXE_NAME} PRIVATE ${MPI_CXX_LIBRARIES})
if (MPI_CXX_INCLUDE_PATH)
target_include_directories(${MFEM_EXE_NAME} PRIVATE ${MPI_CXX_INCLUDE_PATH})
endif()
if (MPI_CXX_COMPILE_FLAGS)
separate_arguments(MPI_CXX_COMPILE_ARGS UNIX_COMMAND
"${MPI_CXX_COMPILE_FLAGS}")
target_compile_options(${MFEM_EXE_NAME} PRIVATE ${MPI_CXX_COMPILE_ARGS})
endif()
if (MPI_CXX_LINK_FLAGS)
set_target_properties(${MFEM_EXE_NAME} PROPERTIES
LINK_FLAGS "${MPI_CXX_LINK_FLAGS}")
endif()
endif()
endmacro()
@@ -436,9 +397,9 @@ function(mfem_find_package Name Prefix DirVar IncSuffixes Header LibSuffixes
break()
endif()
endforeach()
if (${Required} AND NOT ${ReqPack}_FOUND)
if (Required AND NOT ${ReqPack}_FOUND)
message(FATAL_ERROR " *** Required package ${ReqPack} not found."
"Checked target names: ${ReqPack} ${${ReqPack}_TARGET_NAMES}")
" Checked target names: ${ReqPack} ${${ReqPack}_TARGET_NAMES}")
endif()
endif()
endif()
@@ -504,14 +465,18 @@ function(mfem_find_package Name Prefix DirVar IncSuffixes Header LibSuffixes
endif()
get_target_property(IsImported ${TargetName} IMPORTED)
if (IsImported)
get_target_property(ImpConfigs ${TargetName} IMPORTED_CONFIGURATIONS)
# message(STATUS "${ReqPack} imported configs: ${ImpConfigs}")
set(ImportConfig ${${ReqPack}_IMPORT_CONFIG})
if (NOT ImportConfig)
set(ImportConfig RELEASE)
list(FIND ImpConfigs ${ImportConfig} _Index)
if (_Index EQUAL -1)
list(GET ImpConfigs 0 ImportConfig)
endif()
endif()
set(ImportConfigSuffix "_${ImportConfig}")
get_target_property(ImpConfigs ${TargetName} IMPORTED_CONFIGURATIONS)
list(FIND ImpConfigs ${ImportConfig} _Index)
if ((_Index EQUAL -1) OR ("${ImportConfig}" STREQUAL "NO_CONFIG"))
if ((NOT ImportConfig) OR ("${ImportConfig}" STREQUAL "NO_CONFIG"))
set(ImportConfig "NO_CONFIG")
set(ImportConfigSuffix "")
# message(FATAL_ERROR " *** ${ReqPack}: configuration "
@@ -529,7 +494,8 @@ function(mfem_find_package Name Prefix DirVar IncSuffixes Header LibSuffixes
else()
# Set _Pack_LIBS from the target properties for ImportConfig
foreach (_prop IMPORTED_LOCATION${ImportConfigSuffix}
IMPORTED_LINK_INTERFACE_LIBRARIES${ImportConfigSuffix})
IMPORTED_LINK_INTERFACE_LIBRARIES${ImportConfigSuffix}
INTERFACE_LINK_LIBRARIES)
get_target_property(_value ${TargetName} ${_prop})
if (_value)
list(APPEND _Pack_LIBS ${_value})
@@ -780,6 +746,7 @@ function(mfem_get_target_options Target CompileOptsVar LinkOptsVar)
list(APPEND CompileOpts "-isystem \"${SysDir}\"")
endforeach()
endif()
set(AddInterfaceLinkLibs TRUE)
if ("${type}" STREQUAL "STATIC_LIBRARY")
get_target_property(Location ${tgt} LOCATION)
if (Location)
@@ -801,18 +768,7 @@ function(mfem_get_target_options Target CompileOptsVar LinkOptsVar)
message(STATUS " *** Warning: [${tgt}] LOCATION not defined!")
endif()
elseif ("${type}" STREQUAL "INTERFACE_LIBRARY")
get_target_property(Libs ${tgt} INTERFACE_LINK_LIBRARIES)
if (Libs)
foreach(Lib ${Libs})
if (NOT (TARGET ${Lib}))
list(APPEND LinkOpts "${Lib}")
else()
mfem_get_target_options(${Lib} COpts LOpts)
list(APPEND CompileOpts ${COpts})
list(APPEND LinkOpts ${LOpts})
endif()
endforeach()
endif()
# The INTERFACE_LINK_LIBRARIES property is handled below.
# Other properties we may need to handle:
# INTERFACE_LINK_DEPENDS
# INTERFACE_LINK_DIRECTORIES
@@ -820,6 +776,26 @@ function(mfem_get_target_options Target CompileOptsVar LinkOptsVar)
else()
message(STATUS " *** Warning: [${tgt}] uses target type '${type}'"
" which is not supported!")
set(AddInterfaceLinkLibs FALSE)
endif()
if (AddInterfaceLinkLibs)
get_target_property(Libs ${tgt} INTERFACE_LINK_LIBRARIES)
# message(STATUS "${tgt}[INTERFACE_LINK_LIBRARIES]: ${Libs}")
if (Libs)
foreach(Lib ${Libs})
if (NOT (TARGET ${Lib}))
# message(STATUS "Lib = ${Lib}")
# Filter-out generator expressions
if (NOT ("${Lib}" MATCHES "^\\$"))
list(APPEND LinkOpts "${Lib}")
endif()
else()
mfem_get_target_options(${Lib} COpts LOpts)
list(APPEND CompileOpts ${COpts})
list(APPEND LinkOpts ${LOpts})
endif()
endforeach()
endif()
endif()
# Other potentially relevant properties:
@@ -843,6 +819,9 @@ function(mfem_get_target_options Target CompileOptsVar LinkOptsVar)
set(${CompileOptsVar} "${CompileOpts}" PARENT_SCOPE)
set(${LinkOptsVar} "${LinkOpts}" PARENT_SCOPE)
# message(STATUS "${tgt}[CompileOpts]: ${CompileOpts}")
# message(STATUS "${tgt}[LinkOpts]: ${LinkOpts}")
endfunction(mfem_get_target_options)
@@ -894,7 +873,7 @@ function(mfem_export_mk_files)
"${cxx_std_flag} ${CMAKE_CXX_FLAGS_${BUILD_TYPE}} ${CMAKE_CXX_FLAGS}"
MFEM_CXXFLAGS)
set(MFEM_TPLFLAGS "")
foreach(dir ${MFEM_TPL_INCLUDE_DIRS})
foreach(dir ${TPL_INCLUDE_DIRS})
set(MFEM_TPLFLAGS "${MFEM_TPLFLAGS} -I${dir}")
endforeach()
# TODO: MFEM_TPLFLAGS: add other TPL flags, in addition to the -I flags.
+22 -3
View File
@@ -1,4 +1,4 @@
// Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
// Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
// at the Lawrence Livermore National Laboratory. All Rights reserved. See files
// LICENSE and NOTICE for details. LLNL-CODE-806117.
//
@@ -30,11 +30,30 @@
#endif
// Windows specific options
#ifdef _WIN32
#ifndef _USE_MATH_DEFINES
#if defined(_WIN32) && !defined(_USE_MATH_DEFINES)
// Macro needed to get defines like M_PI from <cmath>. (Visual Studio C++ only?)
#define _USE_MATH_DEFINES
#endif
// Macro MFEM_EXPORT: this macro is used when declaring exported global
// variables and static class variables in public header files, e.g.:
// extern MFEM_EXPORT Geometry Geometries;
// static MFEM_EXPORT Device device_singleton;
// In cases where a class contains multiple static variables, instead of marking
// all such variables with MFEM_EXPORT, one can mark the class with MFEM_EXPORT,
// e.g.:
// class MFEM_EXPORT MemoryManager ...
// Note: MFEM's GitHub CI includes a shared MSVC build that will fail if a
// variable that needs MFEM_EXPORT does not have it. However, builds with
// optional external libraries are not tested and may require separate checks to
// determine the necessity of MFEM_EXPORT.
#if defined(_MSC_VER) && defined(MFEM_SHARED_BUILD)
#ifdef mfem_EXPORTS
#define MFEM_EXPORT __declspec(dllexport)
#else
#define MFEM_EXPORT __declspec(dllimport)
#endif
#else
#define MFEM_EXPORT
#endif
// On Cygwin the option -std=c++11 prevents the definition of M_PI. Defining
// the following macro allows us to get M_PI and some needed functions, e.g.
+4 -1
View File
@@ -1,4 +1,4 @@
// Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
// Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
// at the Lawrence Livermore National Laboratory. All Rights reserved. See files
// LICENSE and NOTICE for details. LLNL-CODE-806117.
//
@@ -39,6 +39,9 @@
// Description of the git commit used to build MFEM.
// #define MFEM_GIT_STRING "@MFEM_GIT_STRING@"
// Enable shared library build of MFEM.
// #define MFEM_SHARED_BUILD
// Build the parallel MFEM library.
// Requires an MPI compiler, and the libraries HYPRE and METIS.
// #define MFEM_USE_MPI
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+2 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
@@ -19,6 +19,7 @@ if (NOT CMAKE_BUILD_TYPE)
endif()
# MFEM options. Set to mimic the default "defaults.mk" file.
option(BUILD_SHARED_LIBS "Enable shared library build of MFEM" OFF)
option(MFEM_USE_MPI "Enable MPI parallel build" OFF)
option(MFEM_USE_METIS "Enable METIS usage" ${MFEM_USE_MPI})
option(MFEM_USE_EXCEPTIONS "Enable the use of exceptions" OFF)
+2 -2
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
@@ -58,7 +58,7 @@ HIP_CXX = hipcc
# example: gfx600 (tahiti), gfx700 (kaveri), gfx701 (hawaii), gfx801 (carrizo),
# gfx900, gfx1010, etc.
HIP_ARCH = gfx900
HIP_FLAGS = --amdgpu-target=$(HIP_ARCH)
HIP_FLAGS = --offload-arch=$(HIP_ARCH)
HIP_XCOMPILER =
HIP_XLINKER = -Wl,
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
// Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
// at the Lawrence Livermore National Laboratory. All Rights reserved. See files
// LICENSE and NOTICE for details. LLNL-CODE-806117.
//
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
// Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
// at the Lawrence Livermore National Laboratory. All Rights reserved. See files
// LICENSE and NOTICE for details. LLNL-CODE-806117.
//
+3 -3
View File
@@ -1,6 +1,6 @@
#!/bin/bash
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
@@ -35,8 +35,8 @@ cd $(git rev-parse --show-toplevel)
# copyright check
copyright=true
if [[ "${option}" == "--copyright" || "${option}" == "" ]]; then
if git grep -l "^\(#\|//\).*\(\-2021\|\ 2010,\)" > matches.txt; then
echo "Please update the following files to Copyright (c) 2010-2022:"
if git grep -n "^\(#\|//\).*Copyright.*2010-20\(2[^3]\|[^2].\)" > matches.txt; then
echo "Please update the following files to Copyright (c) 2010-2023:"
cat matches.txt
copyright=false
fi
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+3 -3
View File
@@ -1,6 +1,6 @@
#!/bin/bash
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
@@ -138,7 +138,7 @@ groups_parallel=(
'"meshing"
"Meshing miniapps:"
"miniapps/meshing"
"pmesh-optimizer.cpp pminimal-surface.cpp"'
"pmesh-optimizer.cpp pmesh-fitting.cpp pminimal-surface.cpp"'
'"electromagnetics"
"Electromagnetics miniapps:"
"miniapps/electromagnetics"
@@ -227,7 +227,7 @@ groups_all=(
"Meshing miniapps:"
"miniapps/meshing"
"mobius-strip.cpp klein-bottle.cpp extruder.cpp toroid.cpp
{,p}mesh-optimizer.cpp {,p}minimal-surface.cpp"'
{,p}mesh-optimizer.cpp pmesh-fitting.cpp {,p}minimal-surface.cpp"'
'"electromagnetics"
"Electromagnetics miniapps:"
"miniapps/electromagnetics"
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
// Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
// at the Lawrence Livermore National Laboratory. All Rights reserved. See files
// LICENSE and NOTICE for details. LLNL-CODE-806117.
//
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+46
View File
@@ -0,0 +1,46 @@
MFEM NURBS mesh v1.0
#
# MFEM Geometry Types (see mesh/geom.hpp):
#
# SEGMENT = 1
# SQUARE = 3
# CUBE = 5
#
dimension
1
elements
1
1 1 0 1
boundary
2
1 0 0
2 0 1
edges
1
0 0 1
vertices
2
knotvectors
1
1 2 0 0 1 1
weights
1
1
FiniteElementSpace
FiniteElementCollection: NURBS1
VDim: 1
Ordering: 1
0
1
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -38,7 +38,7 @@ PROJECT_NAME = "MFEM"
# could be handy for archiving the generated documentation or if some version
# control system is used.
PROJECT_NUMBER = v4.5.1
PROJECT_NUMBER = v4.5.3
# Using the PROJECT_BRIEF tag one can provide an optional one line description
# for a project that appears at the top of each page and should give viewer a
+1 -1
View File
@@ -39,7 +39,7 @@ namespace mfem {
* - Device
* - Memory
* - MemoryManager
* - MFEM_FORALL macro in forall.hpp
* - mfem::forall functions in forall.hpp
*
* <H3>Example codes</H3>
* - <a class="el" href="ex0_8cpp_source.html">Example 0</a>: simplest example, nodal H1 FEM for the Laplace problem
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+13 -7
View File
@@ -246,17 +246,23 @@ int main(int argc, char *argv[])
e_var /= (nsteps + 1);
double e_sd = sqrt(e_var);
double e_loc_stats[2];
double *e_stats = (myid == 0) ? new double[2 * num_procs] : (double*)NULL;
e_loc_stats[0] = e_mean;
e_loc_stats[1] = e_sd;
MPI_Gather(e_loc_stats, 2, MPI_DOUBLE, e_stats, 2, MPI_DOUBLE, 0, comm);
if (myid == 0)
{
cout << endl << "Mean and standard deviation of the energy" << endl;
}
for (int i = 0; i < num_procs; i++)
{
if (myid == i)
cout << endl << "Mean and standard deviation of the energy "
<< "for different initial conditions" << endl;
for (int i = 0; i < num_procs; i++)
{
cout << myid << ": " << e_mean << "\t" << e_sd << endl;
cout << i << ": " << e_stats[2 * i + 0]
<< "\t" << e_stats[2 * i + 1] << endl;
}
MPI_Barrier(comm);
delete [] e_stats;
}
// 9. Finalize the GnuPlot output
+10 -13
View File
@@ -32,6 +32,7 @@
// We recommend viewing Example 22 before viewing this example.
#include "mfem.hpp"
#include <memory>
#include <fstream>
#include <iostream>
@@ -467,16 +468,14 @@ int main(int argc, char *argv[])
offsets[2] = fespace->GetTrueVSize();
offsets.PartialSum();
Operator *pc_r = nullptr;
Operator *pc_i = nullptr;
int s = (conv == ComplexOperator::HERMITIAN) ? -1.0 : 1.0;
std::unique_ptr<Operator> pc_r;
std::unique_ptr<Operator> pc_i;
double s = (conv == ComplexOperator::HERMITIAN) ? -1.0 : 1.0;
if (pa)
{
// Jacobi Smoother
OperatorJacobiSmoother *d00 = new OperatorJacobiSmoother(prec, ess_tdof_list);
ScaledOperator *d11 = new ScaledOperator(d00, s);
pc_r = d00;
pc_i = d11;
pc_r.reset(new OperatorJacobiSmoother(prec, ess_tdof_list));
pc_i.reset(new ScaledOperator(pc_r.get(), s));
}
else
{
@@ -485,15 +484,13 @@ int main(int argc, char *argv[])
prec.FormSystemMatrix(ess_tdof_list, PCOpAh);
// Gauss-Seidel Smoother
GSSmoother *gs00 = new GSSmoother(*PCOpAh.As<SparseMatrix>());
ScaledOperator *gs11 = new ScaledOperator(gs00, s);
pc_r = gs00;
pc_i = gs11;
pc_r.reset(new GSSmoother(*PCOpAh.As<SparseMatrix>()));
pc_i.reset(new ScaledOperator(pc_r.get(), s));
}
BlockDiagonalPreconditioner BlockDP(offsets);
BlockDP.SetDiagonalBlock(0, pc_r);
BlockDP.SetDiagonalBlock(1, pc_i);
BlockDP.SetDiagonalBlock(0, pc_r.get());
BlockDP.SetDiagonalBlock(1, pc_i.get());
GMRESSolver gmres;
gmres.SetPrintLevel(1);
+8 -12
View File
@@ -524,16 +524,14 @@ int main(int argc, char *argv[])
offsets[2] = fespace->GetTrueVSize();
offsets.PartialSum();
Operator *pc_r = nullptr;
Operator *pc_i = nullptr;
std::unique_ptr<Operator> pc_r;
std::unique_ptr<Operator> pc_i;
int s = (conv == ComplexOperator::HERMITIAN) ? -1.0 : 1.0;
if (pa)
{
// Jacobi Smoother
OperatorJacobiSmoother *d00 = new OperatorJacobiSmoother(prec, ess_tdof_list);
ScaledOperator *d11 = new ScaledOperator(d00, s);
pc_r = d00;
pc_i = d11;
pc_r.reset(new OperatorJacobiSmoother(prec, ess_tdof_list));
pc_i.reset(new ScaledOperator(pc_r.get(), s));
}
else
{
@@ -541,15 +539,13 @@ int main(int argc, char *argv[])
prec.FormSystemMatrix(ess_tdof_list, PCOpAh);
// Hypre AMS
HypreAMS *ams00 = new HypreAMS(*PCOpAh.As<HypreParMatrix>(), fespace);
ScaledOperator *ams11 = new ScaledOperator(ams00, s);
pc_r = ams00;
pc_i = ams11;
pc_r.reset(new HypreAMS(*PCOpAh.As<HypreParMatrix>(), fespace));
pc_i.reset(new ScaledOperator(pc_r.get(), s));
}
BlockDiagonalPreconditioner BlockDP(offsets);
BlockDP.SetDiagonalBlock(0, pc_r);
BlockDP.SetDiagonalBlock(1, pc_i);
BlockDP.SetDiagonalBlock(0, pc_r.get());
BlockDP.SetDiagonalBlock(1, pc_i.get());
GMRESSolver gmres(MPI_COMM_WORLD);
gmres.SetPrintLevel(1);
+1 -1
View File
@@ -90,7 +90,7 @@ int main(int argc, char *argv[])
const char *mesh_file = "../data/star.mesh";
int order = 1;
int nc_limit = 1;
int max_elems = 1e5;
int max_elems = 100*1000;
double double_max_elems = double(max_elems);
bool visualization = true;
double osc_threshold = 1e-3;
+1 -1
View File
@@ -123,7 +123,7 @@ int main(int argc, char *argv[])
// 2. Compute the rational expansion coefficients that define the
// integer-order PDEs.
const int power_of_laplace = floor(alpha);
const int power_of_laplace = (int)floor(alpha);
double exponent_to_approximate = alpha - power_of_laplace;
bool integer_order = false;
// Check if alpha is an integer or not.
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+2 -2
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
@@ -78,4 +78,4 @@ clean-build:
rm -rf *.dSYM *.TVD.*breakpoints
clean-exec:
@rm -f refined.mesh sol.gf mesh.* sol.*
@rm -f refined.mesh sol.gf
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2022, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# at the Lawrence Livermore National Laboratory. All Rights reserved. See files
# LICENSE and NOTICE for details. LLNL-CODE-806117.
#

Some files were not shown because too many files have changed in this diff Show More