Commit Graph
84 Commits
Author SHA1 Message Date
camierjs 4b26fa7574 Cleanup & SurfaceSolver class 2019-06-09 13:52:37 -07:00
camierjs bcce24f6f1 ex24 with PA 2019-06-08 19:30:59 -07:00
camierjs 86f8591cc8 shell model 2019-06-07 13:15:55 -07:00
camierjs 9cfd2a670f Toward ex24 with pa: both scalar and vector method 2019-06-06 18:30:23 -07:00
camierjs e7f0bcc56f ex24 in Vector style 2019-06-03 16:03:26 -07:00
Veselin Dobrev 798ded1f55 Merge branch 'master' into memory-dev 2019-05-22 23:53:04 -07:00
Veselin Dobrev 504f01aa75 Merge branch 'master' into mesh-ext-additions
Moved implementation from fem/bilininteg_ext.cpp into
fem/bilininteg_diffusion.cpp and fem/bilininteg_mass.cpp

Update the layouts used in the shared memory kernels.
2019-05-22 17:31:04 -07:00
Veselin Dobrev cdbcc9e5e1 Integrate class DofToQuad with the FiniteElement class.
Rename class ElemRestriction to ElementRestriction and integrate
it with class FiniteElementSpace; it is accessible with the method
FiniteElementSpace::GetElementRestriction().

Rename class XTMesh to GeometricFactors and remove invJ from the
possible geometric factors.

Introduce class QuadratureInterpolator (created and owned by class
FiniteElementSpace) that interpolates E-vectors to quadrature points,
see FiniteElementSpace::GetQuadratureInterpolator().

Switch the layouts of the E-vectors and Q-vectors to have the
local (element) DOFs and quadrature points, respectively, as the
fastest changing index.
2019-05-22 07:19:44 -07:00
Veselin Dobrev e332d2713f Address some FIXME comments. 2019-05-18 16:29:06 -07:00
Veselin Dobrev 40378a046b Introduce a new Memory class for handling host + device allocations
and transfers.

The Memory class is now used by some MFEM classes (like Array and
Vector) which can be used on the Device. Such classes now provide
methods to access the underlying Memory object, e.g. GetMemory.

Updated ex1/ex1p and ex6/ex6p to not need to enable/disable the
Device at specific points -- the Device is now enabled just at the
start. Also, the same examples can now run on Device (e.g. -d cuda)
without the partial assembly option (-pa) -- full assembly will
be still done on CPU but the sparse matrix action and vector
operations will be done using the Device.

Reverted changes in class DenseMatrix related to using the Device.
At this point, DenseMatrix operations are only used for small matrices
and using the Device in this case is not a good option.
2019-05-16 14:53:39 -07:00
Tzanio 5b00c3d0e6 Merge branch 'master' into stefanozampini/small-improvements
Conflicts:
	fem/bilininteg.hpp
