Compare commits

...
Author SHA1 Message Date
Brendan Keith e7e0ed79e6 fixed BC issue 2024-04-14 14:59:23 -04:00
Brendan Keith 7359466ce4 fix sign error 2024-04-12 08:12:42 -04:00
Brendan Keith d5814b9d8e fixed invertibility bug 2024-04-11 22:28:15 -04:00
Brendan Keith 7dd2312ec4 minor 2024-04-11 18:56:53 -04:00
Brendan Keith aa25a12086 changing to direct solver 2024-04-11 18:05:56 -04:00
Brendan Keith 3341feb1d3 linearized problem solved. memory leak 2024-04-11 17:37:39 -04:00
Brendan Keith a6f7baeede fixed the runtime issues with integrators 2024-04-10 11:32:58 -04:00
Brendan Keith bc2ee7f3a9 layout of ex40.cpp done 2024-04-10 10:17:49 -04:00
Brendan Keith 2bcae01f71 outline of MA code 2024-04-09 21:17:45 -04:00
Brendan Keith cde13ad145 Merge branch '2x2_matrix_exponential' into MA 2024-04-09 15:26:27 -04:00
Brendan Keith 6baf95a686 Merge branch 'master' into 2x2_matrix_exponential 2024-04-09 07:00:04 -04:00
Tzanio Kolev 91710623f8 Merge pull request #4203 from mfem/stefanozampini/petsc-3.21
Changes to support PETSc 3.21 (to be released March 29th) and single precision builds
2024-04-08 06:22:04 -07:00
Tzanio Kolev eddecd5dc6 PETSc version requirement updated to 3.21 2024-04-08 06:21:15 -07:00
Brendan Keith 4ebbbc45ae override 2024-04-07 22:20:52 -04:00
Brendan Keith 77a3bb103c style 2024-04-07 22:12:02 -04:00
Brendan Keith f728fadcf7 more work on ex40 2024-04-07 22:11:21 -04:00
Brendan Keith ae3b9e23e7 Merge branch 'master' into 2x2_matrix_exponential 2024-04-07 22:09:37 -04:00
Brendan KeithandDohyun Kim 0494eb22e6 Update fem/coefficient.hpp
Co-authored-by: Dohyun Kim <dhkim.cse@gmail.com>
2024-04-07 22:08:55 -04:00
Brendan KeithandDohyun Kim 31a977ac5f Update fem/coefficient.cpp
Co-authored-by: Dohyun Kim <dhkim.cse@gmail.com>
2024-04-07 22:08:33 -04:00
Tzanio Kolev f7b104b4be Merge pull request #4225 from adam-sim-dev/pardiso-fix
Fix Pardiso for single precision
2024-04-07 13:01:26 -07:00
Veselin Dobrev 9d4bceaaa3 Merge pull request #4227 from mfem/bugfix/tomstitt/support-partial-gpu-compiles
Better GPU Guards in `config.hpp`
2024-04-06 18:37:51 -07:00
Brendan Keith 3db9688894 Merge branch '2x2_matrix_exponential' into MA
Adding coefficients from 2x2_matrix_exponential
2024-04-06 15:33:30 -04:00
Brendan Keith 821c41fba9 remove comments 2024-04-06 11:50:53 -04:00
Brendan Keith af5a7844a8 test for MatrixArrayVectorCoefficient 2024-04-06 11:16:53 -04:00
adam-sim-dev f95d82011b Merge branch 'master' into pardiso-fix 2024-04-06 19:15:42 +08:00
Brendan Keith 9bfa6c051e Merge branch 'master' into 2x2_matrix_exponential 2024-04-05 18:04:26 -04:00
Brendan Keith 850f0f7e89 typo 2024-04-05 17:45:10 -04:00
Brendan Keith 90ecbf2bfb Adding TraceCoefficient 2024-04-05 17:44:29 -04:00
Brendan Keith b0a3350622 added MatrixArrayVectorCoefficient clas 2024-04-05 17:40:59 -04:00
Tzanio Kolev 5bde929475 Merge pull request #4135 from mfem/const-hypreparmatrix-blocks
Require `const HypreParMatrix*` in `HypreParMatrixFromBlocks()`
2024-04-05 10:03:23 -07:00
Tzanio Kolev 4306815658 Merge pull request #4226 from mfem/najlkin/revert-blockop
Reverted the change of const qualifiers in BlockOperator
2024-04-05 10:02:43 -07:00
Tzanio Kolev 23b956e834 Merge pull request #4113 from mfem/bugfix/submesh-rt
Boundary attribute transfer to ParSubMesh
2024-04-05 10:02:05 -07:00
Brendan Keith 3f45c0a9d7 Merge branch '2x2_matrix_exponential' of github.com:mfem/mfem into 2x2_matrix_exponential 2024-04-05 12:38:40 -04:00
Brendan Keith 18bee592c4 move test out of #ifdef MFEM_USE_LAPACK 2024-04-05 12:38:35 -04:00
Brendan Keith d9dc18c32b starting ex40 2024-04-05 12:36:35 -04:00
Brendan KeithandDohyun Kim bc0ab53d19 Update linalg/densemat.cpp
Co-authored-by: Dohyun Kim <dhkim.cse@gmail.com>
2024-04-05 08:45:33 -04:00
Brendan Keith 99db13a3c2 missing break; 2024-04-04 17:22:06 -04:00
Brendan Keith 4dcb5933a9 bug in switch 2024-04-04 17:11:32 -04:00
Brendan Keith 1f5f30c9c4 3x3 abort message 2024-04-04 16:27:45 -04:00
Brendan Keith d453981d3c style 2024-04-04 16:09:13 -04:00
Brendan Keith 00bf53ed90 introduce the ExponentialMatrixCoefficient class 2024-04-04 15:48:32 -04:00
adam-sim-dev 0a512877b6 Merge branch 'master' into pardiso-fix 2024-04-04 07:44:03 +08:00
Tom StittandVeselin Dobrev eb8ceb35a7 Update config/config.hpp
Co-authored-by: Veselin Dobrev <v-dobrev@users.noreply.github.com>
2024-04-03 15:28:19 -07:00
Tzanio Kolev 056a321bb0 Merge pull request #4044 from mfem/named-attr-sets
Named attribute sets
2024-04-03 13:42:46 -07:00
Tom Stitt d42e79f8da check for device compiler in addition to MFEM_USE_{CUDA,HIP} for defining __host__ __device__; adds back support for libraries that use mfem and do partial gpu builds 2024-04-03 13:32:24 -07:00
aa1d6441f8 General hyperbolic class and Refactored Ex18, Ex18p (#3598)
* include cfl

* include 2x2 periodic mesh to have 2^N elements.

* include computation of initial max char speed for t=0

* reorder classes to avoid incomplete type

* fix function spaces for solution variables

* Initial conditions and problems. Not yet done I think

* problem setting

* begin time stepping implementation

* Initial state assignment

* arg parser!

* default periodic square mesh updated

it seems that 2x2 periodic mesh does not work.
-> This is because 2x2 contains both 0->1 edge and 1->0 edge on the boundary
due to periodic constraint.
I believe that is why 3x3 elements are used in the data folder.

* correct errors in euler flux functions

* General Hyperbolic Form updated

* Burgers example included

* Rename FE_Evolution to HCL

* Give operators more meaningful names

* remove Aflux and include divA.
This will allow us to update operators within HCL class

* Allow variable size of invMe to handle p-refine.
invMe Type: DenseTensor -> vector<DenseMatrix>

* Update method included for HCL.
It is not tested yet.
Also, since Operator does not have Update method,
we needed to restrict Operator to NonlinearForm

* Finalize update functionality. Visualization not yet implemented.
Tested with derefine and refine after system construction.
Current code seems to give correct result.
May require further verification.

* update burgers equation

* Fix 1-d bug!
As MFEM positive/negative elements ordering
does not respect the original mesh ordering,
normal vector can be positive or negative in 1D.
We check this by checking integration point is either right or left for 1D.

* move global constants (num_eq, gas.. etc) inside of the classes

* revert back visualization code.

* Add comments and reorder classes

* Remove redundant example code as it is not used anymore.

* rename and move problem-specific defintions to cpp files

* Merged debugged code.

* shallow water an example with periodic boundary included

* rename num_equation to num_equations and include GetIntRule

* Element-wise form integrator for further refactoring

* just testing...

* rename to DGHyperbolicConservationLaws

* max_char_speed now shared by pointer

* use reference instead of pointer

* Rename HCL class to DGHCL

* Form now have pointer to max_char_speed which points to HCL class max_char_speed.
max_char_speed is not exposed to outside.
Use getter instead.

* MPI_Reduce -> MPI_All_Reduce as all workers share the same max_char_speed

* rename faceform to hyperbolic faceform

* Include HyperbolicElementForm for accurate flux evaluation

* Rename form to formintegrator as this is appropriate name

* evaluation template for element assembly

* funval -> state for readibility

* fix bug in the arguments of AssembleElementVector

* compute flux now takes correct function arguments

* ElementFormIntegrator is done. Not yet tested.🤞

* Euler problem is verified.
Burgers and shallow water will be updated

* correct typo Hyperboilic.... :(

* Burgers done. Euler typo fixed

* Shallow water also done!

* Shallow water gauss bump problem included

* include transformations to flux evaluation functions

* This fixes Allow HCL flux functions utilize space-dependent evaluation dohyun-cse/mfem#1.
Advection equation is now included

* Now DGHCL takes nonlinear form as an input argument to handle ParNonlinearForm

* Parallel euler implementation

* remove hello from..

* print function updated

* code cleanup

* Euler cleanup and parallel version bug fix

* Burgers code cleanup and parallel implementation

* shallow water updated.

* advection serial parallel done.

* correct typo in option (parallel refine)

* move hyperbolic_conservation_laws file to fem folder

* include path update

* Take NonlinearForm as reference, not a pointer. Updated Makefile, too.

* Documentation and change some variable names

* form integrators are now in heap memory to avoid malloc error

* changed nonlinear form as a pointer
It seems that PyMFEM does not like reference of nonlinear form... :(

* ignore generated files

* max_char_speed get set method instead of pointer

* nonilnForm pointer update

* nonlinearForm pass by reference

* typo correction

* Test for PyMFEM.. Other examples are not updated yet

* example scripts updated

* ternary to max function

* simplify creating parallel version.

* p-refinement done. test needed.

* testing begins!

* update procedure for main class is included.

* Testing. Still having problem. Not identified yet

* Correct size, but incorrect values.

* p-refinement done and remove nonlinear form exposure.
Parallel checking is done by dynamic_cast.
Therefore, there is no reason to expose nonlienar form to user.
This simplifies class creation :)

* p-refinement test done.

It seems that p-refinement does not result in more accurate solution.

* add option for refinement. h-refinement impl start

* h-refine works fine, but threshold should be modified to obtain bounded number of elements.

* namespace update

* examples tested.

* h-refinement done. Update marking procedure by using confidence interval

* formatting and remove cout from derefine

* include adaptive code to make file

* visualization update

* NumericalFlux -> RiemannSolver

* It seems that set is ambiguous for SWIG..

* comment on hDerefine and now use VectorFunctionCoefficient for IC and Velocity

* testing....

* make flux related methods public

* remove commented out codes

* make style

* doxygen update

* update ex18 with new implementation

* Combine Element/Face Form integrators.

* astyle

* remove redundant ;

* remove refinement procedures.

* thread safe clause

* remove using namespace from hpp file

* ProlongToMaxOrderDG included with interpolation

* remove lambda_function type and return VectorFunctionCoeff for initial/velocity

* removed sinpi

* Some comments

* remove other examples and style

* remove examples not included anymore

* std::cout to mfem::out and correct minor bugs

* ignore mesh file

* update makefile

* remove MPI from serial

* remove unused captured variables in lambda functions

* style

* remove ex34 from makefile and reorder initialization

* remove initialization for auxiliary variables in formintegrator

* remove gas constant from the euler system

* fix broken parts due to uninitialization

* move initialization of local variables inside of FormIntegrator constructor

* forgot to update the other constructor!

* ignore mesh and gridfunctions

* resolved memory leak. Need to check

* remove pragma omp atomic

* remove delete nonlinearForm

* resolve shadowing

* correct dof report and remove barrier in visualization

* forgot to update variable name in euler form

* nonlinearForm memory leak resolved.

destructor of nonlinearForm always delete integrators.
This results in double deletion of the form integrator if we use for both domain and face integration.
To resolve this issue, just create two integrators and pass it to nonlinearForm

* proper header setting and faster test by reducing mesh size

* delete ex18.hpp

* move lengthy functions to cpp

* header order changed

* simpler inclusion.. still have duplicated symbols

* resolved linker problem and include pnonlinear

* remove commented out functions

* documentation

* fixing memory leak..

* delete nonlinearForm

* formatting

* distclean update

* Ignore binaries and result files

* copyright

* Riemann solver comment, input updated.
Riemann solver is now passed as reference

* pass riemann solver by reference

* move default normal flux eval to cpp

* Advection uses inferred dimension from velocity field

* integration rule uses Jacobian order, too

* delete not implemented

* mark override

* format

* unique ptr and mark override

* use single HyperbolicFormIntegrator

* static GetRule

* proper creation without copying

* proper jacobian order in GetRule

* moved member function implementation to cpp file

* new line

* pass by reference

* removed 4x4 mesh and update ignore

* doxygen updated

* remove constructor with integration rule.
Users can set integration rule via NonlinearFormIntegrator::SetIntRule

* useExternalData to indicate ownership of integrator for nonlinear form

* extract flux function from the form integrator

As suggested by @pazner, flux function is now seperated from form integrator. By doing so, riemann solver takes simpler argument but can access to equation-specific information.

* documentation

* documentation --

* initialization order

* update naming of form integrators

* initialization order...

* use normal wavespeed

* shorter Rusanov flux evaluation

* minor code style update

See, https://github.com/mfem/mfem/pull/3598#pullrequestreview-1803234677

* fix syntax error due to pointer -> reference

* std::

* Update fem/nonlinearform.hpp

Co-authored-by: Will Pazner <11493037+pazner@users.noreply.github.com>

* return Mesh instead of string

* Moved DG to ex18.hpp and other styling updates
- Ex18p not yet updated

* update similar to previous commit

* remove ResetMaxChar in the constructor + comment update

Since reset max char will be called each Mult() call, we do not need reset in the constructor

* comment and include functional

* removed inlined namewspace

* style

* move common functions to hpp

* formatting and minor fixes in parallel code.

* update filename and fix typo in `GetMovingVortexInit`

* add hyperbolic to changelog and ex18 comment update

* removed Kelvin–Helmholtz instability example

It is hard to get a satisfactory result with the current DG method without additional treatment.

* fluxFunction is now input of RiemannSolver::Eval instead of being a member.

* compatibility check between flux function and Riemann solver

Some Riemann solver are system-specific. Such Riemann solver can prevent user-error by overriding `IsCompatible`.

* More error-proofing constructors of `RiemannSolver` and `HyperbolicFormIntegrator`

* documentation

* header file description updated

* add examples in the comment

* style

* copyright update

* use unique_ptr in the constructor to make ownership clear

* removed unused member, dim

* Some minor edits, mostly formatting

* add option for pre-assembly

* remove unused ComputeFlux

* keep momentum variable as in serial code

* Fix warnings

* preassembly by default and minor optimization

* remove mutable vector and revert back variable name

flux is now a local variable that changes size at each element. So, it would better to remove it from member variables.

* std::sqrt instead of sqrt

* another minor optimization

* rename options and add comments

* linearized->interpolated

* typo correction in comment

* remove auto from example

Co-authored-by: Chris Vogl <vogl2@llnl.gov>

* Comment update
Correct condition check comment on weak-divergence, and additional comments on auxiliary variable

* Momentum for visualization should be shifted.
FE implementation is correct, but visualization was using u[0,dim). It should be u[1,dim) and now fixed.

* example comments

* style..

* strangely, a trailing space was not updated.

* Fix the thread-safe build. Some doxygen and formatting tweaks.

* fix doxygen error

* Some small tweaks in ex18/ex18p; remove small diffs between the
serial and the parallel versions.

* Small formatting tweaks in ex18.hpp

* unused problem mesh transform

* Remove transformation dependent integration order

* Minor formatting

* support general precision

* format

---------

Co-authored-by: adam-sim-dev <adam.d.schmidt@hotmail.com>
Co-authored-by: Will Pazner <11493037+pazner@users.noreply.github.com>
Co-authored-by: Veselin Dobrev <dobrev@llnl.gov>
Co-authored-by: Chris Vogl <vogl2@llnl.gov>
Co-authored-by: Veselin Dobrev <v-dobrev@users.noreply.github.com>
2024-04-03 13:30:41 -07:00
Jan Nikl 6289562498 Fixed BDPMinresSolver. 2024-04-03 10:11:47 -07:00
Jan Nikl 5b79660c96 Fixed Block*Preconditioner comments. 2024-04-03 10:02:54 -07:00
Jan Nikl cf5af75215 Revert "Added const qualifiers to Operator arguments of BlockOperator."
This reverts commit d843cd6e8a.
2024-04-03 09:24:42 -07:00
adam-sim-dev 1bd99dde78 Merge branch 'master' into pardiso-fix 2024-04-03 23:57:27 +08:00
Tzanio Kolev 687ef84488 Merge pull request #4056 from mfem/yohann/fa-dg-amr
Add support for `AssemblyLevel::FULL` for DG on `NCMesh`.
2024-04-03 08:34:29 -07:00
adam-sim-dev 6fab40ce8b Fix Pardiso for single precision 2024-04-03 22:52:47 +08:00
Eric B. Chin 215cb4c585 Merge branch 'master' into const-hypreparmatrix-blocks 2024-04-02 14:02:12 -07:00
Eric B. Chin 4c93ddddc3 fn sig spacing 2024-04-02 13:59:02 -07:00
Stowell, Mark L d61d1159ec Re-enforcing "max boundary attribute + 1" convention 2024-04-02 12:24:04 -07:00
Tzanio Kolev 558bb87bab Merge pull request #4015 from mfem/tmop-pa-diag-fix
TMOP PA diagonal kernels with non-diagonal targets.
2024-04-02 12:07:25 -07:00
Stowell, Mark L 496d083c63 Removing device sample runs 2024-04-02 11:26:24 -07:00
Yohann 61cf6735db Update fem/restriction.cpp
Omitted `double`
2024-04-02 09:32:30 -07:00
Yohann c0924ad9e6 Apply suggestions from code review
Replace `double` with `real_t`.
2024-04-02 09:31:51 -07:00
Stefano Zampini 040ae1609b Merge remote-tracking branch 'origin/master' into stefanozampini/petsc-3.21 2024-04-02 12:04:25 +02:00
Stefano Zampini 503a2e2529 ex3p: Skip unsupported PETSc version in three dimensions 2024-04-02 12:00:51 +02:00
Tzanio Kolev 7bf2a79920 Merge pull request #4151 from mfem/ProjectBdrCoefficient-par-consistency
Broadcast values to other processors to have a consistent GridFunction
2024-03-31 10:41:55 -07:00
Tzanio Kolev 1d37883cc7 Merge pull request #4211 from mfem/hypre-sync-fix
Fix a synchronization issue with some HypreParMatrix constructors
2024-03-31 10:41:02 -07:00
Veselin Dobrev 442360f80d In the GNU make build system, creating an archive from all unit
test object files does not work with Catch2. Instead, combine the
object files into a single object file using 'ld -r'.
2024-03-30 23:29:56 -07:00
Veselin Dobrev 731ea03c80 In the GNU make build system, create an archive from all unit test
object files to avoid a linking issue with long link commands and
CUDA.
2024-03-30 20:39:17 -07:00
Veselin Dobrev 891b17221e Fix nvcc warning 2024-03-30 14:38:19 -07:00
Veselin Dobrev 8af7493023 Add ex38,ex39,ex39p to the GNU make build system.
Updated ex38.cpp to return MFEM_SKIP_RETURN_VALUE when MFEM is
built without LAPACK.

In the examples CMakeLists.txt, treat ex38 similar to other tests
that are conditionally skipped.
2024-03-30 14:09:01 -07:00
Tzanio Kolev 0181312468 Optional visualization in Example 34/34p 2024-03-29 16:21:04 -07:00
Stowell, Mark L 49bff9daef Fixing GLVis output which gets passed the -no-vis option 2024-03-28 14:24:39 -07:00
Veselin Dobrev 2970564990 In the TMOP method/kernel AssembleDiagonalPA_Kernel_3D, add limits
on D1D and Q1D for CUDA/ROCM that are specific to this kernel.
2024-03-27 22:04:12 -07:00
Veselin Dobrev 4fb4ab4397 In the TMOP method/kernel AssembleDiagonalPA_Kernel_3D, reduce the
size of the required shared memory and some other small tweaks.
2024-03-27 19:30:33 -07:00
Veselin Dobrev a3fd440078 Merge branch 'master' into tmop-pa-diag-fix
Resolved conflicts:
   fem/tmop/tmop_pa_h2d.cpp
   fem/tmop/tmop_pa_h3d.cpp
2024-03-27 15:34:51 -07:00
Stowell, Mark L 386fa30275 Merge remote-tracking branch 'origin/master' into named-attr-sets
# Conflicts:
#	CHANGELOG
#	mesh/mesh.hpp
2024-03-27 13:52:45 -07:00
Stowell, Mark L 56c76c0d16 double -> real_t 2024-03-27 13:07:27 -07:00
Stowell, Mark L 094346dc9e Merge remote-tracking branch 'origin/master' into bugfix/submesh-rt 2024-03-27 13:06:49 -07:00
Julian Andrej 1ec42ff5c1 remove include 2024-03-27 11:58:22 -07:00
Julian Andrej 6a1cf0d4f1 guard tests for real_t 2024-03-27 11:38:44 -07:00
Julian Andrej c2dc05c433 change to real_t 2024-03-27 11:35:13 -07:00
Stowell, Mark L 74e4f76268 Re-enabling corrected unit test 2024-03-26 19:35:49 -07:00
Stowell, Mark L 7d3906e67c Switching to modified unit test 2024-03-26 18:55:13 -07:00
Stowell, Mark L 9a4398cb66 make style 2024-03-26 18:45:14 -07:00
Stowell, Mark L fd5e104558 Re-enabling new unit test 2024-03-26 18:33:43 -07:00
Veselin Dobrev 5485f2becf Merge branch 'master' into ProjectBdrCoefficient-par-consistency 2024-03-26 18:28:09 -07:00
Stowell, Mark L b778e649d6 Adding new miniapps to gitignore 2024-03-26 17:04:38 -07:00
Veselin Dobrev ecb72984e0 The meshing miniapp 'pmesh-fitting' should now work with hypre build
with GPU support.
2024-03-26 16:54:50 -07:00
Veselin Dobrev c0e6dc573b Merge branch 'master' into hypre-sync-fix 2024-03-26 16:50:29 -07:00
Stowell, Mark L 5b481db1a3 Disabling new or modified unit tests 2024-03-26 16:40:36 -07:00
Stowell, Mark L a0f4cc6790 Adding testing of new miniapps 2024-03-26 16:05:32 -07:00
Stowell, Mark L f315883342 Merge branch 'bugfix/submesh-rt' of github.com:mfem/mfem into bugfix/submesh-rt 2024-03-26 15:15:05 -07:00
Stowell, Mark L c5e74c1b6a Adding new miniapps to to make and cmake files 2024-03-26 15:14:24 -07:00
Stowell, Mark L 63d33a88be Improving visualization in new miniapps 2024-03-26 15:13:41 -07:00
Stefano Zampini ed39df11da Fix single precision examples and SLEPc 2024-03-27 00:05:52 +03:00
Stefano Zampini 38c9bc75b5 PETSc: last updates to real_t 2024-03-26 23:10:40 +03:00
Stefano Zampini 440be80704 Merge branch 'stefanozampini/petsc-3.21' of github.com:mfem/mfem into stefanozampini/petsc-3.21 2024-03-26 23:09:34 +03:00
Stefano Zampini a79c2b81cd PETSc: update to real_t 2024-03-26 23:07:55 +03:00
Stefano Zampini a2734e6888 Fix hybridization example 2024-03-26 23:03:59 +03:00
Stefano Zampini d26ea85877 Merge remote-tracking branch 'origin/master' into stefanozampini/petsc-3.21 2024-03-26 22:20:57 +03:00
Julian Andrej 6a301e2a31 initialize gridfunction 2024-03-26 12:18:07 -07:00
Tzanio Kolev bcdf7cc648 Merge pull request #3922 from mfem/float
Generalize floating point type
2024-03-26 12:08:04 -07:00
Veselin Dobrev 0110cb715d Resolve the issue described in the parent commit 2024-03-25 23:00:16 -07:00
Veselin Dobrev 4e80106811 Add a set of tests that illustrate an issue with some HypreParMatrix
constructors that wrap external data (SparseMatrix or Table) and
reorder it to make the diagonal entry first in each row.

The issue only appears when using HYPRE + CUDA/ROCM build.

This commit can be used to see the issue by running either of
the unit tests, 'punit_tests' or 'pcunit_tests'.

The issue will be resolved in the next commit to this branch.
2024-03-25 22:51:55 -07:00
Veselin Dobrev 8487564f0d Merge branch 'master' into float 2024-03-25 13:07:23 -07:00
Veselin Dobrev f37a8142cb Update two doxygen comments 2024-03-25 13:05:43 -07:00
Veselin Dobrev 7be646b8ce Fix the HIP build with single precision.
Fix warnings about RAND_MAX when using single precision.

Introduce an inline function `real_t rand_real()` that returns a
random number in the interval [0,1) using rand(). This function
handles better the case of single precision where the expression
`real_t(rand())/(real_t(RAND_MAX)+1)` can return 1.0f due to round-off
when rand() returns a number close to RAND_MAX.

Use `rand_real()` in a few places that before used code similar to
`real_t(rand())/(real_t(RAND_MAX)+1)`.
2024-03-24 10:43:15 -07:00
Veselin Dobrev ad32ab68e0 In the CMake build system add the cublas dependency of hypre. 2024-03-23 17:26:01 -07:00
Veselin Dobrev 91204ea52e Update the CMake build system to conditionally exclude tests that
return MFEM_SKIP_RETURN_VALUE under certain config conditions. These
exclusions will need to be updated manually when a test is modified
to return or no longer return MFEM_SKIP_RETURN_VALUE.

Added some tests missing from the CMake tests compared to the
GNU make tests.
2024-03-23 16:15:46 -07:00
Vladimir Z Tomov 8c98ecbf91 fixed some tolerances during testing. 2024-03-22 23:48:18 -07:00
Veselin Dobrev dcc81ec67f Add early "skip" exit in the miniapp 'pmesh-fitting' when using hypre
build with GPU support -- there are error messages about non-SPD
operator in the 'lin_solver' in ParAdvectorCGOper::Mult().
2024-03-22 19:02:05 -07:00
Veselin Dobrev a974d724ef Instantiate Memory<T>::PrintFlags() and
Memory<real_t>::CompareHostAndDevice() for T = real_t
instead of T = double.

Extend Vector and DenseMatrix constructors from fixed size
arrays of type real_t to any type T -- this was one simple way
to get the tests to build with nvcc with single precision.

Fix the building of tests/unit/linalg/test_matrix_hypre.cpp with
single precision when using hypre built with GPU support.

Fix a warning from nvcc in miniapps/tools/tmop-check-metric.cpp.
2024-03-22 18:12:49 -07:00
Socratis Petrides c3a56ba4b5 Merge branch 'master' into bugfix/submesh-rt 2024-03-22 12:47:26 -07:00
Veselin Dobrev 90d3a987fe Modified the unit tests to print that they are not supported with
single precision and return the "skip" exit code.
2024-03-22 11:31:45 -07:00
Veselin Dobrev 5e778cdb1f Increase a tolerance for single precision in 'navier_kovasznay' to
allow the test to pass with additional compilers/platforms.
2024-03-21 17:47:47 -07:00
Veselin Dobrev a0a2fe2128 Introduce separate tolerances for single precision in the navier
miniapp.
2024-03-21 17:30:33 -07:00
Veselin Dobrev c57ef1cd2d Remove diplicate output of MFEM_USE_SINGLE in 'make info' 2024-03-21 16:16:44 -07:00
Veselin Dobrev 6facf1d3c0 Fix the single precision tests of the miniapps 'navier_kovasznay' and
'block-solvers'.
2024-03-21 15:24:31 -07:00
Veselin Dobrev 7b20790ded Mentioned the "General floating point type support" discussion in
CHANGELOG and INSTALL.

Added MFEM_PRECISION to the output from 'make info'.
2024-03-21 12:02:49 -07:00
Tzanio Kolev 189d4d7900 Merge pull request #4199 from mfem/gitlab-quartz-baseline-switch
Update the GitLab "quartz-baseline" pipeline to use the Quartz-specific baseline results
2024-03-20 10:59:55 -07:00
Sebastian Grimberg 79d0284b3d Further examples/petsc style consistency 2024-03-20 09:09:46 -07:00
Sebastian Grimberg e51be179a4 Consistency with ex14p and ex17p 2024-03-20 09:06:50 -07:00
Sebastian Grimberg 2cbbbe09d4 Fix typo (EX2_ARGS_BDDC_3D -> EX3_ARGS_BDDC_3D) and text wrapping 2024-03-20 09:03:29 -07:00
Tzanio Kolev 8c2212c457 Merge pull request #4121 from mfem/artv3/raja-v2023.06.01-update
Update RAJA for v2023.06.00 and beyond
2024-03-20 07:28:18 -07:00
Stefano Zampini 19154e65ba add 3D HCURL bddc test to CMakeList 2024-03-20 16:02:19 +03:00
Veselin Dobrev 6f37514d3f In the GNU make and CMake build systems, modify how the floating-point
precision is specified: it is now controlled by the single option
MFEM_PRECISION (single/Single/SINGLE/double/Double/DOUBLE) which is
converted into settings for MFEM_USE_SINGLE and MFEM_USE_DOUBLE which
are then used as before.
2024-03-19 15:32:15 -07:00
Stefano Zampini e34c323edf Petsc: Support 3.21
add missing 3D Hcurl test (fixed in PETSc main) see https://github.com/mfem/mfem/issues/4050
PetscH2Solver::H2SolverConstructor fix ignored error codes
2024-03-19 17:33:03 +03:00
Veselin Dobrev 1314428770 Fix two 'make test' failures in a CUDA build using HYPRE+CUDA. 2024-03-18 17:53:18 -07:00
Veselin Dobrev e7400c2552 Make mfem::operator""_r a host+device function -- this was needed to
suppress nvcc warning.

Mention MFEM_USE_{SINGLE,DOUBLE} in the INSTALL file.

Other small updates.
2024-03-18 13:40:22 -07:00
Dylan Copeland 64fa92bb1c Introducing ""_r for casting to real_t. 2024-03-18 12:32:46 -07:00
Veselin Dobrev f12827db31 Tweak ex25/ex25p to try to remove diffs with 'master' 2024-03-18 06:30:14 -07:00
Veselin Dobrev d66d1f4cd9 Move up MFEM_USE_{SINGLE,DOUBLE} in the output from 'make info' 2024-03-18 06:23:42 -07:00
Veselin Dobrev b7a47d21f5 In quartz-baseline.yml, check for “baseline-quartz.diff” instead of “baseline-${SYS_TYPE}.diff” 2024-03-17 19:13:56 -07:00
Veselin Dobrev 6b566568f1 In the GitLab "quartz-baseline" pipeline, use result files with
prefix "baseline-quartz".
2024-03-17 15:52:11 -07:00
Veselin Dobrev c201035164 Move the MFEM_USE_{DOUBLE,SINGLE} options closer to the beginning
of the various config settings -- they are important settings and
should appear earlier.

Move the definition of mfem::real_t to config.hpp along with some
macros from globals.hpp -- I think this a better place for them.

Added support for single precision to ex10 and ex10p.

Added explicit compile time checks and error messages to make
sure HYPRE is compiled with the same precision as MFEM.

Fixed an issue affecting the visualization of the results from
ex10 and ex10p on nonconforming meshes.
2024-03-16 11:32:11 -07:00
Dylan Copeland c87b67e4f6 Reverting some changes to abs, min, max. 2024-03-16 11:10:06 -07:00
Veselin Dobrev 3122df854e Fixes for building examples and miniapps in single precision mode 2024-03-15 16:32:39 -07:00
Dylan Copeland 81affd9558 Merge branch 'master' of github.com:mfem/mfem into float 2024-03-15 13:03:21 -07:00
Dylan Copeland d57b1d8a2e Some complex fixes. 2024-03-15 12:59:28 -07:00
Tzanio Kolev 37e03ab550 Merge pull request #4198 from mfem/ci-sanitize-update
Workaround for the sanitizer failures
2024-03-15 12:50:32 -07:00
Dylan Copeland 36e4caff61 Revert branch-history 2024-03-15 12:11:20 -07:00
Dylan Copeland c009fb9bde Merge branch 'master' of github.com:mfem/mfem into float 2024-03-15 11:31:39 -07:00
Veselin Dobrev d9fe115eb9 Add a temoprary workaround based on
https://github.com/actions/runner-images/issues/9491

Fix a warning in the "build-container" action.
2024-03-15 10:39:14 -07:00
Veselin Dobrev c23cbdf0d1 Try to use clang 15 in the sanitizers CI to see if that solves the
recent failures of this action which uses clang 14.
2024-03-15 09:31:34 -07:00
Veselin Dobrev daff379773 Merge pull request #4173 from mfem/feature/tomstitt/avoid-some-memcpys
Avoid some unnecessary memcpys
2024-03-15 09:08:23 -07:00
Mark L. Stowell 8dde119d0c Merge branch 'master' into bugfix/submesh-rt 2024-03-14 11:30:49 -07:00
Stowell, Mark L d9b5b6c11c Cleaning up comments in new multidomain miniapps 2024-03-14 11:29:00 -07:00
Tzanio Kolev ac88580605 Merge pull request #4187 from mfem/fix/block-solver-hypre-error
Fix hypre error in block solver
2024-03-14 09:12:54 -07:00
Tzanio Kolev ad0feb11ac Merge pull request #4067 from mfem/diagonal-pa-markers
Add attribute marker support for AssembleDiagonalPA
2024-03-14 09:12:38 -07:00
Julian Andrej a6254e863f includes 2024-03-13 13:49:58 -07:00
Julian Andrej eefada3110 correction 2024-03-13 12:14:13 -07:00
Julian Andrej 8adfc1c557 provide unit test 2024-03-13 11:59:47 -07:00
Vladimir Z Tomov 2ef8230757 Merge branch 'master' into tmop-pa-diag-fix 2024-03-13 08:55:39 -07:00
Vladimir Z Tomov 241a5ca8a3 style 2024-03-12 22:39:54 -07:00
Vladimir Z Tomov 587c8950ee Improved the 3D diagonal PA computation. 2024-03-12 22:38:33 -07:00
Vladimir Z Tomov efc5e8e8eb Improved the 2D diagonal PA computation. 2024-03-12 22:09:37 -07:00
Sebastian Grimberg 8c41990e58 Fix bug for libCEED backends 2024-03-12 11:46:48 -07:00
Chak Shing Lee 3f5e45242a fix the way we eliminate Hcurl essential dofs 2024-03-11 20:56:18 -07:00
Veselin Dobrev 58aaa226e5 Merge pull request #4156 from mfem/feature/iterative-solver-virtual-norm
Make IterativeSolver::Dot virtual to enable custom inner products in derived solvers
2024-03-11 19:46:54 -07:00
Tzanio Kolev 70941b49b1 Merge pull request #4084 from mfem/mem_inact
[Enzyme] Mark additional memmanager fn/vars as inactive
2024-03-07 08:09:06 -08:00
Dylan Copeland d2e89166f9 Merge branch 'master' of github.com:mfem/mfem into float 2024-03-05 10:23:02 -08:00
Tzanio Kolev 94aeedce94 Merge pull request #3648 from mfem/nurbs-ref-formula
NURBS refinement by formulas
2024-03-05 09:11:57 -08:00
Seth Watts 80d0281784 Fix formatting 2024-03-04 15:21:41 -08:00
Seth Watts 3106d3883b Further docs updates from PR request; fix formatting 2024-03-04 15:19:49 -08:00
Seth Watts 97bdd3c188 Attempt to manually fix styling 2024-03-04 12:43:02 -08:00
Seth Watts 936f0f3f9f Update documentation based on PR feedback 2024-03-04 12:11:05 -08:00
Tom Stitt c43da76cff only ReadWrite eadata if add==true, other just Write 2024-03-04 12:02:24 -08:00
Seth Watts 0fb42c387b Switch from virtual Norm to virtual Dot
Based on PR feedback, switch to virtual Dot so that Norm method is always
consistent, i.e., it is always an inner product norm. This is important to
avoid inconsistent inner products and norms in concrete derived solvers.
2024-03-04 11:11:14 -08:00
Julian Andrej 20c9a68ee9 remove comments 2024-03-04 08:08:04 -08:00
Dylan Copeland cd2d93e822 Fix partially overriden NURBSUniformRefinement function. 2024-03-03 19:57:15 -08:00
Dylan Copeland a71af01887 Bug fix for linear spacing. 2024-03-03 19:45:14 -08:00
William S. Moses e6f687d5af fix style 2024-03-01 16:10:01 -05:00
Julian Andrej 6dc01f9737 prefix macros with MFEM_ 2024-03-01 13:00:53 -08:00
William S. Moses 7bd4738564 fix 2024-03-01 14:41:17 -05:00
William S. Moses e1e4ec6f95 try again 2024-03-01 14:34:45 -05:00
William S. Moses 925f4dc7de try docs again 2024-03-01 14:27:01 -05:00
Julian Andrej a14fea50f6 Revert "change order of attribute and comment for doxygen"
This reverts commit fdc724036d.
2024-03-01 08:50:37 -08:00
Julian Andrej fdc724036d change order of attribute and comment for doxygen 2024-03-01 08:42:01 -08:00
Stowell, Mark L 91bcdd1ab2 Mostly documentation and style fixes 2024-02-29 14:17:22 -08:00
Stowell, Mark L dd02c49856 Exchanging floating point for integer 2024-02-29 13:54:14 -08:00
Stowell, Mark L 35c2fc9a79 Adding RT to the pre-existing ParSubMesh unit tests 2024-02-29 10:55:19 -08:00
Stowell, Mark L 7d149334b6 make style 2024-02-29 10:54:46 -08:00
Julian Andrej 2c4672dd26 fix compilation 2024-02-29 10:49:35 -08:00
Julian Andrej 2260cbbdd4 Merge remote-tracking branch 'origin/master' into mem_inact
# Conflicts:
#	general/error.hpp
2024-02-29 10:45:32 -08:00
Julian Andrej b5e9b21370 make style 2024-02-29 10:41:22 -08:00
Stowell, Mark L eeb2eb2a07 Fix for boundaries of 2D meshes 2024-02-28 15:50:39 -08:00
Stowell, Mark L 5ffbee1199 Adding unit test for parallel sub-meshes with interior boundaries 2024-02-28 13:16:56 -08:00
Mark L. Stowell 001e3cd8fc Merge branch 'master' into bugfix/submesh-rt 2024-02-28 10:57:22 -08:00
Tzanio Kolev edcd7ee0ea Merge pull request #4149 from mfem/old-doxygen-filter-fix
Support older doxygen versions to some extend: fix the INPUT_FILTER handling
2024-02-27 21:28:38 -08:00
Stowell, Mark L 954b3dce73 Updating examples 2024-02-27 21:02:45 -08:00
Stowell, Mark L c521b4b8d6 Changing AttributeSets into a simple wrapper class around ArraysByName 2024-02-27 20:18:07 -08:00
Stowell, Mark L e5508fc1b4 Clarifying documentation 2024-02-27 20:17:17 -08:00
Stowell, Mark L 3f0e74c732 Merge branch 'named-attr-sets' of github.com:mfem/mfem into named-attr-sets 2024-02-27 19:14:11 -08:00
Mark L. Stowell c87a46f4b3 Merge branch 'master' into named-attr-sets 2024-02-27 19:12:58 -08:00
Stowell, Mark L cbf819362d Fixing doxygen reference errors 2024-02-27 19:10:05 -08:00
Stowell, Mark L 08c25c64cf Removing Mesh::AttrToMarker and adding similar limited functionality to the AttributeSets class 2024-02-27 17:30:51 -08:00
William S. Moses cfde6fed39 fixup 2024-02-27 20:08:45 -05:00
Seth Watts cc5dcee3b3 Make IterativeSolver::Norm virtual to enable custom norms in derived solvers 2024-02-27 07:51:58 -08:00
Stowell, Mark L be4089e9be Modifying output format as discussed in a meeting 2024-02-26 16:41:49 -08:00
Stowell, Mark L 1c95d630ba Creating Print* methods on the AttributeSets class so that the output width can be defined in one location 2024-02-26 16:41:00 -08:00
Stowell, Mark L 1281f0de29 Trimming examples 2024-02-26 16:37:58 -08:00
Stowell, Mark L 0645d5eca5 Removing unnecessary file 2024-02-26 16:37:30 -08:00
Stowell, Mark L c8a68cf60e Updating copyright dates 2024-02-26 13:11:27 -08:00
dylan-copeland d9fa483c70 Update copyright year. 2024-02-26 10:13:00 -08:00
dylan-copeland c866fefed1 Merge branch 'master' of github.com:mfem/mfem into nurbs-ref-formula 2024-02-26 10:03:47 -08:00
Tzanio Kolev 44e9f62af1 Merge pull request #4073 from mfem/nlf-boundaryintegrators-dev
Addition of Boundary Integration to `NonlinearForm`s [nlf-boundaryintegrators-dev]
2024-02-25 16:08:28 -08:00
Tzanio Kolev c512d36e70 Merge pull request #4139 from mfem/fix-smem-pa-hdiv-mass-apply-2d
In SmemPAHdivMassApply2D<D1D,Q1D>, fix the case when D1D < Q1D
2024-02-25 16:07:25 -08:00
Tzanio Kolev 57fee17ad7 Merge pull request #4134 from mfem/FindPointsGSLIB-empty-partition-fix
FindPoints fix for empty partition
2024-02-25 16:06:59 -08:00
Julian Andrej 2f94ba3786 Broadcast values to other processors to have a consistent GridFunction 2024-02-23 13:27:58 -08:00
Veselin Dobrev d8733d4bf9 Add quotes to the command for the INPUT_FILTER doxygen setting.
This allows older versions of Doxygen (tested with 1.8.14) to apply
the filter correctly.
2024-02-22 14:40:44 -08:00
Tzanio Kolev 9a21f59e60 Merge pull request #4126 from mfem/nurbs-helper-dev
NURBS dof functions [nurbs-helper-dev]
2024-02-21 12:23:56 -08:00
Tzanio Kolev 5b7e80c3d1 Merge pull request #4059 from mfem/integrate-qfunction
QuadratureFunction::Integrate
2024-02-21 12:23:27 -08:00
Stowell, Mark L 668ad9a800 Adding unit tests (and fixing newly uncovered bugs) for sorting and removing duplicates in ArraysByName 2024-02-20 14:28:42 -08:00
Stowell, Mark L c795d6bd00 Adding class description for ArraysByName 2024-02-20 14:27:28 -08:00
Stowell, Mark L 0f862ccfc3 Adding unit tests of sorting and removing duplicates from arrays 2024-02-20 14:26:32 -08:00
Stowell, Mark L d64cb93f89 Updating copyright dates 2024-02-20 14:25:39 -08:00
Stowell, Mark L dfa86e0668 Improved comments in new examples 2024-02-20 14:25:01 -08:00
Tzanio Kolev 409e8328f4 Merge pull request #4103 from mfem/doxy-math-dev
Better math in code comments
2024-02-19 15:51:11 -08:00
Tzanio Kolev f238ba54ec Merge branch 'master' into doxy-math-dev 2024-02-19 15:08:45 -08:00
Tzanio Kolev 1be2cea900 Merge pull request #4034 from mfem/getbdrelementadjacentelement2-rename
Rename Mesh::GetBdrElementAdjacentElement2 to Mesh::GetBdrElementAdjacentElementWithInverseOrientation
2024-02-19 15:06:56 -08:00
Tzanio Kolev 8132d10cdd Fix math style in comments 2024-02-19 15:05:20 -08:00
Tzanio Kolev 04abf688f7 Merge branch 'master' into doxy-math-dev 2024-02-19 15:00:50 -08:00
Tzanio Kolev 28527c59c6 Merge pull request #4120 from mfem/cmake-cxx-std-fix
In CMake, allow users to configure the C++ standard and some related options
2024-02-19 14:59:48 -08:00
Veselin Dobrev de445cbeb2 In SmemPAHdivMassApply2D<D1D,Q1D>, fix the case when D1D < Q1D.
Note: such cases are currently not instatiated in the library.

Reported-by: Tom Stitt <tomstitt@users.noreply.github.com>
2024-02-17 13:41:41 -08:00
Will Pazner d461ee1bca Update nodes_sequence more places in Mesh 2024-02-15 17:15:10 -08:00
Arturo Vargas 5c9d9aca95 Merge branch 'master' into artv3/raja-v2023.06.01-update 2024-02-14 09:09:20 -08:00
Arturo Vargas 3224d79ee5 Update CHANGELOG 2024-02-14 09:08:57 -08:00
Eric B. Chin 8a1e61967a Merge branch 'master' into const-hypreparmatrix-blocks 2024-02-13 16:51:03 -08:00
Eric B. Chin 5a15bbe2e9 reordering functions, add doxygen 2024-02-13 16:50:38 -08:00
Eric B. Chin 2887738161 add deprecated version 2024-02-13 16:43:33 -08:00
Veselin Dobrev db77249ac0 Merge pull request #4003 from mfem/multigrid-ess-dof-fix
Fix handling of essential DOFs in GeometricMultigrid
2024-02-13 12:51:43 -08:00
Tzanio Kolev b32b9f0517 Merge pull request #4089 from mfem/det-surface
Make GeometricFactors::DETERMINANTS work with surface meshes
2024-02-13 12:13:31 -08:00
Tzanio Kolev f3022bcf43 Merge pull request #4101 from mfem/sjg/elasticity-integ-using
Silence partial override warnings from #3806
2024-02-13 12:12:56 -08:00
Tzanio Kolev 8ba0ca7f84 Merge pull request #4058 from mfem/sjg/getnodalvalues-device-fix
Fix GridFunction::GetNodalValues when the vector has use_dev = true
2024-02-13 12:12:05 -08:00
Will Pazner 4df15bf526 Early return in QuadratureSpaceBase::GetWeights with empty mesh partitions 2024-02-12 17:12:42 -08:00
Eric B. Chin e428593ab0 formatting 2024-02-12 15:17:46 -08:00
Eric B. Chin f0a9546c03 add const to hypreparmatrix pointers 2024-02-12 15:10:48 -08:00
Veselin Dobrev 1b76dbd97c In the constructor of class GeometricMultigrid, allow the input
array ess_bdr to be empty.
2024-02-11 21:02:43 -08:00
Arturo Vargas e939e4e432 fix raja logic 2024-02-11 13:58:43 -08:00
Tzanio Kolev dd49332094 Merge pull request #3862 from mfem/block-solvers/bramble-pasciak-dev
Add Bramble-Pasciak solver to the block-solvers miniapp [block-solvers/bramble-pasciak-dev]
2024-02-10 18:31:40 -08:00
Tzanio Kolev 3cb5367a63 Merge pull request #4040 from mfem/constrained-transpose-dev
Implement `MultTranspose` for `ConstrainedOperator`.
2024-02-10 18:31:06 -08:00
Stowell, Mark L cdaabd67ee Recreating interior boundary elements in submeshes 2024-02-10 14:13:49 -08:00
Stowell, Mark L 950fd77063 Adding explanatory comments and switching to FaceInformation struct for cleaner code 2024-02-10 13:35:32 -08:00
Stowell, Mark L e2c9258889 Communicating interior boundary attributes during ParSubMesh construction 2024-02-10 11:57:01 -08:00
Stowell, Mark L f62bf0bb6b merging master into current branch 2024-02-10 11:55:40 -08:00
Stowell, Mark L 37578e2fb8 Replacing multidomain_rt.cpp which was accidentally overwritten 2024-02-09 15:12:26 -08:00
Will Pazner 57e3102935 Deprecate GeometricMultigrid constructor without essential boundaries 2024-02-09 10:43:58 -08:00
Will Pazner b785573016 Merge remote-tracking branch 'origin/master' into multigrid-ess-dof-fix 2024-02-09 10:42:34 -08:00
Tzanio Kolev 0b75f6caca Merge pull request #4109 from mfem/bugfix/submesh-issue-4107
Fix for issue 4107 in ParSubMesh
2024-02-09 08:16:43 -08:00
Tzanio Kolev 53693305dd Merge pull request #4098 from mfem/mesh-geom-comment
Update mesh file comments
2024-02-09 08:15:50 -08:00
JacobLotz 3cdc57e906 clean up 2024-02-09 14:00:45 +01:00
JacobLotz 26a480f831 Add two functions 2024-02-09 13:58:06 +01:00
Socratis Petrides 9364fc377f minor 2024-02-08 15:25:00 -08:00
Tzanio Kolev f5f62ac93c Update tests/unit/mesh/test_geometric_factors.cpp 2024-02-08 10:42:53 -08:00
Will Pazner eea68c8b96 Merge remote-tracking branch 'origin/master' into integrate-qfunction 2024-02-08 10:27:39 -08:00
Will Pazner fbe53c7548 Move forall kernel out of QuadratureSpaceBase::ConstructWeights
Fix nvcc issue: '__host__ __device__ lambda cannot have private or
protected access within its class'
2024-02-08 09:09:11 -08:00
Will Pazner a67d9f9158 Replace all calls to Mesh::GetBdrElementBaseGeometry with Mesh::GetBdrElementGeometry 2024-02-07 10:38:41 -08:00
Will PaznerandVeselin Dobrev 11f6944a82 Update fem/geom.cpp
Co-authored-by: Veselin Dobrev <v-dobrev@users.noreply.github.com>
2024-02-07 10:38:06 -08:00
Arturo Vargas b54f08a765 update raja for v2023.06.01 and beyond 2024-02-07 10:30:22 -08:00
Will Pazner 76006e9b14 Fix typo 2024-02-07 09:32:45 -08:00
Veselin Dobrev ec804f711f In the CMake build system, fix a bug where the C++ standard,
CMAKE_CXX_STANDARD, and related CMake flags cannot be set at
config time by the user.

Reported-by: @cyrush (issue #4117)
2024-02-07 09:21:43 -08:00
victor-decaria-nnl 5957cf2e43 Update test_operator.cpp
explicitly write 0 as 0.0
2024-02-07 11:01:34 -05:00
victor-decaria-nnl 7039f52ed6 Update operator.hpp
Make override notation consistent with rest of class
2024-02-07 10:40:32 -05:00
victor-decaria-nnl db5ba25e2f Merge branch 'master' into constrained-transpose-dev 2024-02-07 10:33:05 -05:00
Will Pazner b553219eb9 Merge remote-tracking branch 'origin/master' into getbdrelementadjacentelement2-rename
# Conflicts:
#	mesh/mesh.cpp
2024-02-06 16:10:43 -08:00
Will Pazner 231b0970e1 Wrap long lines 2024-02-06 16:06:49 -08:00
Will Pazner 74e31a4216 Check for compatible dimensions in QuadratureInterpolator determinant computation 2024-02-06 16:03:51 -08:00
Mittal, Ketan 66d8a7a958 fix ptr for empty partition 2024-02-06 15:45:25 -08:00
Vladimir Z Tomov 706ef524c7 Merge branch 'master' into nlf-boundaryintegrators-dev 2024-02-06 12:31:03 -08:00
Tomov b90039cbbf style 2024-02-06 12:17:57 -08:00
Tomov 2a75319cc9 minor 2024-02-06 12:14:42 -08:00
Tomov df69bdacd0 Added a unit test. 2024-02-06 12:13:09 -08:00
Dylan Copeland 61f950a68d Defined and documented magic number for skipped test return value. Changed errors for failing tests to return this value. 2024-02-06 12:07:29 -08:00
Dylan Copeland 046a874cfb Merge branch 'master' of github.com:mfem/mfem into float 2024-02-06 10:56:41 -08:00
Tzanio Kolev 5339837bd3 Merge pull request #4053 from mfem/solvers-dox
Solvers dox
2024-02-05 16:53:56 -08:00
Will Pazner 6db3c3b136 Bugfix 2024-02-05 11:31:23 -08:00
Will Pazner 2e71be8a83 Split Det2D into Det2D and Det2DSurface 2024-02-05 11:24:15 -08:00
Justin Laughlin 7e7f1df500 Merge branch 'master' into mesh-geom-comment 2024-02-05 10:40:02 -08:00
Sebastian Grimberg 5480f0833f Fix missing using in ElasticityComponentIntegrator 2024-02-05 08:38:18 -08:00
Stowell, Mark L 970833e98c Adding ND and RT variants of multidomain miniapp 2024-02-04 20:19:02 -08:00
Stowell, Mark L ef07982ea4 Removing variants of multidomain miniapp 2024-02-04 20:16:40 -08:00
Stowell, Mark L 5ddf07f7cd Merge branch 'bugfix/submesh-issue-4107' of github.com:mfem/mfem into bugfix/submesh-issue-4107 2024-02-04 13:04:46 -08:00
Stowell, Mark L 4107b6605c ND and RT variants of multidomain miniapp 2024-02-04 13:03:08 -08:00
Gabriel Esteban Pinochet Soto 4e247edd8a Small typo 2024-02-04 00:25:41 -08:00
Gabriel Esteban Pinochet Soto 9857d6a987 Apply correction from d53f982
- Remove repeated constructors from the wrapper ex5 in
  div_free_solver.xpp
- Append "const" in concordance to d53f982 in file darcy_solver.xpp
2024-02-04 00:09:16 -08:00
Gabriel Pinochet SotoandTzanio Kolev 60aa4a04fc Apply suggestions from code review
Co-authored-by: Tzanio Kolev <tzanio@llnl.gov>
2024-02-04 00:06:14 -08:00
Tzanio Kolev 444815b74b Typo 2024-02-03 16:05:12 -08:00
Tzanio Kolev 0aa21d66c4 Update CONTRIBUTING.md 2024-02-03 16:01:53 -08:00
Tzanio Kolev b86173353c Converted a few Doxygen-style math formulas 2024-02-03 15:56:34 -08:00
Tzanio Kolev 3f6f94f7a2 Mention math in comments in CONTRIBUTING, add a check for old style 2024-02-03 15:54:00 -08:00
Gabriel Esteban Pinochet Soto 5637e30f96 Remove typos. Update Copyright. 2024-02-03 14:58:25 -08:00
Gabriel Esteban Pinochet Soto 2a86934778 Update CHANGELOG. Update Copyright. 2024-02-03 14:44:38 -08:00
Tzanio Kolev d53f982761 Merge branch 'master' into block-solvers/bramble-pasciak-dev 2024-02-03 14:31:32 -08:00
Tzanio Kolev 1f4ff30101 Merge branch 'master' into bugfix/submesh-issue-4107 2024-02-03 14:27:46 -08:00
Tzanio Kolev 33617ce3a7 Merge pull request #4066 from mfem/el_transform_back
Add optional tolerance to ElmentTransformation::TransformBack
2024-02-03 14:24:07 -08:00
Tzanio Kolev bc3373ec09 Merge pull request #4064 from mfem/constrained-operator-addmult
Override AddMult for ConstrainedOperator
2024-02-03 14:23:34 -08:00
Tzanio Kolev 3dda9a5042 Merge pull request #4078 from mfem/najlkin/misc-bugfix
Various minor bug/deficiency fixes
2024-02-03 14:22:35 -08:00
Stowell, Mark L b87027927f Uncommenting calls to earlier communication code 2024-02-02 17:13:56 -08:00
Gabriel Esteban Pinochet Soto 91b9d9dc92 Update copyright 2024-02-02 13:16:40 -08:00
Tzanio KolevandDennis Ogiermann 7d2b5b8e07 Update doc/CodeDocumentation.conf.in
Co-authored-by: Dennis Ogiermann <termi-official@users.noreply.github.com>
2024-02-02 11:25:09 -08:00
Tzanio Kolev b666ec0c93 Merge pull request #4077 from mfem/najlkin/sparsemat-print-fix
Fix and improvement of the print methods in SparseMatrix
2024-02-01 17:52:55 -08:00
Tzanio Kolev a1ceea97fb Trying to fix Doxygen GitHub CI 2024-02-01 17:35:25 -08:00
Jan Nikl 4a421e6c1f Added notes about synchronization to the print methods. 2024-02-01 14:41:03 -08:00
Gabriel Pinochet Soto ca46e03800 Merge branch 'master' into block-solvers/bramble-pasciak-dev 2024-02-01 12:44:47 -08:00
Tzanio Kolev 44d33d17f3 Switch to MathJax_3 2024-02-01 11:48:14 -08:00
Sebastian Grimberg 4caab0f153 Resolve Doxygen error (docstring is already in the base class) 2024-02-01 08:55:18 -08:00
Will Pazner 58319e5f94 Mark ConstrainedOperator::~ConstrainedOperator as override 2024-02-01 06:48:52 -08:00
Tzanio KolevandWill Pazner c03968e614 Update doc/CodeDocumentation.conf.in
Co-authored-by: Will Pazner <11493037+pazner@users.noreply.github.com>
2024-01-31 16:16:40 -08:00
Vladimir Tomov 04a7dad296 Update amgxsolver.hpp 2024-01-31 15:43:50 -08:00
Tzanio Kolev eaec7fcbba Merge branch 'master' into doxy-math-dev 2024-01-31 14:50:04 -08:00
Tzanio Kolev 71ab3f2856 Filter to use plain instead of Doxygen-style LaTeX in comments 2024-01-31 14:44:37 -08:00
Tzanio Kolev b17f011297 Merge branch 'master' into sjg/getnodalvalues-device-fix 2024-01-31 13:19:06 -08:00
Tzanio Kolev 8ec618739c Merge branch 'master' into najlkin/sparsemat-print-fix 2024-01-31 13:19:01 -08:00
Tzanio Kolev 9bd163dc1d Merge branch 'master' into el_transform_back 2024-01-31 13:18:52 -08:00
Tzanio Kolev 4e4c97b4dd Merge branch 'master' into constrained-operator-addmult 2024-01-31 13:18:29 -08:00
Sebastian Grimberg eed6842c00 Silence many compiler warnings about partial overrides 2024-01-31 11:25:03 -08:00
Aaron Fisher 208db48024 Fixed a capitalization in the dox 2024-01-31 11:07:04 -08:00
Aaron Fisher bfe3c8f070 Merge branch 'master' into solvers-dox 2024-01-31 11:04:10 -08:00
Tzanio Kolev da1a96477f Merge pull request #4093 from mfem/2024-copyright
Update COPYRIGHT to 2010-2024
2024-01-31 06:34:05 -08:00
Tzanio Kolev 1fcb4e4d03 Merge pull request #4090 from mfem/actions-nodejs-update
Bump GitHub actions versions
2024-01-31 06:33:45 -08:00
Dylan Copeland 6c07599447 Replace mesh/geom.hpp with fem/geom.hpp in mesh file comments. 2024-01-30 21:01:34 -08:00
Robert Carson d64fb2c5a5 Merge branch 'master' into el_transform_back 2024-01-30 17:31:23 -08:00
Robert Carson 1deac8c6bf Add documentation for new param in ElementTransformation::TransformBack 2024-01-30 17:30:28 -08:00
Tzanio Kolev 7261837f95 Merge branch 'master' into 2024-copyright 2024-01-30 11:52:35 -08:00
Socratis Petrides 0ad4acf6a5 edits to mumps interface to accomodate single precision 2024-01-29 17:55:00 -08:00
Socratis Petrides 097e93e4ab adjusting some dpg sample runs to accomodate single precision 2024-01-29 17:52:27 -08:00
Tzanio Kolev 2458a62361 Merge pull request #3972 from mfem/bilinearform-dox
Doxygen improvements to bilinearform
2024-01-27 19:37:23 -08:00
Tzanio Kolev de328c333c Merge pull request #4087 from mfem/quartz-timeout
Increase time for testing on Quartz from 45 to 60 minutes
2024-01-27 13:23:53 -08:00
Tzanio Kolev 87290fbf56 Update Copyright to 2010-2024 2024-01-27 13:06:49 -08:00
Veselin Dobrev f345e14543 Merge pull request #4081 from mfem/bugfix-lorelast
Bugfix for lor elasticity miniapp kernel
2024-01-26 11:01:07 -08:00
Will Pazner b2c17a5c3a Bump GitHub actions versions
Node.js 16 actions are deprecated, this updates to the versions of the actions
using Node.js 20.
2024-01-26 10:13:58 -08:00
Will Pazner 7a8294dd42 Make GeometricFactors::DETERMINANTS work with surface meshes 2024-01-25 23:38:33 -08:00
Tzanio Kolev 77c8eeb8ea Use CI reservation on Quartz 2024-01-25 14:50:23 -08:00
Dylan Copeland 81054158c9 Remove unnecessary copy constructors. 2024-01-25 11:54:29 -08:00
dylan-copeland f6266d9c86 Copy constructors for all classes derived from SpacingFunction. 2024-01-25 10:11:36 -08:00
William S. Moses 372358f7e9 mark read/write as dynamic-cast like 2024-01-25 12:36:58 -05:00
William S. Moses 549774f4c2 make docs okay with attributes 2024-01-25 12:09:16 -05:00
Tzanio Kolev d959baa18a Increase time for testing on Quartz from 45 to 60 minutes 2024-01-25 09:03:13 -08:00
Jan Nikl 3ae6ec61e5 Changed using to stub for ParMesh::FaceIsTrueInterior(). 2024-01-25 08:59:41 -08:00
dylan-copeland 3cc2fbe2aa Fix mac build. 2024-01-24 22:00:01 -08:00
Dylan Copeland a8bb51b18e Reformat long lines. 2024-01-24 21:14:20 -08:00
William S. Moses cc2365869d [Enzyme] Mark additional memmanager fn/vars as inactive 2024-01-25 00:08:46 -05:00
Dylan Copeland 6e269b0cef Using unique_ptr instead of raw pointers. 2024-01-24 20:58:12 -08:00
Jan Nikl ae2443eded Added a unit test for sparse matrix printing. 2024-01-24 15:22:06 -08:00
Jan Nikl c3a455d86f Fixed auto reference in div_free_solver. 2024-01-24 12:23:20 -08:00
Aaron Fisher 650387111d Addressing some more copy edits. 2024-01-24 11:58:16 -08:00
Aaron Fisher 6239b924ad Merge branch 'master' into solvers-dox 2024-01-23 16:49:33 -08:00
Aaron Fisher 332528b068 Addressed typos found in review, broke up comments to keep within the 80 line limit. 2024-01-23 16:48:26 -08:00
Dylan Copeland ba37ea1ec1 Write v1.0 file when there are no spacing formulas. Update CHANGELOG. 2024-01-23 13:19:05 -08:00
Julian Andrej 2950d62c49 bugfix for lor elasticity miniapp kernel 2024-01-23 13:10:47 -08:00
Aaron Fisher ecfe032565 make style 2024-01-23 12:29:25 -08:00
Aaron Fisher c0f969def9 Fixed a doxygen error and some link warnings. 2024-01-23 12:28:24 -08:00
Aaron Fisher 44c6cf4c13 make style 2024-01-23 11:40:09 -08:00
Aaron Fisher 15e887969a Fixed lines that were longer than 80 chars. 2024-01-23 11:38:56 -08:00
Aaron Fisher c613091a32 Merge branch 'master' into bilinearform-dox 2024-01-23 11:22:32 -08:00
Dylan Copeland 424f1306dd GetFineKnots return by value. 2024-01-23 10:59:32 -08:00
Dylan Copeland 3b0db206dd Merge branch 'master' of github.com:mfem/mfem into nurbs-ref-formula 2024-01-23 10:47:40 -08:00
dylan-copeland d2c1ead422 Restore destructors. 2024-01-23 09:27:59 -08:00
dylan-copeland 9ab210fcee Another attempt at SpacingFunction initialization. 2024-01-23 09:09:05 -08:00
dylan-copeland 765c23e9f3 Doxygen fix 2024-01-22 23:17:07 -08:00
dylan-copeland 773be1fa98 Adjust last commit. 2024-01-22 23:13:09 -08:00
dylan-copeland d74f6f03d4 Review suggestions. 2024-01-22 23:01:40 -08:00
Jan Nikl 7a2ab45ae0 Fixed div-free solver miniapp to work with constant operators. 2024-01-22 16:55:41 -08:00
Jan Nikl a0ae98f400 Added const qualifier to boundary attributes in ParGridFunction projection methods. 2024-01-22 16:23:43 -08:00
Jan Nikl 20dbb8efba Added support of integral elements to L2 error. 2024-01-22 14:38:02 -08:00
Jan Nikl 2d582d80c9 Added const qualifier for boundary attributes in GridFunction projection methods. 2024-01-22 14:38:02 -08:00
Jan Nikl 63c9716056 Fixed VectorDiffusionOperator::AssembleElementVector(). 2024-01-22 14:38:02 -08:00
Jan Nikl 55a35c8818 Fixed boundary trace integration in MixedBilinearForm. 2024-01-22 14:38:02 -08:00
Jan Nikl e311b00349 Added closed GL quadrature into the closed ones. 2024-01-22 14:38:02 -08:00
Jan Nikl 34aac72833 Added default NULL value of the integration rule for quadrature integrators as it is not used anyway. 2024-01-22 14:38:02 -08:00
Jan Nikl 755eb9d65f Added const qualifier to quadrature function coefficient. 2024-01-22 14:38:02 -08:00
Jan Nikl f8040db3ec Made available FaceIsTrueInterior in ParMesh as it is supposed to be probably. 2024-01-22 14:38:02 -08:00
Jan Nikl d843cd6e8a Added const qualifiers to Operator arguments of BlockOperator. 2024-01-22 14:38:02 -08:00
Jan Nikl 1a9cf065d9 Adding printing of non-finalized sparse matrices. 2024-01-22 13:38:50 -08:00
Jan Nikl 19d1c7226e Fixed printing methods of sparse matrices on devices. 2024-01-22 13:38:35 -08:00
Jan Nikl 4c547f52c2 Minor optimization of SparseMatrix::EliminateCol(). 2024-01-22 10:16:37 -08:00
Joseph Signorelli 88fe87f4bc Application of make style 2024-01-20 17:48:20 -06:00
Stowell, Mark L bc44bb9ebf Removing unused instantiations to avoid errors in CI 2024-01-19 11:22:58 -08:00
Stowell, Mark L bec527fe0b Removing unit tests related to convertible type methods 2024-01-19 10:57:56 -08:00
Stowell, Mark L 68d117accd Merge remote-tracking branch 'origin/master' into named-attr-sets
# Conflicts:
#	tests/unit/CMakeLists.txt
2024-01-19 10:44:59 -08:00
Stowell, Mark L 047acf0b7c Fixing corner case where attribute arrays are zero length 2024-01-19 10:41:44 -08:00
dylan-copeland 7ad98e4952 Fix shadowed variable. 2024-01-18 15:33:32 -08:00
Dylan Copeland 1959a5c613 New NURBS mesh file format with spacing formulas in their own section. 2024-01-18 13:12:20 -08:00
Will Pazner 8d234b5358 Make sure cache in QuadratureSpaceBase::GetWeights is invalidated properly
Add unit test to test this case
2024-01-17 22:17:25 -08:00
Will Pazner 6d35c65f95 Add Mesh::nodes_sequence to track geometric factor invalidation 2024-01-17 22:16:35 -08:00
Will Pazner 4bfe05a9a5 Use InnerProduct instead of operator* in QuadratureFunction::Integrate 2024-01-17 21:47:00 -08:00
Stowell, Mark L 1009445194 Fixing Mesh::AttrToMarker when attrs is empty. 2024-01-17 21:25:26 -08:00
Stowell, Mark L 5f72e2d601 Declaring Mesh::AttrToMarker as static 2024-01-17 21:15:21 -08:00
Stowell, Mark L b23efc92df Tweaking "inline" declarations in header 2024-01-17 21:08:53 -08:00
Stowell, Mark L 495c730f39 Trimming the example codes 2024-01-17 21:07:57 -08:00
dylan-copeland 64fcc9d3b3 Remove spacing keyword. 2024-01-17 17:49:20 -08:00
dylan-copeland cc33cfdfc6 Reverting to sign trick, to eliminate "spacing" keyword in knotvectors. Reverting appveyor.yml. 2024-01-17 17:34:48 -08:00
Stowell, Mark L 8680ca4bcf Moving templated code to header and adding more template instantiations 2024-01-17 17:06:10 -08:00
Aaron Fisher 404db17f43 Merge branch 'master' into bilinearform-dox 2024-01-17 16:18:02 -08:00
Aaron Fisher 56d59c8e71 make style 2024-01-17 16:15:17 -08:00
Stowell, Mark L 0364c990a0 Merge remote-tracking branch 'origin/master' into named-attr-sets 2024-01-17 08:25:21 -08:00
dylan-copeland a8c0f7122b appveyor 2024-01-16 21:18:32 -08:00
Dylan Copeland 9c5d160ebc Merge branch 'master' of github.com:mfem/mfem into nurbs-ref-formula 2024-01-16 21:00:07 -08:00
Dylan Copeland 0c14bb478b Only debug build for appveyor. 2024-01-16 20:15:58 -08:00
Dylan Copeland b3bec4d97e appveyor.yml 2024-01-16 19:08:48 -08:00
Stowell, Mark L 23a7b101cd Removing GetNames(set<string>&) method in favor of returning by value 2024-01-16 16:46:21 -08:00
Stowell, Mark L 599ee41f2f Replacing call to removed "Copy" method 2024-01-16 16:25:24 -08:00
Stowell, Mark L ed95441729 Removing "Copy" method and declaring copy/move constructors and operators as "default" 2024-01-16 12:24:23 -08:00
Stowell, Mark L f273eea4c6 Updating unit test to check all copy/move constructors and assignment operators 2024-01-16 12:23:37 -08:00
Stowell, Mark L ed8fa3a89b Fixing comparison in unit test 2024-01-14 15:29:07 -08:00
Stowell, Mark L ec92ba8aa4 Removing custom iterator headache (thanks @pazner!) 2024-01-14 15:17:10 -08:00
Stowell, Mark L dfd7376d74 More "friend" fixes 2024-01-14 14:47:32 -08:00
Stowell, Mark L 3abd1bd2d1 Typo in doxygen command 2024-01-14 14:43:05 -08:00
Stowell, Mark L 2b3b8a9ee6 Adjusting "friend" declarations to satisfy different compilers 2024-01-14 14:23:18 -08:00
Stowell, Mark L 64521d5848 Fixing errors found by CI 2024-01-14 12:02:06 -08:00
Stowell, Mark L f6dfb11945 Merge remote-tracking branch 'origin/master' into named-attr-sets
# Conflicts:
#	mesh/mesh.hpp
2024-01-14 11:40:43 -08:00
Stowell, Mark L 64e11cce6b Manually adjusting indenting to conform to standard style (not sure why astyle failed to modify this) 2024-01-14 11:13:57 -08:00
Stowell, Mark L 3b4ea628f0 Altering Mesh and the new examples to use the new AttributeSets container class 2024-01-14 11:06:45 -08:00
Stowell, Mark L b9e7116648 Adding unit tests for the new container class 2024-01-14 11:05:24 -08:00
Stowell, Mark L f6e13f92c0 Adding an AttributeSets class for use within the Mesh class 2024-01-14 11:04:11 -08:00
Stowell, Mark L c57e1c33c9 Adding a container class for maps of arrays keyed by strings 2024-01-14 11:02:05 -08:00
Gabriel Pinochet Soto 5f79b7b9be Merge branch 'master' into block-solvers/bramble-pasciak-dev 2024-01-14 01:43:22 -08:00
Will Pazner f6e89b638e Add attribute marker support for AssembleDiagonalPA
Add unit test for PA diagonal assembly with element and boundary attribute
markers.

Resolves #3998.
2024-01-12 21:56:25 -08:00
Robert Carson 6c4f179751 make style 2024-01-11 10:56:53 -08:00
Robert Carson c54bc0aa55 Add ability to set tolerance in TransformBack func of the ElementTransformation class 2024-01-11 10:48:14 -08:00
Will Pazner 68e513c40e Use Write instead of ReadWrite in TensorProductPRefinementTransferOperator
Can avoid some unnecessary H to D memcpy
2024-01-11 10:06:28 -08:00
Will Pazner a8708fc6ca Override AddMult for ConstrainedOperator
Use existing workspace vector to avoid extra allocations
2024-01-10 09:43:43 -08:00
Stowell, Mark L 341e00aa09 Adding return by value options for sets of set names 2024-01-09 10:42:43 -08:00
Stowell, Mark L d90a567378 Removing unneeded scopes 2024-01-09 10:28:42 -08:00
Stowell, Mark L 37f9fc565d make style 2024-01-08 15:46:44 -08:00
Stowell, Mark L 860e16f693 Modifying CHANGELOG 2024-01-08 15:46:33 -08:00
Stowell, Mark L 373d088d0c Renaming new examples and editing their headers 2024-01-08 15:42:58 -08:00
Will Pazner 2fc95046d4 Add QuadratureSpaceBase::Integrate for vdim > 1 2024-01-08 12:02:20 -08:00
Will Pazner 975f03b0f0 Support QuadratureFunction::Integrate with vdim > 1 2024-01-08 11:56:41 -08:00
Will Pazner ee0118f954 QuadratureFunction::Integrate in parallel 2024-01-08 11:55:44 -08:00
Will Pazner e37048bfdd Merge remote-tracking branch 'origin/master' into integrate-qfunction 2024-01-08 11:13:16 -08:00
Will Pazner 8a4c9ca23c Merge branch 'face-qfunction-coefficient' into integrate-qfunction
# Conflicts:
#	fem/qspace.hpp
#	tests/unit/fem/test_quadf_coef.cpp
2024-01-08 11:12:56 -08:00
Sebastian Grimberg c6b1d45b25 Fix GridFunction::GetNodalValues when the vector has use_dev = true 2024-01-05 16:00:20 -08:00
Stowell, Mark L 696f0e2f2b Adding attribute array -> marker array methods to Mesh class 2024-01-05 15:04:25 -08:00
Stowell, Mark L 9844e4d925 Improvements to RemoveFromAttributeSet and RemoveFromBdrAttributeSet 2024-01-05 14:40:03 -08:00
Stowell, Mark L ae9689cad1 Switching to ranged-for loop in mesh reader 2024-01-05 13:51:07 -08:00
Stowell, Mark L 8ac2f38e41 Switching to range-based for loops 2024-01-04 17:34:43 -08:00
Yohann 957848d6ad Merge branch 'master' into yohann/fa-dg-amr 2024-01-04 16:30:18 -08:00
Yohann Dudouit a2667cd239 Add parallel support for full assembly on NCMesh. 2024-01-04 16:18:51 -08:00
Aaron Fisher 46d15e9b7c make style 2024-01-04 11:57:40 -08:00
Aaron Fisher 25e0fe3a8d Merge branch 'master' into solvers-dox 2024-01-03 14:12:18 -08:00
Aaron Fisher 3ac5bf85a6 Did an editing pass on the solver documentation I just added. 2024-01-03 14:11:15 -08:00
Joseph Signorelli 18301c0dbc BNFI for GetGridFunctionEnergy and GetEnergyBlocked 2024-01-03 16:05:55 -06:00
Joseph Signorelli 1f65d89031 Delete bnfi added to destructors 2024-01-03 15:47:17 -06:00
Joseph Signorelli 018da9aee1 Addition of bnfi to MultBlocked + ComputeGradientBlocked 2024-01-03 15:46:09 -06:00
Aaron Fisher 8a1f7aacbf Improved doxygen for superlu integration. 2024-01-03 13:15:00 -08:00
Joseph Signorelli 5ee2001860 Addition of bnfi to Mult and GetGradient 2024-01-03 15:09:08 -06:00
Joseph Signorelli 3472238513 Addition of bdr integrator vars, and get + add methods 2024-01-03 15:03:48 -06:00
Aaron Fisher f058ab27cf Merge branch 'master' into bilinearform-dox 2024-01-02 12:28:50 -08:00
Aaron Fisher 40326625a6 Fixed a dox bug in VectorBoundaryLFIntegrator. 2024-01-02 12:24:45 -08:00
Aaron Fisher d49bb363e1 Clarified a couple of dox messages. 2024-01-02 12:17:36 -08:00
Aaron FisherandDennis Ogiermann 810b05fbe7 Update fem/bilinearform.hpp
Co-authored-by: Dennis Ogiermann <termi-official@users.noreply.github.com>
2024-01-02 12:08:56 -08:00
Aaron FisherandDennis Ogiermann d46c264e5b Update fem/bilinearform.hpp
Co-authored-by: Dennis Ogiermann <termi-official@users.noreply.github.com>
2024-01-02 12:08:45 -08:00
Aaron FisherandDennis Ogiermann 4499e1ff36 Update fem/bilinearform.hpp
Co-authored-by: Dennis Ogiermann <termi-official@users.noreply.github.com>
2024-01-02 12:03:42 -08:00
Yohann Dudouit 8eef6da0c1 Add support for full assembly on non-conforming meshes. 2023-12-29 09:55:43 -08:00
Will Pazner 81d1a2fc1f Refactor Mesh::GetBdrElementAdjacentElement2 2023-12-28 14:29:41 -08:00
Stowell, Mark L a5b53962e6 Adding Doxygen style comments 2023-12-22 15:45:19 -08:00
Stowell, Mark L 0b4d6a181d Fixing shadowed variables flagged by GitHub testing 2023-12-22 11:38:45 -08:00
Stowell, Mark L e51c4e8bff Adding example files and test program 2023-12-21 19:16:45 -08:00
Stowell, Mark L c3e7eb045d Adding support for named attribute sets 2023-12-21 19:15:45 -08:00
Aaron Fisher 4add47bb17 Improved doxygen for the strumpack integration. 2023-12-21 17:20:56 -08:00
Aaron Fisher 8a4e8ba308 Improved the doxygen for the slepc interface. 2023-12-21 13:53:40 -08:00
Aaron Fisher dd628ae003 Improvements to Doxygen in Solvers.h 2023-12-20 15:57:34 -08:00
Aaron Fisher 3f994038fa Add improvements to the MUMPS doxygen. 2023-12-20 12:58:37 -08:00
Aaron Fisher 7bbab61e2b Significant improvements to the amgx solver doxygen. Fixed a couple doxygen errors in ex37. 2023-12-20 12:08:10 -08:00
Will Pazner 8fdc0c81cb Fix CHANGELOG 2023-12-19 15:19:47 -08:00
Will Pazner cd2233936c Fix bugs in Bramble-Pasciak solver with empty mesh partitions 2023-12-19 13:15:16 -08:00
Gabriel Esteban Pinochet Soto 6f32219308 Add inverse power iteration 2023-12-19 12:43:48 -08:00
Aaron Fisher fb5ebf0abb Merge branch 'master' into bilinearform-dox 2023-12-19 11:20:06 -08:00
Gabriel Esteban Pinochet Soto 6b8dd71da7 Remove shared pointed for BilForms. 2023-12-19 10:54:50 -08:00
Gabriel Esteban Pinochet Soto 87d5d1e0b6 Merge branch 'master' of https://github.com/mfem/mfem into block-solvers/bramble-pasciak-dev 2023-12-19 10:18:45 -08:00
dylan-copeland 02276956bd Merge branch 'master' of github.com:mfem/mfem into nurbs-ref-formula 2023-12-19 09:15:43 -08:00
Victor DeCaria 5f5a0e5fe6 Implement transpose of constrained operator. 2023-12-19 10:02:53 -07:00
Will Pazner 311be95810 Rename GetBdrElementAdjacentElement2 to GetBdrElementAdjacentElementWithInverseOrientation 2023-12-15 09:17:10 -08:00
Aaron FisherandDennis Ogiermann 1cda92a06c Update fem/bilinearform.hpp
Co-authored-by: Dennis Ogiermann <termi-official@users.noreply.github.com>
2023-12-12 11:27:38 -08:00
Aaron FisherandDennis Ogiermann 0905c430e6 Update fem/bilinearform.hpp
Co-authored-by: Dennis Ogiermann <termi-official@users.noreply.github.com>
2023-12-12 11:27:27 -08:00
Aaron FisherandDennis Ogiermann 35c8f43d37 Update fem/bilinearform.hpp
Co-authored-by: Dennis Ogiermann <termi-official@users.noreply.github.com>
2023-12-12 11:27:13 -08:00
Aaron FisherandDennis Ogiermann 6df0133c11 Update fem/bilinearform.hpp
Co-authored-by: Dennis Ogiermann <termi-official@users.noreply.github.com>
2023-12-12 11:27:03 -08:00
Aaron FisherandDennis Ogiermann 9c69032e49 Update fem/bilinearform.hpp
Co-authored-by: Dennis Ogiermann <termi-official@users.noreply.github.com>
2023-12-12 11:26:46 -08:00
Aaron FisherandDennis Ogiermann 49cfe29ce9 Update fem/bilinearform.hpp
Co-authored-by: Dennis Ogiermann <termi-official@users.noreply.github.com>
2023-12-12 11:26:33 -08:00
Vladimir Z Tomov 9d3125efe6 style 2023-12-06 18:46:14 -08:00
Vladimir Z Tomov f890c279c2 Fixed the 3d diagonal kernel. 2023-12-06 18:36:40 -08:00
Vladimir Z Tomov 077d9fc6bd 3d unit test (failing) 2023-12-06 18:08:38 -08:00
Vladimir Z Tomov 9d2c0d185f Fix 2D diagonal kernel + unit test. 2023-12-06 17:39:13 -08:00
Dylan Copeland f8a8392ff8 Merge branch 'master' of github.com:mfem/mfem into nurbs-ref-formula 2023-12-05 14:34:06 -08:00
Will PaznerandSebastian Grimberg 61c23059c6 Use '= default' for default Multigrid constructor
Co-authored-by: Sebastian Grimberg <sjg@amazon.com>
2023-12-01 11:44:08 -08:00
Will Pazner 68873fa4d4 Update ex26 and ex26p to use constrained prolongation operators
Resolves issue #4002
2023-11-30 19:50:51 -08:00
Will Pazner 9c01a3eca7 Use RectangularConstrainedOperator for prolongations in GeometricMultigrid
This fixes a bug in the multigrid solver. If the prolongation operators are not
constrained, then their transpose will have nontrivial action on the essential
DOFs, resulting in degraded convergence.
2023-11-30 19:50:51 -08:00
Will Pazner da68746692 Make FiniteElementSpace::GetEssentialTrueDofs const 2023-11-30 19:47:07 -08:00
Aaron Fisher 4e485b82b2 make style 2023-11-15 16:44:31 -08:00
Aaron Fisher 134d71d66f Fixed some spacing issues I broke and added doxygen to the remaining methods that didn't have it. 2023-11-15 16:40:30 -08:00
Aaron Fisher 80ac2d549f Merge branch 'master' into bilinearform-dox 2023-11-09 11:52:32 -08:00
Aaron Fisher 90fcbacb97 Fixed a reference to the DiagonalPolicy enum. 2023-11-09 11:51:15 -08:00
Aaron Fisher 1d711039b0 Improved and expanded the doxygen comments in BilinearForm 2023-11-08 14:42:54 -08:00
Dylan Copeland 023d8b190a Updated mesh files with spacing formulas to new format. 2023-11-06 11:56:26 -08:00
Dylan Copeland dee96f98fa Merge branch 'master' of github.com:mfem/mfem into nurbs-ref-formula 2023-11-06 11:23:27 -08:00
Dylan Copeland f49051867a Replaced minus-sign trick with a "spacing" keyword in knotvectors. Added newlines in spacing formula printing. 2023-11-06 11:17:53 -08:00
Dylan Copeland f0e5bccbfb Adding parameters for relative numbers of elements in piecewise spacing. 2023-11-06 10:09:52 -08:00
Dylan Copeland 041ce914d8 Making NURBSUniformRefinement public and removing NURBS-specific inputs from UnioformRefinement. 2023-11-01 13:10:35 -07:00
Dylan Copeland 7515dc1c33 Fix memory leak. 2023-10-30 18:20:01 -07:00
Dylan Copeland b769136be3 Fixing unit test. 2023-10-30 16:10:58 -07:00
Dylan Copeland 2ec09d5851 Fix last commit. 2023-10-25 11:08:11 -07:00
Dylan Copeland c357367365 Improved documentation. 2023-10-25 10:46:47 -07:00
Will Pazner 74368a0890 Merge remote-tracking branch 'origin/master' into block-solvers/bramble-pasciak-dev 2023-10-23 12:41:19 -07:00
Gabriel Esteban Pinochet Soto 9c7cc2efb7 Modify SumOperator
- Correct issues with size of auxiliar vector
- Resize auxiliar vector for Mult and MultTranspose
2023-10-18 10:26:47 -07:00
Gabriel Esteban Pinochet Soto 50666e7ed1 Minor corrections.
- Change refinement flags. Modify makefiles.
- Use ParseCheck()
- Some formatting
- Remove using namespace statements
- Replace ResetTimer with Restart
- Remove and clarify some commentaries
- Change initialization of offsets_ in DarcySolver
- Remove default constructors
- Grammar
- Modify SumOperator. Rename and remove one vector.
2023-10-17 20:17:57 -07:00
Gabriel Esteban Pinochet Soto 65e8f66d38 Merge branch 'master' of https://github.com/mfem/mfem into block-solvers/bramble-pasciak-dev 2023-10-17 19:53:31 -07:00
Tzanio Kolev 5472b2468c Merge branch 'master' into nurbs-ref-formula 2023-10-17 18:17:25 -07:00
Dylan Copeland ad243930a1 Documentation. 2023-10-16 19:39:46 -07:00
Dylan Copeland fe5645d0cc Merge branch 'master' of github.com:mfem/mfem into nurbs-ref-formula 2023-10-16 19:22:44 -07:00
Dylan Copeland 106a47ae5d Added NURBS tolerance input in mesh-explorer refinement and coarsening. Fixed a bug in KnotVector copy constructor. 2023-10-16 19:22:25 -07:00
Dylan Copeland 4650332a8a Minor formatting. 2023-10-09 23:23:52 -07:00
Dylan Copeland 23fd868775 Merge branch 'master' of github.com:mfem/mfem into nurbs-ref-formula 2023-10-09 23:12:26 -07:00
Dylan Copeland 42782cb22a More documentation, and another unit test. 2023-10-09 23:11:29 -07:00
Dylan Copeland b31988842e Documentation for spacing functions. 2023-10-09 16:45:51 -07:00
Dylan Copeland 040b496d4d New unit test for NURBS refinement and coarsening. 2023-10-08 15:35:34 -07:00
Dylan Copeland 693b319c97 Generalized mesh-explorer NURBS refinement to allow for different refinement factors in each dimension. 2023-10-07 20:28:06 -07:00
Dylan Copeland de4b3a397b Generalized refinement and coarsening for NURBS meshes with spacing formulas and different numbers of elements in each direction. Added an example of such a mesh. 2023-10-06 23:07:13 -07:00
Dylan Copeland e89580e82a Adding NURBS coarsening option in mesh-explorer. 2023-10-06 14:55:19 -07:00
Dylan Copeland 01139e91d2 Enabling multiple NURBS refinements by non-nested spacing formulas, by first coarsening. 2023-10-06 10:52:40 -07:00
Dylan Copeland dbb15e539c Implemented knot removal for NURBS meshes. 2023-10-05 12:57:15 -07:00
Dylan Copeland 47ac017e36 Merge branch 'master' of github.com:mfem/mfem into nurbs-ref-formula 2023-09-28 13:32:42 -07:00
Dylan Copeland 65a26340e8 Added option for NURBS refinement by a factor. Implemented piecewise spacing functions with an example mesh file. 2023-09-28 13:31:38 -07:00
Will Pazner 8711685494 Add QuadratureFunction::Integrate unit tests 2023-09-20 11:49:07 -07:00
Will Pazner dda1002ff1 Add QuadratureFunction::Integrate 2023-09-20 11:48:58 -07:00
Will Pazner 082dbe45d4 Add QuadratureSpaceBase::GetWeights 2023-09-20 11:48:53 -07:00
Dylan Copeland f6b19999b3 Fixing a bug by deep-copying knotvector spacing by a new clone function. 2023-09-15 15:45:27 -07:00
Gabriel Esteban Pinochet Soto 1364914e7d Small fix. Use MFEM_LAPACK macro. 2023-09-13 12:22:42 -07:00
Gabriel Esteban Pinochet Soto 84a248e42c Add return nullptr 2023-09-13 11:55:33 -07:00
Gabriel Esteban Pinochet Soto 9d2c4c899c Use MFEM_USE_LAPACK macro. 2023-09-13 10:30:04 -07:00
Gabriel Esteban Pinochet Soto 08b87fd9fe Disable iterative mode in SumOperator 2023-09-12 14:15:12 -07:00
Gabriel Esteban Pinochet Soto 41131c3e0c Remove unused varaible in BramblePasciakSolver 2023-09-12 13:42:36 -07:00
Gabriel Esteban Pinochet Soto bfcb60ccec Override SetPreconditioner. 2023-09-12 12:59:44 -07:00
Gabriel Esteban Pinochet Soto 26a6c3c735 Update tests options in makefiles. 2023-09-12 12:05:08 -07:00
Gabriel Esteban Pinochet Soto 0ec2ea20de Make style. 2023-09-12 10:52:09 -07:00
Gabriel Esteban Pinochet Soto 1a4d4d4a61 Merge branch 'master' of github.com:mfem/mfem into block-solvers/bramble-pasciak-dev 2023-09-12 10:42:56 -07:00
Gabriel Esteban Pinochet Soto ffb58713b1 Small change to SumOperator constructor.
- To decide if we can add two iterative solvers.
2023-09-12 10:32:13 -07:00
Gabriel Esteban Pinochet Soto c90d52d32b Modify makefile. Minor fixes.
- Move assert into ConstructMassPreconditioner
- Update makefile
2023-09-11 17:58:16 -07:00
Gabriel Esteban Pinochet Soto 05ace32f42 Cleaner code.
- Add description to README
- Remove commentaries in BPCG
- Move assert into ConstructMassPreconditioner
2023-09-11 11:21:27 -07:00
Chak Shing Lee fcc35e6c6f remove one target in makefile 2023-09-06 14:54:28 -07:00
Chak Shing Lee e60b446438 remove unused lines 2023-09-06 14:18:30 -07:00
Chak Shing Lee 78d869d6fe Merge branch 'csl/bilinearform-vdofs-fix' of https://github.com/mfem/mfem into block-solvers/bramble-pasciak-dev 2023-09-06 11:13:01 -07:00
Chak Shing Lee 2d8d46a208 use M instead of Q to construct the (1,1)-block preconditioner in BramblePasciakSolver. adjust documentation and print 2023-09-05 11:22:24 -07:00
Chak Shing Lee 40abb09c99 resolve conflicts with master 2023-09-01 16:58:24 -07:00
Gabriel Esteban Pinochet Soto bf9bdddfdc Restructure of the code.
- Remove overloaded BramblePasciakSolver::Init function
- Move MFEM pre-defined BPSolver setting to the constructor
- Add pointers to solvers in BramblePasciakSolver class
- Simplify options
- Remove redundant option in Parameter structs
- Rename AddOperator to SumOperator
- Wrap *.cpp files into namespace scopes
- Add some documentation
- Make style
2023-09-01 14:15:47 -07:00
Gabriel Esteban Pinochet Soto 2b88ef81ae Add serial and parallel refinement flag. 2023-08-28 16:50:53 -07:00
Gabriel Esteban Pinochet Soto 5fc779e128 Reorganize functions
- Move general-purpose functions to block-solvers.cpp
- Reorganize code
- TODO Serial and parallel refinement flags
2023-08-28 14:01:19 -07:00
Gabriel Esteban Pinochet Soto 2ca61c74b0 Remove warnings.
- Remove warnings concerning unset/unused operators.
2023-08-22 17:29:46 -07:00
Gabriel Esteban Pinochet Soto 98e2af65da Modify documentation.
- Remove characters.
2023-08-21 10:34:54 -07:00
Gabriel Esteban Pinochet Soto 46a8bca7f5 Add documentation 2023-08-21 10:30:56 -07:00
Gabriel Esteban Pinochet Soto cb95ddc422 Remove draft elasticity. Add documentation.
- Remove draft. Comment CMake files.
- Add some explanation regarding BPCG and BP transform.
- Make style.
2023-08-21 10:12:52 -07:00
Gabriel Esteban Pinochet Soto aae0f2b7f2 Compartmentalization of block-solvers.
- Add bramble_pasciack.xpp, darcy_solver.xpp
- Move solvers to their respective files and headders
- Update makefile and CMakeList.txt
- (WIP) Add draft elasticity solver (similar to darcy_solver)
- (WIP) Add specific classes to handle the elasticity FES
- (WIP) Define basic block structure
2023-08-17 17:55:16 -07:00
Gabriel Esteban Pinochet Soto 31b17b2913 Condense Init functions.
- Define operator pointers when required.
- Use OperatorPtr for solver_ in BPSClass.
- Add MFEM Warnings.
- Add H preconditioner.
2023-08-14 14:44:26 -07:00
Gabriel Esteban Pinochet Soto 6f3cf11d58 Indentation fix (make style). 2023-08-10 16:25:23 -07:00
Gabriel Esteban Pinochet Soto 0631cea458 Update BramblePasciakSolver::GetNumIterations. 2023-08-10 16:15:35 -07:00
Gabriel Esteban Pinochet Soto 79f2d77612 Add BPCGSolver. Modify BramblePasciakSolver class.
- Add class BPCGSolver as a derived class of CGSolver.
- Add bool use_bpcg in BramblePasciakSolver.
- Storage main matrices in BramblePasciakSolver.
- Remaining operators stored as pointers.
- Update linalg/operator.hpp (make style).
- TODO Fix bug final_iter.
2023-08-10 15:51:36 -07:00
Gabriel Esteban Pinochet Soto 08deeaacd9 Add AddOperator operator. 2023-08-07 10:35:26 -07:00
Gabriel Esteban Pinochet Soto b4a0df6f5c Add parameter control. Add some documentation.
- Add parameter control for the default preconditioner.
- Add brief explanation of the current class.
- Include some relevant citations.
2023-08-07 10:29:28 -07:00
Chak Shing Lee 17271c5d27 fix doc 2023-08-02 18:57:15 -07:00
Chak Shing Lee da5222a860 some minor adjustment, and renaming of variables to match with other DarcySolver 2023-08-02 18:42:47 -07:00
Gabriel Esteban Pinochet Soto b765c24d1c Check style with make style 2023-07-31 15:17:47 -07:00
Gabriel Esteban Pinochet Soto 3056cddd22 Add Bramble-Pasciak solver.
- Modify DarcyProblem class.
- Add Bramble-Pasciak class.
- Define Bramble-Pasciak constructors.
- Define Bramble-Pasciak Mult.
- Update header accordingly.
2023-07-31 15:17:47 -07:00
Dylan Copeland 39c7d02ddb Merge branch 'master' of github.com:mfem/mfem into nurbs-ref-formula 2023-06-16 15:40:10 -07:00
Dylan Copeland 1e35df5351 Copying spacing data when degree is elevated. 2023-06-15 15:56:13 -07:00
Dylan Copeland 48496dbfa4 Adding option to scale spacing parameters on refinement. 2023-05-11 15:36:44 -07:00
Dylan Copeland 759f82ed44 Adding destructor. 2023-05-04 18:50:09 -07:00
Dylan Copeland d65eb0bd7d Implemented NURBS refinement by formulas, along with some relative spacing formulas. Added a new version of data/pipe-nurbs.mesh with logarithmic spacing. 2023-05-04 18:19:37 -07:00
Will Pazner d2775b3d53 Merge remote-tracking branch 'origin/master' into face-qfunction-coefficient 2023-04-12 20:08:40 -07:00
1053 changed files with 16968 additions and 4467 deletions
+2 -2
View File
@@ -43,7 +43,7 @@ jobs:
remove-docker-images: 'true'
- name: Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
# It's easier to reference named variables than indexes of the matrix
- name: Set Environment
@@ -65,7 +65,7 @@ jobs:
- name: GHCR Login
if: (github.event_name != 'pull_request')
uses: docker/login-action@v2
uses: docker/login-action@v3
with:
registry: ghcr.io
username: ${{ github.actor }}
+6 -6
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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.
#
@@ -104,7 +104,7 @@ jobs:
# This external action allows to interrupt a workflow already running on
# the same branch to save resources.
- name: Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.11.0
uses: styfle/cancel-workflow-action@0.12.1
with:
access_token: ${{ github.token }}
@@ -120,7 +120,7 @@ jobs:
# /home/runner/work/mfem/mfem/mfem
# Note: Done now to access "install-hypre" and "install-metis" actions.
- name: checkout mfem
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
path: ${{ env.MFEM_TOP_DIR }}
# Fetch the complete history for codecov to access commits ID
@@ -166,7 +166,7 @@ jobs:
- name: cache hypre
id: hypre-cache
if: matrix.mpi == 'par'
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ${{ env.HYPRE_TOP_DIR }}
key: ${{ runner.os }}-build-${{ env.HYPRE_TOP_DIR }}-${{ matrix.hypre-target }}-v2.2
@@ -194,7 +194,7 @@ jobs:
- name: cache metis
id: metis-cache
if: matrix.mpi == 'par' && matrix.os != 'windows-latest'
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ${{ env.METIS_TOP_DIR }}
key: ${{ runner.os }}-build-${{ env.METIS_TOP_DIR }}-v2.2
@@ -209,7 +209,7 @@ jobs:
- name: cache vcpkg (Windows)
id: vcpkg-cache
if: matrix.os == 'windows-latest'
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: vcpkg_cache
key: ${{ runner.os }}-${{ matrix.mpi }}-vcpkg-v1
+1 -1
View File
@@ -36,7 +36,7 @@ jobs:
steps:
- name: Checkout repository
uses: actions/checkout@v3
uses: actions/checkout@v4
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
+5 -5
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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,12 +35,12 @@ jobs:
steps:
- name: Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.11.0
uses: styfle/cancel-workflow-action@0.12.1
with:
access_token: ${{ github.token }}
- name: checkout MFEM
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
path: mfem
@@ -50,7 +50,7 @@ jobs:
- name: Cache Hypre Install
id: hypre-cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ${{ env.HYPRE_TOP_DIR }}
key: ${{ runner.os }}-build-${{ env.HYPRE_TOP_DIR }}-v2.2
@@ -65,7 +65,7 @@ jobs:
- name: Cache Metis Install
id: metis-cache
uses: actions/cache@v3
uses: actions/cache@v4
with:
path: ${{ env.METIS_TOP_DIR }}
key: ${{ runner.os }}-build-${{ env.METIS_TOP_DIR }}-v2.2
+9 -3
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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,13 +27,19 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Temporary workaround for sanitizer crashes
# See https://github.com/actions/runner-images/issues/9491
# The issue should be fixed in the next runner image for Ubuntu 22.04,
# see https://github.com/actions/runner-images/pull/9513
run: sudo sysctl vm.mmap_rnd_bits=28
- name: Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.11.0
uses: styfle/cancel-workflow-action@0.12.1
with:
access_token: ${{ github.token }}
- name: MFEM Checkout
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
path: mfem
+17 -7
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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.
#
@@ -34,12 +34,12 @@ jobs:
github.event.pull_request.head.repo.full_name != github.repository)
steps:
- name: Cancel Previous Runs
uses: styfle/cancel-workflow-action@0.11.0
uses: styfle/cancel-workflow-action@0.12.1
with:
access_token: ${{ github.token }}
- name: checkout mfem
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: copyright check
id: copyright
@@ -60,11 +60,18 @@ jobs:
./config/githooks/pre-push --release
continue-on-error: true
- name: math check
id: math
run: |
./config/githooks/pre-push --math
continue-on-error: true
- name: wrap-up
if: |
steps.copyright.outcome != 'success' ||
steps.license.outcome != 'success' ||
steps.release.outcome != 'success'
steps.release.outcome != 'success' ||
steps.math.outcome != 'success'
run: |
if [[ "${{ steps.copyright.outcome }}" != "success" ]]; then
echo "copyright check failed, unroll log for details"
@@ -75,6 +82,9 @@ jobs:
if [[ "${{ steps.release.outcome }}" != "success" ]]; then
echo "release check failed, unroll log for details"
fi
if [[ "${{ steps.math.outcome }}" != "success" ]]; then
echo "math check failed, unroll log for details"
fi
exit 1
code-style:
@@ -84,7 +94,7 @@ jobs:
github.event.pull_request.head.repo.full_name != github.repository)
steps:
- name: checkout mfem
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: get astyle
run: |
@@ -101,7 +111,7 @@ jobs:
github.event.pull_request.head.repo.full_name != github.repository)
steps:
- name: checkout mfem
uses: actions/checkout@v3
uses: actions/checkout@v4
- name: get doxygen and graphviz
run: |
@@ -126,7 +136,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: checkout mfem
uses: actions/checkout@v3
uses: actions/checkout@v4
with:
fetch-depth: 0
+4 -4
View File
@@ -91,10 +91,6 @@ examples/ex16.mesh
examples/ex16-mesh.*
examples/ex16-init.*
examples/ex16-final.*
examples/vortex-mesh.*
examples/vortex.mesh
examples/vortex-?-init.*
examples/vortex-?-final.*
examples/deformation.*
examples/pressure.*
examples/ex20.dat
@@ -120,6 +116,8 @@ examples/cond_mesh.*
examples/port_mesh.*
examples/port_mode.*
examples/euler-*
examples/amgx/ex1
examples/amgx/ex1p
examples/amgx/.logamgx
@@ -354,6 +352,8 @@ miniapps/parelag/MultilevelHcurlHdivSolver
miniapps/parelag/*.mesh
miniapps/multidomain/multidomain
miniapps/multidomain/multidomain_nd
miniapps/multidomain/multidomain_rt
miniapps/hooke/hooke
miniapps/dpg/diffusion
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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.
#
@@ -87,7 +87,7 @@ report_baseline:
# 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
[[ -f ${rundir}/${BASELINE_TEST}-${MACHINE_NAME}.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))"
+2 -2
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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 +23,7 @@ allocate_resource:
stage: allocate_resource
script:
- echo ${ALLOC_NAME}
- salloc --exclusive --nodes=1 --partition=pdebug --time=45 --no-shell --job-name=${ALLOC_NAME}
- salloc --exclusive --nodes=1 --reservation=ci --time=60 --no-shell --job-name=${ALLOC_NAME}
timeout: 6h
# GitLab jobs for the Quartz machine at LLNL
+4 -1
View File
@@ -1,6 +1,6 @@
#!/bin/bash
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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,6 +14,9 @@
# locals
glob_err=${BASELINE_TEST}.err
base=${BASELINE_TEST}-${SYS_TYPE}
if [[ "${MACHINE_NAME}" == "quartz" ]]; then
base="${BASELINE_TEST}-${MACHINE_NAME}"
fi
base_diff=${base}.diff
base_patch=${base}.patch
base_out=${base}.out
+1 -1
View File
@@ -1,6 +1,6 @@
#!/bin/bash
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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.
#
+28 -1
View File
@@ -11,6 +11,12 @@
Version 4.6.1 (development)
===========================
Meshing improvements
--------------------
- Introduced formulas for refinement of patches in NURBS meshes. Refinement by
arbitrary integer factors is also enabled, e.g. in the mesh-explorer miniapp.
NURBS coarsening and knot removal are also introduced.
Discretization improvements
---------------------------
- Introduced support for higher order non conformal Nedelec elements on
@@ -22,6 +28,13 @@ Discretization improvements
IntegrationRules through a moment-fitting approach. The cut is specified by
the zero level set of a Coefficient. See fem/intrules_cut.hpp and Example 38.
- Added a new nonlinear integrator, `HyperbolicFormIntegrator`. This implements
both element-wise weak divergence and face-wise numerical flux for a general
system of hyperbolic conservation laws. To use this integrator for a specific
flux function, users can define a derived class of `FluxFunction`. Currently,
advection, Burgers', shallow-water, Euler equations (see, Example 18) are
available.
GPU support
----------------------------
- Added support for full assembly on simplices.
@@ -31,6 +44,10 @@ GPU support
New and updated examples and miniapps
-------------------------------------
- Added a new block solver in miniapp/solvers for the Darcy problem.
The new solver is based on a Bramble-Pasciak preconditioning. User can
use and implement their own preconditioner for the mass matrix.
- Added miniapp to demonstrate new elasticity integrator and unstructured element GPU support,
and a block diagonal preconditioner using low order refinement. Allows comparison with
currently existing legacy mode integrator. See miniapps/solvers/lor_elast.
@@ -38,7 +55,8 @@ New and updated examples and miniapps
Miscellaneous
-------------
- Added support for single and double precision, with corresponding hypre build.
Generalized the floating point type from `double` to `real_t`.
Generalized the floating point type from `double` to `real_t`. For more
details see https://github.com/orgs/mfem/discussions/4207.
- The ReadCubit Genesis mesh importer has been rewritten to improve readability.
@@ -49,6 +67,15 @@ Miscellaneous
IntegrationRules IntRules, RefinedIntRules, GeometryRefiner
GlobGeometryRefiner, and FiniteElement::dof2quad_array.
- PETSc integration now generally requires PETSc version 3.21 or later, though
depending on the functionality older versions may still work.
- RAJA backend will use seq_exec for serial loop execution when RAJA
v2023.06.00 and beyond is detected as loop_exec is deprecated.
- Adding named attribute sets and basic supporting methods to the Mesh class as
a convenient means of referring to sets of domain or boundary attribute
numbers. Also adding related serial and parallel examples which illustrate.
Version 4.6, released on September 27, 2023
===========================================
+26 -9
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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.
#
@@ -18,9 +18,10 @@ set(USER_CONFIG "${CMAKE_CURRENT_SOURCE_DIR}/config/user.cmake" CACHE PATH
"Path to optional user configuration file.")
# Require C++11 and disable compiler-specific extensions
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_CXX_STANDARD 11 CACHE STRING "C++ standard to use.")
set(CMAKE_CXX_STANDARD_REQUIRED ON CACHE BOOL
"Force the use of the chosen C++ standard.")
set(CMAKE_CXX_EXTENSIONS OFF CACHE BOOL "Enable C++ standard extensions.")
# 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
@@ -93,7 +94,7 @@ if ((MFEM_USE_SUNDIALS OR
MFEM_USE_RAJA OR
MFEM_USE_UMPIRE) AND
("${CMAKE_CXX_STANDARD}" LESS "14"))
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD 14 CACHE STRING "C++ standard to use." FORCE)
endif()
# Include xSDK default CMake file.
@@ -104,7 +105,8 @@ enable_language(CXX)
if (MINGW)
# MinGW GCC does not expose the functions jn/_jn, yn/_yn (used in Example
# 25/25p) unless we use '-std=gnu++11':
set(CMAKE_CXX_EXTENSIONS ON)
set(CMAKE_CXX_EXTENSIONS ON
CACHE BOOL "Enable C++ standard extensions." FORCE)
endif()
if (MFEM_USE_CUDA)
if (MFEM_USE_HIP)
@@ -115,9 +117,11 @@ if (MFEM_USE_CUDA)
set(CMAKE_CUDA_HOST_COMPILER ${CMAKE_CXX_COMPILER})
endif()
enable_language(CUDA)
set(CMAKE_CUDA_STANDARD ${CMAKE_CXX_STANDARD})
set(CMAKE_CUDA_STANDARD_REQUIRED ON)
set(CMAKE_CUDA_EXTENSIONS OFF)
set(CMAKE_CUDA_STANDARD ${CMAKE_CXX_STANDARD} CACHE STRING
"CUDA standard to use.")
set(CMAKE_CUDA_STANDARD_REQUIRED ON CACHE BOOL
"Force the use of the chosen CUDA standard.")
set(CMAKE_CUDA_EXTENSIONS OFF CACHE BOOL "Enable CUDA standard extensions.")
set(CUDA_FLAGS "--expt-extended-lambda")
if (CMAKE_VERSION VERSION_LESS 3.18.0)
set(CUDA_FLAGS "-arch=${CUDA_ARCH} ${CUDA_FLAGS}")
@@ -179,6 +183,19 @@ endif()
# Process configuration options
#-------------------------------------------------------------------------------
# MFEM_PRECISION -> MFEM_USE_SINGLE, MFEM_USE_DOUBLE
if (MFEM_PRECISION MATCHES "^(double|Double|DOUBLE)$")
set(MFEM_USE_SINGLE OFF)
set(MFEM_USE_DOUBLE ON)
elseif (MFEM_PRECISION MATCHES "^(single|Single|SINGLE)$")
set(MFEM_USE_SINGLE ON)
set(MFEM_USE_DOUBLE OFF)
else()
message(FATAL_ERROR " *** Invalid floating-point precision: "
"MFEM_PRECISION = ${MFEM_PRECISION}")
endif()
message(STATUS "Floating-point precision: MFEM_PRECISION = ${MFEM_PRECISION}")
# MFEM_DEBUG
if (CMAKE_BUILD_TYPE MATCHES "Debug|debug|DEBUG")
set(MFEM_DEBUG ON)
+3
View File
@@ -346,6 +346,9 @@ Before you can start, you need a GitHub account, here are a few suggestions:
- Code specifics
- All new public, protected, and private classes, methods, data members, and
functions have Doxygen-style documentation in source comments.
- Math formulas can be included in the Doxygen comments either with standard
LaTeX (`$..$` and `$$..$$`) for portions that need detailed explanation, or with
[Unicode](https://www.unicodeit.net/) or plain text when short or readable description is preferable.
- In addition to arguments and functionality, documentation should include the
current limitations of the code, any background information that is
implicitly assumed in the implementation, and the ownership and lifetime
+15 -6
View File
@@ -284,6 +284,15 @@ MFEM_USE_METIS = YES/NO
option in the library will be Cartesian partitioning with box meshes, and
thus most of the parallel examples and miniapps will fail.
MFEM_PRECISION = double/Double/DOUBLE/single/Single/SINGLE
Use single (float type) or double floating-point precision. In the
configuration header 'config/_config.hpp' this option is represented by
defining exactly one of the macros: MFEM_USE_DOUBLE, or MFEM_USE_SINGLE.
In the exported config files 'config.mk' and 'MFEMConfig.cmake', the option
is represented by the variables MFEM_USE_DOUBLE and MFEM_USE_SINGLE defined
as YES/NO (make) or ON/OFF (cmake). For more details see
https://github.com/orgs/mfem/discussions/4207
MFEM_DEBUG = YES/NO
Choose debug/optimized build. The debug build enables a number of messages
and consistency checks that may simplify bug-hunting.
@@ -692,9 +701,10 @@ The specific libraries and their options are:
Options: NETCDF_OPT, NETCDF_LIB.
Versions: NetCDF >= 4.4.0.
- PETSc (optional), used when MFEM_USE_PETSC = YES. Version 3.8 or higher of
the PETSC dev branch is required. The MFEM and PETSc builds can share common
libraries, e.g., hypre and SUNDIALS. Here's an example configuration, assuming
- PETSc (optional), used when MFEM_USE_PETSC = YES. Version 3.21 or higher of
the PETSC dev branch is required, though depending on the functionality older
versions may work too. The MFEM and PETSc builds can share common libraries,
e.g., hypre and SUNDIALS. Here's an example configuration, assuming
PETSc has been cloned on the same level as mfem and hypre:
./configure --download-fblaslapack=yes --download-scalapack=yes \
--download-mumps=yes --download-suitesparse=yes \
@@ -704,9 +714,7 @@ The specific libraries and their options are:
CFLAGS to allow proper parsing of the hipsparse header under C.
URL: https://www.mcs.anl.gov/petsc
Options: PETSC_OPT, PETSC_LIB.
Versions: PETSc >= 3.8.0 (PETSc build without CUDA/HIP)
PETSc >= 3.15.0 (PETSc built with CUDA)
PETSc >= 3.19.0 (PETSc built with HIP, older versions may work too)
Versions: PETSc >= 3.21.0, older versions may work too.
- SLEPc (optional), used when MFEM_USE_SLEPC = YES. SLEPc depends on PETSc and
uses some of the PETSc options when compiled.
@@ -959,6 +967,7 @@ The following options are equivalent to the GNU make options with the same name:
MFEM_USE_MPI
MFEM_USE_METIS - Set to ${MFEM_USE_MPI}, can be overwritten.
MFEM_PRECISION
MFEM_USE_LIBUNWIND
MFEM_USE_LAPACK
MFEM_THREAD_SAFE
+1 -1
View File
@@ -1,6 +1,6 @@
BSD 3-Clause License
Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC
Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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,4 +1,4 @@
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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.
#
@@ -18,6 +18,8 @@ set(MFEM_GIT_STRING "@MFEM_GIT_STRING@")
set(MFEM_USE_MPI @MFEM_USE_MPI@)
set(MFEM_USE_METIS @MFEM_USE_METIS@)
set(MFEM_USE_METIS_5 @MFEM_USE_METIS_5@)
set(MFEM_USE_DOUBLE @MFEM_USE_DOUBLE@)
set(MFEM_USE_SINGLE @MFEM_USE_SINGLE@)
set(MFEM_DEBUG @MFEM_DEBUG@)
set(MFEM_USE_EXCEPTIONS @MFEM_USE_EXCEPTIONS@)
set(MFEM_USE_ZLIB @MFEM_USE_ZLIB@)
@@ -63,8 +65,6 @@ set(MFEM_USE_ALGOIM @MFEM_USE_ALGOIM@)
set(MFEM_USE_BENCHMARK @MFEM_USE_BENCHMARK@)
set(MFEM_USE_PARELAG @MFEM_USE_PARELAG@)
set(MFEM_USE_ENZYME @MFEM_USE_ENZYME@)
set(MFEM_USE_DOUBLE @MFEM_USE_DOUBLE@)
set(MFEM_USE_SINGLE @MFEM_USE_SINGLE@)
set(MFEM_CXX_COMPILER "@CMAKE_CXX_COMPILER@")
set(MFEM_CXX_FLAGS "@CMAKE_CXX_FLAGS@")
+7 -7
View File
@@ -1,4 +1,4 @@
// Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
// Copyright (c) 2010-2024, 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,6 +46,12 @@
// Requires an MPI compiler, and the libraries HYPRE and METIS.
#cmakedefine MFEM_USE_MPI
// Use double-precision floating point type
#cmakedefine MFEM_USE_DOUBLE
// Use single-precision floating point type
#cmakedefine MFEM_USE_SINGLE
// Enable debug checks in MFEM.
#cmakedefine MFEM_DEBUG
@@ -201,10 +207,4 @@
// Enable Enzyme for AD
#cmakedefine MFEM_USE_ENZYME
// Use double-precision floating point type
#cmakedefine MFEM_USE_DOUBLE
// Use single-precision floating point type
#cmakedefine MFEM_USE_SINGLE
#endif // MFEM_CONFIG_HEADER
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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 -2
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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.
#
@@ -79,7 +79,9 @@ if (HYPRE_FOUND AND HYPRE_USING_CUDA)
find_package(CUDAToolkit REQUIRED)
get_target_property(CUSPARSE_LIBRARIES CUDA::cusparse LOCATION)
get_target_property(CURAND_LIBRARIES CUDA::curand LOCATION)
list(APPEND HYPRE_LIBRARIES ${CUSPARSE_LIBRARIES} ${CURAND_LIBRARIES})
get_target_property(CUBLAS_LIBRARIES CUDA::cublas LOCATION)
list(APPEND HYPRE_LIBRARIES ${CUSPARSE_LIBRARIES} ${CURAND_LIBRARIES}
${CUBLAS_LIBRARIES})
set(HYPRE_LIBRARIES ${HYPRE_LIBRARIES} CACHE STRING
"HYPRE libraries + dependencies." FORCE)
message(STATUS "Updated HYPRE_LIBRARIES: ${HYPRE_LIBRARIES}")
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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 -12
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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.
#
@@ -842,17 +842,18 @@ function(mfem_export_mk_files)
# Convert Boolean vars to YES/NO without writing the values to cache
set(CONFIG_MK_BOOL_VARS MFEM_USE_MPI MFEM_USE_METIS MFEM_USE_METIS_5
MFEM_DEBUG MFEM_USE_EXCEPTIONS MFEM_USE_ZLIB MFEM_USE_LIBUNWIND
MFEM_USE_LAPACK MFEM_THREAD_SAFE MFEM_USE_LEGACY_OPENMP MFEM_USE_OPENMP
MFEM_USE_MEMALLOC MFEM_USE_SUNDIALS MFEM_USE_SUITESPARSE
MFEM_USE_SUPERLU MFEM_USE_SUPERLU5 MFEM_USE_MUMPS MFEM_USE_STRUMPACK
MFEM_USE_GINKGO MFEM_USE_AMGX MFEM_USE_GNUTLS MFEM_USE_NETCDF
MFEM_USE_PETSC MFEM_USE_SLEPC MFEM_USE_MPFR MFEM_USE_SIDRE MFEM_USE_FMS
MFEM_USE_CONDUIT MFEM_USE_PUMI MFEM_USE_HIOP MFEM_USE_GSLIB MFEM_USE_CUDA
MFEM_USE_HIP MFEM_USE_RAJA MFEM_USE_OCCA MFEM_USE_CEED MFEM_USE_CALIPER
MFEM_USE_UMPIRE MFEM_USE_SIMD MFEM_USE_ADIOS2 MFEM_USE_MKL_CPARDISO
MFEM_USE_ADFORWARD MFEM_USE_CODIPACK MFEM_USE_BENCHMARK MFEM_USE_PARELAG
MFEM_USE_MOONOLITH MFEM_USE_ALGOIM MFEM_USE_ENZYME)
MFEM_USE_SINGLE MFEM_USE_DOUBLE MFEM_DEBUG MFEM_USE_EXCEPTIONS
MFEM_USE_ZLIB MFEM_USE_LIBUNWIND MFEM_USE_LAPACK MFEM_THREAD_SAFE
MFEM_USE_LEGACY_OPENMP MFEM_USE_OPENMP MFEM_USE_MEMALLOC MFEM_USE_SUNDIALS
MFEM_USE_SUITESPARSE MFEM_USE_SUPERLU MFEM_USE_SUPERLU5 MFEM_USE_MUMPS
MFEM_USE_STRUMPACK MFEM_USE_GINKGO MFEM_USE_AMGX MFEM_USE_GNUTLS
MFEM_USE_NETCDF MFEM_USE_PETSC MFEM_USE_SLEPC MFEM_USE_MPFR MFEM_USE_SIDRE
MFEM_USE_FMS MFEM_USE_CONDUIT MFEM_USE_PUMI MFEM_USE_HIOP MFEM_USE_GSLIB
MFEM_USE_CUDA MFEM_USE_HIP MFEM_USE_RAJA MFEM_USE_OCCA MFEM_USE_CEED
MFEM_USE_CALIPER MFEM_USE_UMPIRE MFEM_USE_SIMD MFEM_USE_ADIOS2
MFEM_USE_MKL_CPARDISO MFEM_USE_MKL_PARDISO MFEM_USE_ADFORWARD
MFEM_USE_CODIPACK MFEM_USE_BENCHMARK MFEM_USE_PARELAG MFEM_USE_MOONOLITH
MFEM_USE_ALGOIM MFEM_USE_ENZYME)
foreach(var ${CONFIG_MK_BOOL_VARS})
if (${var})
set(${var} YES)
+57 -1
View File
@@ -1,4 +1,4 @@
// Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
// Copyright (c) 2010-2024, 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,6 +23,62 @@
#include "_config.hpp"
#endif
namespace mfem
{
#if (defined(MFEM_USE_CUDA) && defined(__CUDACC__)) || \
(defined(MFEM_USE_HIP) && defined(__HIPCC__))
#define MFEM_HOST_DEVICE __host__ __device__
#else
#define MFEM_HOST_DEVICE
#endif
// MFEM precision configuration
#if defined MFEM_USE_SINGLE && defined MFEM_USE_DOUBLE
#error "DOUBLE and SINGLE precision cannot both be specified"
#endif
#ifdef MFEM_USE_SINGLE
typedef float real_t;
#elif defined MFEM_USE_DOUBLE
typedef double real_t;
#else
#error "Either DOUBLE or SINGLE precision must be specified"
#endif
MFEM_HOST_DEVICE
constexpr real_t operator""_r(long double v)
{
return static_cast<real_t>(v);
}
MFEM_HOST_DEVICE
constexpr real_t operator""_r(unsigned long long v)
{
return static_cast<real_t>(v);
}
} // namespace mfem
// Return value for main function in examples that should be skipped by testing
// in some case. This return value prevents failures in testing.
#define MFEM_SKIP_RETURN_VALUE 242
// Request a global object to be instantiated for each thread in its TLS.
#define MFEM_THREAD_LOCAL thread_local
// MFEM_DEPRECATED macro to mark obsolete functions and methods
// see https://stackoverflow.com/questions/295120/c-mark-as-deprecated
#if defined(__GNUC__) || defined(__clang__)
#define MFEM_DEPRECATED __attribute__((deprecated))
#elif defined(_MSC_VER)
#define MFEM_DEPRECATED __declspec(deprecated)
#else
#pragma message("WARNING: You need to implement MFEM_DEPRECATED for this compiler")
#define MFEM_DEPRECATED
#endif
// Common configuration macros
#if (__GNUC__ > 4 || (__GNUC__ == 4 && __GNUC_MINOR__ >= 7)) || defined(__clang__)
+7 -7
View File
@@ -1,4 +1,4 @@
// Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
// Copyright (c) 2010-2024, 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,6 +46,12 @@
// Requires an MPI compiler, and the libraries HYPRE and METIS.
// #define MFEM_USE_MPI
// Use double-precision floating point type
// #define MFEM_USE_DOUBLE
// Use single-precision floating point type
// #define MFEM_USE_SINGLE
// Enable debug checks in MFEM.
// #define MFEM_DEBUG
@@ -201,10 +207,4 @@
// Enable the Enzyme LLVM plugin
// #define MFEM_USE_ENZYME
// Use double-precision floating point type
// #define MFEM_USE_DOUBLE
// Use single-precision floating point type
// #define MFEM_USE_SINGLE
#endif // MFEM_CONFIG_HEADER
+3 -3
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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.
#
@@ -18,6 +18,8 @@ MFEM_GIT_STRING = @MFEM_GIT_STRING@
MFEM_USE_MPI = @MFEM_USE_MPI@
MFEM_USE_METIS = @MFEM_USE_METIS@
MFEM_USE_METIS_5 = @MFEM_USE_METIS_5@
MFEM_USE_DOUBLE = @MFEM_USE_DOUBLE@
MFEM_USE_SINGLE = @MFEM_USE_SINGLE@
MFEM_DEBUG = @MFEM_DEBUG@
MFEM_USE_EXCEPTIONS = @MFEM_USE_EXCEPTIONS@
MFEM_USE_ZLIB = @MFEM_USE_ZLIB@
@@ -64,8 +66,6 @@ MFEM_USE_CODIPACK = @MFEM_USE_CODIPACK@
MFEM_USE_BENCHMARK = @MFEM_USE_BENCHMARK@
MFEM_USE_PARELAG = @MFEM_USE_PARELAG@
MFEM_USE_ENZYME = @MFEM_USE_ENZYME@
MFEM_USE_DOUBLE = @MFEM_USE_DOUBLE@
MFEM_USE_SINGLE = @MFEM_USE_SINGLE@
# Compiler, compile options, and link options
MFEM_CXX = @MFEM_CXX@
+3 -3
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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,6 +22,8 @@ endif()
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})
set(MFEM_PRECISION "double" CACHE STRING
"Floating-point precision to use: single, or double")
option(MFEM_USE_EXCEPTIONS "Enable the use of exceptions" OFF)
option(MFEM_USE_ZLIB "Enable zlib for compressed data streams." OFF)
option(MFEM_USE_LIBUNWIND "Enable backtrace for errors." OFF)
@@ -66,8 +68,6 @@ option(MFEM_USE_CODIPACK "Enable automatic differentiation (AD) using CoDiPack"
option(MFEM_USE_BENCHMARK "Enable Google Benchmark" OFF)
option(MFEM_USE_PARELAG "Enable ParELAG" OFF)
option(MFEM_USE_ENZYME "Enable Enzyme" OFF)
option(MFEM_USE_DOUBLE "Double precision" ON)
option(MFEM_USE_SINGLE "Single precision" OFF)
# Optional overrides for autodetected MPIEXEC and MPIEXEC_NUMPROC_FLAG
# set(MFEM_MPIEXEC "mpirun" CACHE STRING "Command for running MPI tests")
+8 -4
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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.
#
@@ -120,6 +120,7 @@ MFEM_MPI_NP = 4
MFEM_USE_MPI = NO
MFEM_USE_METIS = $(MFEM_USE_MPI)
MFEM_USE_METIS_5 = NO
MFEM_PRECISION = double
MFEM_DEBUG = NO
MFEM_USE_EXCEPTIONS = NO
MFEM_USE_ZLIB = NO
@@ -167,8 +168,6 @@ MFEM_USE_CODIPACK = NO
MFEM_USE_BENCHMARK = NO
MFEM_USE_PARELAG = NO
MFEM_USE_ENZYME = NO
MFEM_USE_DOUBLE = YES
MFEM_USE_SINGLE = NO
# MPI library compile and link flags
# These settings are used only when building MFEM with MPI + HIP
@@ -319,8 +318,13 @@ MPI_FORTRAN_LIB = -lmpifort
# MUMPS library configuration
MUMPS_DIR = @MFEM_DIR@/../MUMPS_5.5.0
MUMPS_OPT = -I$(MUMPS_DIR)/include
MUMPS_LIB = $(XLINKER)-rpath,$(MUMPS_DIR)/lib -L$(MUMPS_DIR)/lib -ldmumps\
MUMPS_LIB = $(XLINKER)-rpath,$(MUMPS_DIR)/lib -L$(MUMPS_DIR)/lib \
-lmumps_common -lpord $(SCALAPACK_LIB) $(LAPACK_LIB) $(MPI_FORTRAN_LIB)
ifeq ($(MFEM_USE_SINGLE),YES)
MUMPS_LIB += -lsmumps
else
MUMPS_LIB += -ldmumps
endif
# STRUMPACK library configuration
STRUMPACK_DIR = @MFEM_DIR@/../STRUMPACK-build
+1 -1
View File
@@ -1,4 +1,4 @@
// Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
// Copyright (c) 2010-2024, 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.
//
+5 -1
View File
@@ -1,4 +1,4 @@
// Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
// Copyright (c) 2010-2024, 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.
//
@@ -9,7 +9,11 @@
// terms of the BSD-3 license. We welcome feedback and contributions, see file
// CONTRIBUTING.md for details.
#ifdef MFEM_USE_SINGLE
#include "smumps_c.h"
#else
#include "dmumps_c.h"
#endif
#include <string>
#include <iostream>
#include <algorithm>
+20 -3
View File
@@ -1,6 +1,6 @@
#!/bin/bash
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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,6 +21,7 @@ if [[ "${option}" == "--help" ]]; then
echo " --copyright"
echo " --license"
echo " --release"
echo " --math"
echo " --style"
echo " --history"
echo ""
@@ -35,8 +36,8 @@ cd $(git rev-parse --show-toplevel)
# copyright check
copyright=true
if [[ "${option}" == "--copyright" || "${option}" == "" ]]; then
if git grep -n "^\(#\|//\).*Copyright.*2010-20\(2[^3]\|[^2].\)" > matches.txt; then
echo "Please update the following files to Copyright (c) 2010-2023:"
if git grep -n "^\(#\|//\).*Copyright.*2010-20\(2[^4]\|[^2].\)" > matches.txt; then
echo "Please update the following files to Copyright (c) 2010-2024:"
cat matches.txt
copyright=false
fi
@@ -63,6 +64,18 @@ if [[ "${option}" == "--release" || "${option}" == "" ]]; then
fi
fi
# math in doxygen check
math=true
if [[ "${option}" == "--math" || "${option}" == "" ]]; then
if grep '\\f' -R doc/CodeDocumentation.dox mfem.hpp config general linalg mesh fem examples miniapps | grep -v '\\frac' | grep -v fem/picojson.h | grep -v config/githooks/pre-push > matches.txt
then
echo "Please use $..$ and \$\$..\$\$ for LaTeX formulas in the following"
echo "comments instead of the Doxygen style \f$..\f$, \f[..\f], etc."
cat matches.txt
math=false
fi
fi
# wrap-up
code=0
if ! $copyright ; then
@@ -77,6 +90,10 @@ if ! $release ; then
echo "release check failed, unroll log for details"
code=1
fi
if ! $math ; then
echo "math in doxygen check failed, unroll log for details"
code=1
fi
# `code-style` is not just a check, it will actually reformat the code if
# necessary. This means that if one pushes while the repo is in dirty state
+1 -1
View File
@@ -1,4 +1,4 @@
# Copyright (c) 2010-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
// Copyright (c) 2010-2024, 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-2023, Lawrence Livermore National Security, LLC. Produced
# Copyright (c) 2010-2024, 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,7 +1,7 @@
MFEM NURBS mesh v1.0
#
# MFEM Geometry Types (see mesh/geom.hpp):
# MFEM Geometry Types (see fem/geom.hpp):
#
# SEGMENT = 1
# SQUARE = 3
+1 -1
View File
@@ -1,7 +1,7 @@
MFEM NURBS mesh v1.0
#
# MFEM Geometry Types (see mesh/geom.hpp):
# MFEM Geometry Types (see fem/geom.hpp):
#
# SEGMENT = 1
# SQUARE = 3
+1 -1
View File
@@ -1,7 +1,7 @@
MFEM mesh v1.0
#
# MFEM Geometry Types (see mesh/geom.hpp):
# MFEM Geometry Types (see fem/geom.hpp):
#
# POINT = 0
# SEGMENT = 1
+95
View File
@@ -0,0 +1,95 @@
MFEM NURBS mesh v1.1
#
# MFEM Geometry Types (see mesh/geom.hpp):
#
# SEGMENT = 1
# SQUARE = 3
# CUBE = 5
#
dimension
2
elements
2
1 3 0 1 4 5
2 3 1 2 3 4
boundary
6
3 1 0 1
3 1 4 5
3 1 1 2
3 1 3 4
1 1 5 0
2 1 2 3
edges
7
0 0 1
0 5 4
1 1 2
1 4 3
2 0 5
2 1 4
2 2 3
vertices
6
knotvectors
3
1 5 0 0 1 2 3 4 4
1 5 0 0 1 2 3 4 4
1 2 0 0 1 1
spacing
3
0 5 3 1 4 0 0 10.0
1 4 3 2 4 0 1 0.15 0.15
2 2 3 1 1 0 1 0.4
weights
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
FiniteElementSpace
FiniteElementCollection: NURBS1
VDim: 2
Ordering: 1
0 0
4 0
8 0
8 1
4 1
0 1
1 0
2 0
3 0
3 1
2 1
1 1
5 0
6 0
7 0
7 1
6 1
5 1
+1 -1
View File
@@ -1,7 +1,7 @@
MFEM NURBS mesh v1.0
#
# MFEM Geometry Types (see mesh/geom.hpp):
# MFEM Geometry Types (see fem/geom.hpp):
#
# SEGMENT = 1
# SQUARE = 3
+1 -1
View File
@@ -1,7 +1,7 @@
MFEM mesh v1.0
#
# MFEM Geometry Types (see mesh/geom.hpp):
# MFEM Geometry Types (see fem/geom.hpp):
#
# POINT = 0
# SEGMENT = 1
+1 -1
View File
@@ -1,7 +1,7 @@
MFEM mesh v1.0
#
# MFEM Geometry Types (see mesh/geom.hpp):
# MFEM Geometry Types (see fem/geom.hpp):
#
# POINT = 0
# SEGMENT = 1
+1 -1
View File
@@ -1,7 +1,7 @@
MFEM mesh v1.0
#
# MFEM Geometry Types (see mesh/geom.hpp):
# MFEM Geometry Types (see fem/geom.hpp):
#
# POINT = 0
# SEGMENT = 1
+1 -1
View File
@@ -1,7 +1,7 @@
MFEM mesh v1.0
#
# MFEM Geometry Types (see mesh/geom.hpp):
# MFEM Geometry Types (see fem/geom.hpp):
#
# POINT = 0
# SEGMENT = 1
+118
View File
@@ -0,0 +1,118 @@
SetFactory("OpenCASCADE");
order = 1;
R = 1;
r = 0.2;
Point(1) = {0,0,0};
Point(2) = {r/Sqrt(2),r/Sqrt(2),0};
Point(3) = {-r/Sqrt(2),r/Sqrt(2),0};
Point(4) = {-r/Sqrt(2),-r/Sqrt(2),0};
Point(5) = {r/Sqrt(2),-r/Sqrt(2),0};
Point(6) = {R,0,0};
Point(7) = {R/Sqrt(2),R/Sqrt(2),0};
Point(8) = {0,R,0};
Point(9) = {-R/Sqrt(2),R/Sqrt(2),0};
Point(10) = {-R,0,0};
Point(11) = {-R/Sqrt(2),-R/Sqrt(2),0};
Point(12) = {0,-R,0};
Point(13) = {R/Sqrt(2),-R/Sqrt(2),0};
Line(1) = {1,2};
Line(2) = {1,3};
Line(3) = {1,4};
Line(4) = {1,5};
Line(5) = {1,6};
Line(6) = {1,8};
Line(7) = {1,10};
Line(8) = {1,12};
Line(9) = {2,6};
Line(10) = {2,8};
Line(11) = {3,8};
Line(12) = {3,10};
Line(13) = {4,10};
Line(14) = {4,12};
Line(15) = {5,12};
Line(16) = {5,6};
Line(17) = {6,7};
Line(18) = {7,8};
Line(19) = {8,9};
Line(20) = {9,10};
Line(21) = {10,11};
Line(22) = {11,12};
Line(23) = {12,13};
Line(24) = {13,6};
Transfinite Curve{1:24} = 2;
Physical Curve("ENE") = {17};
Physical Curve("NNE") = {18};
Physical Curve("NNW") = {19};
Physical Curve("WNW") = {20};
Physical Curve("WSW") = {21};
Physical Curve("SSW") = {22};
Physical Curve("SSE") = {23};
Physical Curve("ESE") = {24};
Curve Loop(1) = {9,17,18,-10};
Curve Loop(2) = {11,19,20,-12};
Curve Loop(3) = {13,21,22,-14};
Curve Loop(4) = {15,23,24,-16};
Plane Surface(1) = {1};
Plane Surface(2) = {2};
Plane Surface(3) = {3};
Plane Surface(4) = {4};
Transfinite Surface{1} = {2,6,7,8};
Transfinite Surface{2} = {3,8,9,10};
Transfinite Surface{3} = {4,10,11,12};
Transfinite Surface{4} = {5,12,13,6};
Recombine Surface{1:4};
Physical Surface("Base") = {1,2,3,4};
Curve Loop(5) = {1,10,-6};
Plane Surface(5) = {5};
Physical Surface("N Even") = {5};
Curve Loop(6) = {6,-11,-2};
Plane Surface(6) = {6};
Physical Surface("N Odd") = {6};
Curve Loop(7) = {2,12,-7};
Plane Surface(7) = {7};
Physical Surface("W Even") = {7};
Curve Loop(8) = {7,-13,-3};
Plane Surface(8) = {8};
Physical Surface("W Odd") = {8};
Curve Loop(9) = {3,14,-8};
Plane Surface(9) = {9};
Physical Surface("S Even") = {9};
Curve Loop(10) = {8,-15,-4};
Plane Surface(10) = {10};
Physical Surface("S Odd") = {10};
Curve Loop(11) = {4,16,-5};
Plane Surface(11) = {11};
Physical Surface("E Even") = {11};
Curve Loop(12) = {5,-9,-1};
Plane Surface(12) = {12};
Physical Surface("E Odd") = {12};
// Generate 2D mesh
Mesh 2;
SetOrder order;
Mesh.MshFileVersion = 2.2;
Save "compass.msh";
+95
View File
@@ -0,0 +1,95 @@
MFEM mesh v1.3
#
# MFEM Geometry Types (see mesh/geom.hpp):
#
# POINT = 0
# SEGMENT = 1
# TRIANGLE = 2
# SQUARE = 3
# TETRAHEDRON = 4
# CUBE = 5
# PRISM = 6
#
dimension
2
elements
12
10 2 7 0 1
11 2 0 7 2
12 2 9 0 2
13 2 0 9 3
14 2 11 0 3
15 2 0 11 4
16 2 5 0 4
17 2 0 5 1
9 3 1 5 6 7
9 3 2 7 8 9
9 3 3 9 10 11
9 3 4 11 12 5
attribute_sets
16
"Base" 1 9
"E Even" 1 16
"E Odd" 1 17
"East" 2 16 17
"N Even" 1 10
"N Odd" 1 11
"North" 2 10 11
"Rose" 8 10 11 12 13 14 15 16 17
"Rose Even" 4 10 12 14 16
"Rose Odd" 4 11 13 15 17
"S Even" 1 14
"S Odd" 1 15
"South" 2 14 15
"W Even" 1 12
"W Odd" 1 13
"West" 2 12 13
boundary
8
1 1 5 6
2 1 6 7
3 1 7 8
4 1 8 9
5 1 9 10
6 1 10 11
7 1 11 12
8 1 12 5
bdr_attribute_sets
13
"Boundary" 8 1 2 3 4 5 6 7 8
"ENE" 1 1
"ESE" 1 8
"Eastern Boundary" 2 1 8
"NNE" 1 2
"NNW" 1 3
"Northern Boundary" 2 2 3
"SSE" 1 7
"SSW" 1 6
"Southern Boundary" 2 6 7
"WNW" 1 4
"WSW" 1 5
"Western Boundary" 2 4 5
vertices
13
2
0 0
0.14142136 0.14142136
-0.14142136 0.14142136
-0.14142136 -0.14142136
0.14142136 -0.14142136
1 0
0.70710678 0.70710678
0 1
-0.70710678 0.70710678
-1 0
-0.70710678 -0.70710678
0 -1
0.70710678 -0.70710678
mfem_mesh_end
+62
View File
@@ -0,0 +1,62 @@
$MeshFormat
2.2 0 8
$EndMeshFormat
$PhysicalNames
17
1 1 "ENE"
1 2 "NNE"
1 3 "NNW"
1 4 "WNW"
1 5 "WSW"
1 6 "SSW"
1 7 "SSE"
1 8 "ESE"
2 9 "Base"
2 10 "N Even"
2 11 "N Odd"
2 12 "W Even"
2 13 "W Odd"
2 14 "S Even"
2 15 "S Odd"
2 16 "E Even"
2 17 "E Odd"
$EndPhysicalNames
$Nodes
13
1 0 0 0
2 0.1414213562373095 0.1414213562373095 0
3 -0.1414213562373095 0.1414213562373095 0
4 -0.1414213562373095 -0.1414213562373095 0
5 0.1414213562373095 -0.1414213562373095 0
6 1 0 0
7 0.7071067811865475 0.7071067811865475 0
8 0 1 0
9 -0.7071067811865475 0.7071067811865475 0
10 -1 0 0
11 -0.7071067811865475 -0.7071067811865475 0
12 0 -1 0
13 0.7071067811865475 -0.7071067811865475 0
$EndNodes
$Elements
20
1 1 2 1 17 6 7
2 1 2 2 18 7 8
3 1 2 3 19 8 9
4 1 2 4 20 9 10
5 1 2 5 21 10 11
6 1 2 6 22 11 12
7 1 2 7 23 12 13
8 1 2 8 24 13 6
9 2 2 10 5 1 2 8
10 2 2 11 6 1 8 3
11 2 2 12 7 1 3 10
12 2 2 13 8 1 10 4
13 2 2 14 9 1 4 12
14 2 2 15 10 1 12 5
15 2 2 16 11 1 5 6
16 2 2 17 12 1 6 2
17 3 2 9 1 2 6 7 8
18 3 2 9 2 3 8 9 10
19 3 2 9 3 4 10 11 12
20 3 2 9 4 5 12 13 6
$EndElements
+1 -1
View File
@@ -1,7 +1,7 @@
MFEM NURBS mesh v1.0
#
# MFEM Geometry Types (see mesh/geom.hpp):
# MFEM Geometry Types (see fem/geom.hpp):
#
# SEGMENT = 1
# SQUARE = 3
+1 -1
View File
@@ -1,7 +1,7 @@
MFEM mesh v1.0
#
# MFEM Geometry Types (see mesh/geom.hpp):
# MFEM Geometry Types (see fem/geom.hpp):
#
# POINT = 0
# SEGMENT = 1
+1 -1
View File
@@ -1,7 +1,7 @@
MFEM mesh v1.0
#
# MFEM Geometry Types (see mesh/geom.hpp):
# MFEM Geometry Types (see fem/geom.hpp):
#
# POINT = 0
# SEGMENT = 1
+1 -1
View File
@@ -1,7 +1,7 @@
MFEM NURBS mesh v1.0
#
# MFEM Geometry Types (see mesh/geom.hpp):
# MFEM Geometry Types (see fem/geom.hpp):
#
# SEGMENT = 1
# SQUARE = 3

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