Commit Graph
184 Commits
Author SHA1 Message Date
camierjs 2f6b4c2f07 WIP, *this, When to go to GPU? 2018-09-25 19:25:16 -07:00
camierjs fb25fb6f82 RIP to get Segmentation faults 2018-09-25 16:51:33 -07:00
camierjs e2f7584d7b Init CFG, DBG, MEMCPY & MEMMNG 2018-09-25 16:40:31 -07:00
Jakub Červený 253e1dc320 Added missing assert in Vector::AddElementVector (based on similar function). 2018-03-16 16:49:05 +01:00
Stowell, Mark L 8adf1bf29c make style 2018-01-26 20:48:27 -08:00
Stowell, Mark L bae718680d Merge remote-tracking branch 'origin/master' into prism-dev
# Conflicts:
#	fem/fespace.cpp
#	fem/pfespace.cpp
2018-01-26 20:44:48 -08:00
Stowell, Mark L 7eaf351332 Adding debug output to an error message 2018-01-19 15:12:42 -08:00
Veselin Dobrev 42ad503d6e Define a shortcut for std::numeric_limits<double>::infinity() called
mfem::infinity() and replace (almost) all usage of the std version with
the shortcut.

In SparseMatrix::MakeRef, copy the field isSorted from the original
matrix.
2018-01-02 06:36:04 -08:00
Tzanio Kolev d1bcacf419 Merge pull request #197 from gelever/tensor_segfault
Segfaults from copies [tensor_segfault]
2017-12-08 15:48:24 -08:00
Veselin Dobrev 6a9cca5f44 When copying data with Vector::operator=, skip the call to memcpy if
the source is the same as the destination.
2017-12-01 02:51:12 -08:00
Veselin Dobrev 7f0efa4ecb Minor tweaks. 2017-11-28 17:40:50 -08:00
Veselin Dobrev 7db2768d31 In the copy constructors of classes Vector and DenseMatrix, prohibit
copying when the source object is invalid, i.e. it has nonzero size
but the data pointer is NULL.

In class DenseTensor, the copy constructor always uses deep copy.

In class DenseMatrixEigensystem, in the copy constructor, initialize
'ev' to not own its data.

In classes Vector, DenseMatrix, and DenseTensor, use std::memcpy to
copy the data arrays.
2017-11-28 17:22:28 -08:00
Tzanio Kolev 89ef05810f Merge pull request #295 from mfem/xsdk-cpissues-dev
Compliance with the xSDK community policies [xsdk-cpissues-dev]
2017-11-08 17:13:54 -08:00
Tzanio Kolev 60a2cd5312 Merge pull request #314 from goxberry/vector-normlp-overflow-fix-dev
Make Vector::Normlp less prone to overflow [vector-normlp-overflow-fix-dev]
2017-11-08 13:49:25 -08:00
Veselin Dobrev c31bd65e6d Restore support for SUNDIALS v2.7.0 - the used version is "autodetected"
in the .cpp files that use SUNDIALS.

Updated INSTALL and CHANGELOG to reflect that both v2.7.0 and v3.0.0 of
SUNDIALS are supported.

In makefile, move the addition of the SUNDIALS and PETSc examples to the
examples run by 'make test' after the inclusion of config/config.mk.
2017-11-06 16:17:25 -08:00
Veselin Dobrev 0691b61184 Fix an issue in Vector::Norml2. 2017-11-02 12:49:36 -07:00
Tzanio Kolev bac8f5c330 Merge branch 'master' into xsdk-cpissues-dev 2017-11-02 07:43:37 -07:00
Tzanio a9e531b46c Replace the SUNDIALS macros TRUE/FALSE with SUNTRUE/SUNFALSE (change in their 3.0.0 release) 2017-10-31 12:14:21 -07:00
Geoffrey Malcolm Oxberry 28893fae7c Vector: change C-style math lib calls to C++-style 2017-10-23 16:05:43 -07:00
Geoffrey Malcolm Oxberry 3e31157848 Vector::Norml2: use LAPACK dnrm2 algorithm
Use the LAPACK dnrm2 algorithm to compute the l2 norm instead of the
square root of the inner product of a vector with itself. This
modification prevents overflow by ensuring that any squared term has a
nonnegative argument of 1.0 or less. However, it also disables OpenMP
parallelism (because mfem::Vector::operator* is no longer being used);
this functionality would have to be reintroduced in a subsequent
commit.
2017-10-23 15:31:19 -07:00
Geoffrey Malcolm Oxberry 1d979e14ca Vector: update Normlp to use LAPACK algorithm 2017-10-23 15:22:30 -07:00
Veselin Dobrev a899cd7b56 In class Vector, add method DistanceSquaredTo that returns the
Euclidean distance squared to another vector.

Also, add a function that performs the same operation, given two
arrays of double values.
2017-10-18 19:18:11 -07:00
Geoffrey Malcolm Oxberry 2cf493dc51 Vector::Normlp: update outdated comment
Update an outdated comment; my counting was off...
2017-10-17 16:00:27 -07:00
Geoffrey Malcolm Oxberry 2177c625ef Make Vector::Normlp less prone to overflow
Use a scaling trick (also performed in C++'s std::hypot) to prevent
overflow of $\ell^{p}$ norm of `mfem::Vector`s in some cases (e.g.,
large values of $p$).
2017-10-17 15:50:56 -07:00
Veselin Dobrev fa9b867764 Proposal for a new implementation of the support for delta
coefficients in linear forms.
2017-08-28 21:01:38 -07:00
Stephan Gelever 5e19782b2a Prevent segfault in DenseMatrixEigensystem, Vector
Copying a DenseMatrixEigensystem when using LAPACK
is done by value.  The dynamic memory is incorrectly copied
which leads to a segfault on delete.  Also, a segfault occurs
when copying a vector that has a nonzero size, but null data.
2017-05-07 21:33:44 -07:00
Tzanio 1569425857 Version 3.3 2017-01-28 22:05:47 -08:00
Jakub Cerveny 125ff226e4 Version 3.2 2016-06-30 10:37:30 -07:00
Tzanio dbae60fe32 Version 3.1 2016-02-16 15:45:48 -08:00
Tzanio Kolev 9d7774a03e Version 3.0 2015-01-26 15:07:34 -08:00
Tzanio Kolev fa169e4b92 Version 2.0 2011-11-18 11:39:53 -08:00
Tzanio Kolev 29ae8fb6ac Version 1.2 2011-04-08 15:27:24 -07:00
Tzanio Kolev 075e00e9be Version 1.1 2010-09-13 13:31:38 -07:00
Tzanio Kolev 6bfa95b718 Version 1.0 2010-07-21 13:14:05 -07:00