2019-05-15 11:38:18 -07:00
Stefano Zampini 70653ee1e5 BilinearIntegrators: made all parameters (scalars and coefficients) protected to make them accessible to derived class
For all public integrators, make coefficients usage consistent and store a pointer instead of a reference
This affected Convection, Derivative and *ProductInterpolator integrators
2019-03-14 21:17:40 +03:00
Jean-Sylvain Camier a882a4438d Remove abstract methods in fem/bilininteg 2019-03-02 21:20:01 -08:00
camierjs 1705a1e99a Ex1 and Laghos with DeviceTensors 2019-02-28 18:22:06 -08:00
camierjs 59679738fb Targeting okina branch 2019-02-28 17:11:34 -08:00
camierjs c008e101a9 Rewind and cleanup 2019-02-08 16:24:04 -08:00
camierjs 9b3fc4d585 new/delete through mm_*, to work with LD_PRELOAD and stack 2019-02-07 19:59:33 -08:00
camierjs 70b149dac1 WIP unit tests through the MM 2019-02-06 21:18:20 -08:00
camierjs 2304b819f3 PA Assemble now uses FiniteElementSpace& 2019-02-05 17:33:03 -08:00
Tzanio abd856dad4 make style 2019-01-24 18:22:35 -08:00
camierjs 7b5ad3f3f7 Renaming bfi Assemble MultAssembled 2019-01-24 14:38:29 -08:00
camierjs 9bf0e4fda8 Remove bfi abstract class and insert diffusion/mass integrator extensions 2019-01-24 11:58:02 -08:00
camierjs 2fff0fcf09 fem/kernels renaming 2019-01-18 17:45:47 -08:00
camierjs c07db88917 Cleanup and renaming 2019-01-18 17:14:49 -08:00
camierjs dd2b906a2e Merge branch 'okina' into okina-laghos 2019-01-18 15:46:23 -08:00
camierjs 04449481d6 melding and cleanup 2019-01-15 12:19:44 -08:00
camierjs 94be7d45b4 cleanup and style 2019-01-15 11:15:48 -08:00
camierjs 4e8f1cd34c no leaks are possible 2019-01-14 18:51:20 -08:00
camierjs 0ad00ba4bb Cleanup 2019-01-07 10:12:12 -08:00
camierjs 4f557c0b1b Melding toward Okina 2019-01-03 20:20:49 -08:00
camierjs 148929e807 mm, occa, cuda and device 2018-12-19 16:16:33 -08:00
camierjs f5434dc77a Merge branch 'master' into okina-laghos 2018-12-18 11:29:53 -08:00
Tzanio 677b6f8aad Merge branch 'master' into okina
Conflicts:
	fem/bilinearform.hpp
	fem/pbilinearform.hpp
	makefile
2018-12-18 10:07:49 -08:00
camierjs 450905d58a Cleanup and mm rewrite 2018-12-12 17:30:13 -08:00
camierjs 029dce3072 Laghos, all tests, all checks 2018-12-11 18:07:36 -08:00
camierjs 4fcf5de2c4 make check with right x_gf 2018-12-07 13:26:55 -08:00
camierjs e15cea2b86 All 2D CPU checks 2018-12-06 18:30:11 -08:00
camierjs d61145d11d PABilinearForm::Assemble switch to get non-null ir 2018-12-03 14:18:00 -08:00
camierjs 339e182505 Up to Laghos with --qupdate 2018-12-03 11:29:48 -08:00
camierjs 22e576f128 Up to KMassIntegrator::MultAdd 2018-11-30 17:37:46 -08:00
Tzanio 7b39339fab Updated CHANGELOG. Small typos. 2018-11-08 17:19:08 -08:00
Veselin Dobrev 2ae23b17d2 Added parallel version of example 22.
Enhanced class VectorMassIntegrator to support user specified
number of components using the new method SetVDim().

Tweaked the function L2ZZErrorEstimator() to support flux spaces
with any number of components; this is only supported when the
smooth flux space is a Cartesian power of a scalar space.

Updated and tested all sample runs in ex22/ex22p.
2018-11-07 19:21:04 -08:00
Veselin Dobrev 6262ac25b8 In class ElasticityIntegrator, update the methods ComputeElementFlux
and ComputeFluxEnergy to work with flux (stress) that stores just the
symmetric part of the stress, i.e. dim*(dim+1)/2 components instead
of dim*dim components. Also, update ComputeFluxEnergy to compute the
element integral of the strain energy density, instead of the
Frobenius norm of the stress squared.

Several small additions and tweaks in ex22_proposed.cpp.
2018-11-02 20:46:52 -07:00
Stowell, Mark L 367929f415 Adding example code to test ElasticityIntegrator::ComputeElementFlux method 2018-11-02 11:20:41 -07:00
Tzanio 7ae8b6f91b Merge branch 'master' into okina 2018-10-29 12:45:45 -07:00
Tzanio 2019606947 Merge branch 'master' into elasticity-flux 2018-10-28 14:51:59 -07:00
Veselin Dobrev a14ff8d866 Workaround for a bug in the Visual Studio 2013 compiler. 2018-10-14 13:41:27 -07:00
Tzanio b17ac8f4ad make style 2018-10-12 17:52:47 -07:00
camierjs 944ef49eeb Melding with master 2018-10-12 15:58:30 -07:00
camierjs 620f3dab7a Back to serial GCC 2018-10-11 13:38:10 -07:00