Commit Graph
148 Commits
Author SHA1 Message Date
Veselin Dobrev 11131bf004 Merge branch 'master' into conforming-tet-refinement-fix 2018-07-24 20:59:20 -07:00
Stowell, Mark L d525f0a730 Adding support for mixed meshes in parallel 2018-07-23 15:01:08 -07:00
Stowell, Mark L cd7e2dcb4c Fixing a broken file 2018-07-21 13:52:27 -07:00
Stowell, Mark L 51ba4a9e13 Fixes to Mixed 2D meshes in parallel 2018-07-21 13:43:25 -07:00
Stowell, Mark L ecfc2b1360 make style 2018-07-20 19:34:26 -07:00
Stowell, Mark L 90968146bb Adding support for uniform refinement of mixed 2D meshes 2018-07-20 11:54:17 -07:00
Stowell, Mark L c3e023deed Merge remote-tracking branch 'origin/master' into prism-dev
# Conflicts:
#	fem/fespace.cpp
2018-07-19 19:51:39 -07:00
Veselin Dobrev 39fd944dba Revert "Group communicator on (parallel) cut meshes [cut-mesh-groups-dev]" 2018-07-18 14:26:30 -07:00
aschaf 7482db6bc0 Fixed parallel version of AMR for tet meshes.
As for serial, added overloads of ParMesh::GetFaceSplittings and ParMesh::RefineGroups with HashTable<Hashed2>.
2018-07-18 15:56:15 +02:00
Robert Anderson f950613551 Merge pull request #480 from mfem/cut-mesh-groups-dev
Group communicator on (parallel) cut meshes [cut-mesh-groups-dev]
2018-07-13 20:32:33 -07:00
Veselin Dobrev 4d3b1fab9a Add optional 'refine' parameter to the ParMesh constructor that
reads from an input stream.
2018-06-04 18:08:51 -07:00
Veselin Dobrev 8d1a5dfa31 Fix an issue in the local refinement of simplex meshes where the
lazy-generated Tables 'el_to_el', 'face_edge', and 'edge_vertex'
were not reset after refinement.
2018-05-18 16:19:50 -07:00
Tzanio 67401330d9 make style 2018-04-23 10:45:27 -07:00
Robert W. Anderson dce6ebf20d merge master 2018-03-21 15:43:32 -07:00
Stowell, Mark L d0cecfba52 Fixing a vertex numbering issue related to the lack of new vertices on triangular faces of uniformly refined prisms 2018-02-01 17:17:42 -08:00
Robert W. Anderson 5caeea07a0 return faces_tbl from InitFromNCMesh for use in group construction in 3D 2018-01-23 19:36:08 -08:00
Stowell, Mark L 6cfc1081d8 Merge remote-tracking branch 'origin/master' into prism-dev
# Conflicts:
#	fem/geom.hpp
#	mesh/mesh.cpp
#	mesh/mesh.hpp
2018-01-16 10:53:03 -08:00
Stowell, Mark L 8a5a250204 Merge remote-tracking branch 'origin/master' into prism-dev
# Conflicts:
#	fem/fe.cpp
#	fem/fe.hpp
#	fem/fe_coll.cpp
#	fem/geom.cpp
#	fem/geom.hpp
#	mesh/mesh.cpp
2018-01-12 11:36:49 -08:00
Veselin Dobrev 1556f3605c In the standard ParMesh constructor, in the case of a NURBS
mesh, create the parallel 'Nodes' using directly the
ParNURBSExtension created in the constructor, instead of
creating another extension by calling the ParGridFunction
constructor that is used in the general case.
2018-01-08 23:36:04 -08:00
Tzanio 5a1370aa79 Merge branch 'master' into varnurbs-dev 2018-01-02 11:35:19 -08:00
Veselin Dobrev c6dafc6483 A set of small fixes and cleanups uncovered by static analysis with
clang static analyzer.
2017-12-09 16:12:35 -08:00
Robert W. Anderson eba6d4805b working for simple 2D cases 2017-12-05 15:32:22 -08:00
Stowell, Mark L 3e20045b56 Shared triangular faces may not belong to tetrahedra 2017-11-28 11:05:02 -08:00
Veselin Dobrev 94382236ee In classes Mesh and ParMesh, add support for copy construction of
NURBS meshes.
2017-11-27 20:07:46 -08:00
Stowell, Mark L 9dbde39b0c make style 2017-11-22 19:35:31 -08:00
Stowell, Mark L e5e80bb3a3 Propagating BaseFaceGeometry 2017-11-22 16:08:13 -08:00
Stowell, Mark L 6df61f337e Adding parallel uniform refinement for prism meshes (not yet working) 2017-11-21 10:14:32 -08:00
Stowell, Mark L ccb36621f7 make style 2017-11-16 13:23:19 -08:00
Stowell, Mark L 5956e157c1 Switching more occurrences of "int" to Geometry::Type 2017-11-16 10:42:16 -08:00
Stowell, Mark L 00069e5914 Switching to Element::Type and Geometry::Type rather than "int" when relevant. 2017-11-15 15:34:31 -08:00
Veselin Dobrev 7248dd101b Merge branch 'master' into inv-xform-dev 2017-11-08 22:21:54 -08:00
Veselin Dobrev 205fa9b394 Add a new class, InverseElementTransformation, that implements several
ElementsTransformation inversion algorithms, and serves as a base class
for other, e.g. custom, implementations. The new class contains all
previous implementations of ElementTransformation::TransformBack() and
adds a some new options.

