Commit Graph
122 Commits
Author SHA1 Message Date
Sohail Reddy 253a5b4b79 Added operator weighted inner product. Moved inner product defintions to solvers.hpp/cpp 2025-10-19 13:37:39 -07:00
Sohail Reddy 1808ca1f3a Added class for user-defined inner products. Updated IterativeSolver to use custom inner products. 2025-10-19 01:14:50 -07:00
Veselin Dobrev 56b1a1715a Use DofToQuad::Abs in a few places. Remove unused methods AddAbsMult*.
Small doxygen tweaks.
2025-06-17 01:16:34 -07:00
Gabriel Pinochet-Soto 5044d9cd45 Remove *Abs* functions in operator.xpp and related 2025-04-25 12:35:02 -07:00
Gabriel Pinochet-Soto 9d84c17e0b Add AbsMult to base class Operator 2025-03-28 22:13:22 -07:00
Veselin Dobrev 0a0117d4bc In SLISolver::Mult, support optimized handling of the case b = 0 by
providing empty b (i.e. b.Size() == 0) as the input; this is allowed
only in iterative mode where it makes sense for smoothing operations.

In class OperatorChebyshevSmoother, in the constructor using the
power method to estimate the maximal eigenvalue, add an optional
random seed parameter used to initialize the starting random vector.

Fix a warning in mfem::internal::sqrt for dual numbers.

Fix a doxygen warning in the definition of SparseMatrix::handle.
2025-03-20 19:55:47 -07:00
Tzanio Kolev e4c2152419 Update Copyright to 2010-2025 2025-02-03 12:17:26 -08:00
Dylan Copeland c009fb9bde Merge branch 'master' of github.com:mfem/mfem into float 2024-03-15 11:31:39 -07:00
Dylan Copeland d2e89166f9 Merge branch 'master' of github.com:mfem/mfem into float 2024-03-05 10:23:02 -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
victor-decaria-nnl db5ba25e2f Merge branch 'master' into constrained-transpose-dev 2024-02-07 10:33:05 -05:00
Dylan Copeland 046a874cfb Merge branch 'master' of github.com:mfem/mfem into float 2024-02-06 10:56:41 -08:00
Tzanio Kolev d53f982761 Merge branch 'master' into block-solvers/bramble-pasciak-dev 2024-02-03 14:31:32 -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 4e4c97b4dd Merge branch 'master' into constrained-operator-addmult 2024-01-31 13:18:29 -08:00
Tzanio Kolev 87290fbf56 Update Copyright to 2010-2024 2024-01-27 13:06:49 -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
Victor DeCaria 5f5a0e5fe6 Implement transpose of constrained operator. 2023-12-19 10:02:53 -07:00
Tzanio Kolev d983b34924 Renamed ftype -> real_t 2023-12-13 12:51:43 -08:00
Dylan Copeland 3b4fc3b1df Generalized for MPI and hypre. 2023-10-31 21:12:15 -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 08b87fd9fe Disable iterative mode in SumOperator 2023-09-12 14:15:12 -07:00
Gabriel Esteban Pinochet Soto 0ec2ea20de Make style. 2023-09-12 10:52:09 -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 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 08deeaacd9 Add AddOperator operator. 2023-08-07 10:35:26 -07:00
camierjs dce372389b Merge master in forall 2023-03-24 07:52:56 -07:00
Tzanio Kolev 96e00dc815 Updated COPYRIGHT to 2010-2023 2023-03-11 16:58:18 -08:00
camierjs 84517f4357 Cleanup 2023-02-09 16:33:45 -08:00
camierjs 018d5cfb8b Debugging lambdas in mfem::forall 2023-02-08 15:03:34 -08:00
Sebastian Grimberg 7548778722 Rename Mult -> ArrayMult and similar to avoid partially overridden warnings 2022-12-14 18:14:38 -08:00
Sebastian Grimberg 7444aa5070 Merge branch 'master' into sjg/multigrid-mult-rhs 2022-08-01 08:59:34 -07:00
Sebastian Grimberg b15b188c44 Update const for Mult with multiple RHS 2022-08-01 08:59:06 -07:00
Sebastian Grimberg 9a2f3d5c73 Upgrades to Multigrid for multiple RHS 2022-07-14 15:52:25 -07:00
Sebastian Grimberg 4ffe3ef158 Fix shadowed names, abiguous cases, and make style 2022-07-14 15:52:25 -07:00
Sebastian Grimberg 89b7031a7a Add interface for multiple RHS solves
Also adds AddMult, AddMultTranspose as Operator methods for the ones that support it already.
2022-07-14 15:52:25 -07:00
Tzanio Kolev a46cf91039 Fixed additional instances of implicit type conversion 2022-06-24 09:43:50 -07:00
Tzanio 6d2530775b Extended copyright to 2022 2022-02-25 10:24:50 -08:00
Stowell, Mark L 63381b366a Renaming ostream variables from out to os 2022-01-18 15:06:46 -08:00
Stowell, Mark L f7c9bdab17 Renaming "out" and "err" local variables to avoid globals 2021-12-22 15:19:20 -08:00
Will Pazner 9e67380171 Improvements to PrintMatlab
Make Operator::PrintMatlab virtual, output zero entry in last row and column to
preserve matrix size.
2021-09-28 12:01:04 -07:00
Tzanio cc9fda7d8f Merge branch 'master' into form-linear-system-tweak 2021-07-15 18:29:13 -07:00
Tzanio 36cd2bd524 Changed special seed value in PowerMethod::EstimateLargestEigenvalue from -1 to 0 2021-05-27 08:33:33 -07:00
Tom Stitt d7739175fc Skip input vector randomizing in EstimateLargestEigenvalue if the seed is -1; useful when v0 is already random initialized 2021-05-26 13:29:59 -07:00
Aaron Fisher e758c37691 Removed nearly all leading underscores for variable names. Every once in a while one of these will confilct with standard libraries in an oddball compiler and it's best to just avoid this problem alltogether. 2021-05-10 16:06:51 -07:00
Veselin Dobrev 8ca6247b3e When FormLinearSystem methods define the true-dof versions of
X and B, use Vector's MakeRef instead of NewMemoryAndSize in the
case when the FE space prolongation is identity.

In MemoryManager::Insert, when re-inserting the same host pointer
allow the new pointer to have d_mt == MemoryType::DEFAULT in the
debug check.

In GridFunction::{MakeRef,MakeTRef} check for identity prolongation
with the method IsIdentityProlongation.
2021-04-27 12:36:49 -07:00
Veselin Dobrev 656b976340 Merge branch 'master' into tmopt-split-api
Resolved conflicts:
   fem/nonlinearform.cpp
   fem/nonlinearform.hpp
   fem/nonlinearform_ext.cpp
   fem/nonlinearform_ext.hpp
   fem/nonlininteg.cpp
   fem/nonlininteg.hpp
2021-02-16 23:31:53 -08:00
Veselin Dobrev 86895821b9 Re-worked class PANonlinearFormExtension::Gradient to implement
an Update method, reuse vectors from PANonlinearFormExtension,
and support FormSystemOperator by implementing GetProlongation.

Fix the size of the NonlinearFormExtension operator -- it is an
L-to-L operator.

In class NonlinearForm, add methods to access the interior and
boundary face integrators.

Small tweaks the methods (Par)NonlinearForm::GetGradient,
ConstrainedOperator::AssembleDiagonal, and
RAPOperator::AssembleDiagonal.

Add more doxygen documentation and other comments.
2021-01-27 13:07:45 -08:00
Adrien M. Bernede 04fb572359 Let's forget about 2020 2021-01-26 11:55:36 -08:00