The method IsoparametricTransformation::TransformBack() is now
implemented by simply constructing a InverseElementTransformation object
(with default options) and calling its Transform() method.

Updated the methods Mesh::FindPoints() and ParMesh::FindPoints() to
accept an optional argument of type InverseElementTransformation,
allowing more flexibility through customization of the transformation
inversion algorithm. In ParMesh::FindPoints(), when the i-th point was
found by one or more ranks, the output entry elem_ids[i] will be set to
-2 (except on the rank that is assigned that point) to indicate that the
i-th point was found but assigned to another rank - this value allows
all ranks to distinguish this case from the case when a point was not
found by any rank - indicated by elem_ids[j] set to -1.

Added two new methods to class ElementTransformation: GetGeometryType()
and GetDimension(). To aviod making these new methods virtual (and to
make the existing method GetSpaceDim() non-virtual), added data fields
'geom' and 'space_dim' to the base class ElementTransformation. In order
to facilitate the initialization of those fields for class
IsoparametricTransformation, added new method, FinalizeTransformation().
This method must be called after setting the point-matrix and the finite
element of the IsoparametricTransformation - all such places in MFEM
have been updated to perform that call.

Add new version of Geometry::ProjectPoint() that projects points outside
the reference element to the closest boundary point of the element.

Updated class GeometryRefiner to allow simultaneous use by different
places in a code - new calls to the Refine() and RefineInterior()
methods will not destroy previously allocated and returned objects by
the same calls.
2017-11-05 23:33:04 -08:00
Tzanio 20087f29eb Merge branch 'master' into xsdk-cpissues-dev 2017-10-17 11:54:45 -07:00
Vladimir Tomov 739ead7e73 Fixed a segfault in PrintAsOne for segment meshes. 2017-10-04 18:01:39 -07:00
Veselin Dobrev 27ffe35369 Merged general/globalcomm.[ch]pp and general/globalostream.[ch]pp into
general/globals.[ch].

Renamed class WrappedOStream to OutStream and use a different
implementation in order to support the case when the OutStream is passed
as a parameter of type std::ostream.

In class MPI_Session, added an MPI_Comm parameter to both constructors,
with a default value of MPI_COMM_WORLD.

Hide the global variable MFEM_COMM_WORLD and allow access (read and
write) with global functions: GetGlobalMPI_Comm() and
SetGlobalMPI_Comm() - in the future, we may want to perform some tasks
when changing the "global" MPI communicator.

In mfem_error(), use GetGlobalMPI_Comm() instead of MPI_COMM_WORLD.

Minor formatting changes and #include reordering.
2017-09-29 15:52:51 -07:00
Tzanio abe85f4cb6 make style 2017-09-28 10:15:26 -07:00
Aaron Fisher aa040f3e64 Made everything work with the new mfem::out and mfem::err output. 2017-09-27 15:42:37 -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
Tzanio Kolev 806cf543c0 Merge pull request #131 from mfem/bugfix-setcoords-memory
Bugfix: add memory-safe Vertex.SetCoords() method. [bugfix-setcoords-memory]
2017-03-10 16:37:14 -08:00
Andrew T. Barker fcae1a2b5a Mark old Vertex.SetCoords() method as deprecated, and replace all
references with the new memory-safe version.
2017-02-28 09:44:40 -08:00
Stowell, Mark L e9374c9ea4 Adding methods to obtain more mesh information
Adding a serial method to obtain the information printed by
PrintCharacteristics.  This includes minimum and maximum edge lengths
as well as kappa which seems to be related to the aspect ratio of the
elements.

Adding a parallel method to compute the same mesh characteristics
mentioned above.

Adding a parallel method to compute the bounding box of a distributed
mesh.
2017-02-16 13:37:28 -08: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 f74eaae422 Version 1.2.1 2011-04-11 16:09:41 -07:00
Tzanio Kolev 29ae8fb6ac Version 1.2 2011-04-08 15:27:24 -07:00