Commit Graph
63 Commits
Author SHA1 Message Date
Tomov faa5a79a16 Fixed wrong indexing in FiniteElementCollection::GetEdge(). 2020-05-26 17:19:30 -07:00
Tzanio f7ce7154e0 Merge branch 'master' into ho-tet-ori-dev
Conflicts:
	tests/unit/CMakeLists.txt
2020-03-12 14:38:12 -07:00
Tzanio 05125e19d5 Removed a space 2020-03-09 15:36:41 -07:00
Tzanio 2e37ba7d97 Merge branch 'master' into yohann/dg
Conflicts:
x	fem/bilinearform_ext.cpp
2020-03-04 20:42:09 -08:00
Tzanio ca55ef0217 The release number for mfem-4.1 is LLNL-CODE-806117 2020-03-02 17:18:46 -08:00
Tzanio 2caa222edf A number of changes to switch the code from LGPL-2.1 to BSD-3:
- Updated LICENSE, README, CHANGELOG and CONTRIBUTING.md
- Removed COPYRIGHT, added NOTICE
- Updated the headers in all source files, makefiles, etc.
2020-02-23 11:16:46 -08:00
Stowell, Mark L 238b8f3c63 Fixing H1_Tet reordering algorithm 2020-02-20 16:56:34 -08:00
Stowell, Mark L 22a42b847f Initializing new pointers to NULL 2020-02-20 11:41:18 -08:00
Stowell, Mark L e3165b20c0 Defining tet reorderings for L2 DoFs 2020-02-19 14:34:13 -08:00
Stowell, Mark L 2c52b91424 Adding TetDofOrd to H1_FEC 2020-02-19 11:37:08 -08:00
Yohann Dudouit 537f9e57fc Merge branch 'master' into yohann/dg
Conflicts:
	fem/bilininteg.hpp
	fem/bilininteg_convection.cpp
2020-01-29 16:31:55 -08:00
Andrew Gillette da4b64d75d Changed tbeTemp from pointer to object. Moved location of pm4 declaration. 2020-01-21 13:25:52 -08:00
Yohann Dudouit 18f5693c4e make style 2020-01-13 15:08:15 -08:00
Tzanio 8d17c9d644 Styling and various improvements 2020-01-10 16:18:28 -08:00
Andrew Gillette 1b4e9a3f3a Fixed the tesnor / tensor typo. 2020-01-10 14:33:30 -08:00
Andrew Gillette 51be3591c1 Fixing additional comments from Dylan - missed these earlier. 2020-01-10 12:58:40 -08:00
Andrew Gillette 9d1eae4d7c Removed comments based on clarifications. Updated CHANGELOG. Will remove edits to examples after PR is otherwise approved - just leaving them now to aid reviewers with testing. 2020-01-08 14:53:30 -08:00
Andrew Gillette 2116b81edf Updating to only include 2D serendipity elements. 2019-12-30 13:58:21 -08:00
Yohann Dudouit ba25db25b2 Fix normnal orientation in 3D. 2019-12-26 17:09:43 -08:00
Yohann Dudouit 97a82cd440 Make L2_FECollection use the same basis on the Trace as in the Element. 2019-12-10 11:13:16 -08:00
Andrew Gillette f080cd72d5 Updating to astyle 2019-08-13 10:40:44 -07:00
Andrew Gillette 2708aab5f7 Adding condition for warning about higher order in 3D 2019-08-12 14:18:31 -07:00
Andrew Gillette 82d5ef6222 fe_coll edits 2019-08-12 11:31:43 -07:00
Veselin Dobrev 0d6d850e09 Updates related to wedge/prism elements and mixed meshes.
List of changes and additions:

* In class Mesh:
  * Replaced the data fields BaseGeom, BaseBdrGeom, and BaseFaceGeom
    with a new data field: mesh_geoms that is a bitwise mask for all
    Geometry::Types found in the (local) Mesh including entities of
    lower dimensions.
  * The new data field mesh_geoms is set by the method SetMeshGen.
  * Removed the (protected) method InitBaseGeom.
  * Add new methods: HasGeometry, GetNumGeometries, and GetGeometries
    that can be used to query the content of mesh_geoms. Also, added
    class Mesh::GeometryList that can simplify such queries too.
  * The methods GetFaceBaseGeometry, GetElementBaseGeometry, and
    GetBdrElementBaseGeometry no longer have a default value for
    their input parameter (the entity index) and accept only values
    within their respective ranges.
  * Removed the parameter of the method GetRefinementTransforms.
  * Updated the methods PrepareNodeReorder and DoNodeReorder to
    support mixed meshes.
  * In parallel, the data field meshgen is now required to represent
    information about the global mesh - updated relevant ParMesh
    methods.
  * Made any required changes outside of class Mesh due to the above
    changes.
  * Made various tweaks and improvements in the following methods:
      CheckBdrElementOrientation, Mixed2DUniformRefinement,
      Mixed3DUniformRefinement, UniformRefinement, and
      GeneralRefinement.
  * Updated the method PrintCharacteristics to print the types of
    elements, boundary elements and faces used in the mesh.
  * In the method ReadInlineMesh, replace remaining "pri" strings
    with "wedge".
  * In the mesh reader method ReadGmshMesh, recover the term "prism"
    in the comments - it was replaced, unintentionally, I assume,
    by "wedge".

* Add support for refinement of curvilinear mixed meshes:
  * In class FiniteElementSpace, updated the methods:
    GetLocalRefinementMatrices, GetLocalDerefinementMatrices,
    RefinementMatrix, RefinementMatrix_main, as well as class
    RefinementOperator to support mixed meshes.
  * Add two new meshes: star-mixed-p2.mesh and fichera-mixed-p2.mesh
    which represent examples of quadratic mixed meshes in 2D and 3D,
    respectively.
  * Add sample runs in ex1/ex1p using the new quadratic mixed meshes.

* In class Geometry:
  * In the enumeration Type: removed the constant MIXED and added
    new constant: NUM_GEOMETRIES.
  * Add new static data field: DimStart[] that indexes the Types by
    dimension: the Types of dimension 'd' are given by the range
    [ DimStart[d], DimStart[d+1] ).

* In class ParNCMesh, added method GetGhostFaceGeometry that,
  for now, returns Geometry::SQUARE.

* Update the return type of the method DofOrderForOrientation in
  class FiniteElementCollection (and all derived classes) from
  'int *' to 'const int *'.

* Removed the virtual method Element::GetRefinementFlag and made
  the only relevant derived version (in class Tetrahedron),
  non-virtual.

* In class Tetrahedron, added method Init.

* Added FIXME comments for some outstanding issues.

* In the mesh-explorer miniapp:
  * Added option to enable or disable the 'refine' parameter when
    reading a mesh from file.
  * In the 'jitter' menu option, ask the user if the boundary
    nodes should be moved or not.
  * In the 'Print sub-element stats' menu option, count and print
    bad/inverted elements by their Geometry::Type as well.
2018-09-10 14:22:14 -07:00
Stowell, Mark L 40a9f507e0 Merge remote-tracking branch 'origin/master' into prism-dev 2018-09-08 14:55:18 -07:00
Veselin Dobrev b4c143c40d A number of proposed tweaks for merging into prism-dev.
* Removed the fixed low-order finite element classes for wedges.
* Replace more cases of 'int' variables with 'Geometry::Type',
  mainly in class FiniteElement and its derived classes.
* Use constants from BasisType (instead of Quadrature1D) in the
  parameters of the *WedgeElement finite element classes.
* Impose ordering on the construction of some global objects by
  moving them into the same translation unit: specifically, moved
  the objects 'TriangleFE', 'TetrahedronFE', 'WedgeFE', and
  'Geometries' into fem/fe.cpp.
* In switchs on 'Geometry::Type', move the 'Geometry::PRISM' case
  last - just to follow the order in the enumeration.
* Add a new method CoarseFineTransformations::GetPointMatrices
  that simplifies some code that uses CoarseFineTransformations.
* Removed the 'INVALID' and 'MIXED' constants from the enum
  Element::Type.
* Remove the static method Element::GeometryType.
* Tweak some doxygen comments in the classes Embedding and
  CoarseFineTransformations.
* Generate an error if the method Wedge::GetNFaces is called:
  its parameter 'nFaceVertices' does not make sense for wedges.
2018-08-30 16:57:23 -07:00
Veselin Dobrev 3309520ed6 In the ctor for H1_FECollection, allow dim=0 to support point meshes. 2018-08-24 15:21:06 -07:00
Tzanio cb2166b786 minor styling 2018-08-14 14:39:48 -07:00
Stowell, Mark L 82815d2cf4 Verifying order and dimension arguments in FiniteElementCollection base class constructors. 2018-08-14 14:03:42 -07:00
Stowell, Mark L 7442982ac5 Changing "Prism" to "Wedge" in various places. Geometry::Type intentionally left as Geometry::PRISM 2018-07-25 19:51:40 -07:00
Stowell, Mark L 8d4948dc74 Moving Nedelec prism code to a sub-branch 2018-07-24 15:35:41 -07:00
Stowell, Mark L e7f24c66f9 Remove unnecessary assumption 2018-01-30 11:28:48 -08:00
Stowell, Mark L f0b59a7371 Adding first draft of Nedelec basis for prisms 2018-01-26 11:24:41 -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
Tzanio Kolev 0c3d7ad056 Merge branch 'master' into varnurbs-dev 2018-01-10 08:50:37 -08:00
Tzanio 3a8f38437d Merge branch 'master' into tbasis-dev 2018-01-03 15:54:14 -08:00
Tzanio 5a1370aa79 Merge branch 'master' into varnurbs-dev 2018-01-02 11:35:19 -08:00
Veselin Dobrev 72a63f0b49 Make some corrections and simplifications. 2017-12-26 01:58:39 -08:00
Kenneth Weiss b68e022ae4 Bugfix for L2 finite element collections over points.
Point meshes (dim == 0) were not explicitly handled, causing a segfault.
2017-11-30 12:55:26 -08:00
Stowell, Mark L 77d0d01dd0 Adding L2 finite elements for prisms 2017-11-24 15:32:51 -08:00
Veselin Dobrev 5254226cf8 Add some comments plus a few small tweaks. 2017-11-23 15:16:40 -08:00
Stowell, Mark L 2b296192ff Fixing a small oversight 2017-11-22 16:06:29 -08:00
Veselin Dobrev 224851268e Restore backward compatibility for reading and writing NURBS meshes and
solutions. Restore the NURBS meshes in the data directory to use their
original format.

Add a new FiniteElementSpace format for writing variable-order spaces,
currently implemented for NURBS spaces only. Move the reading of FE
space input in a new method: FiniteElementSpace::Load. Add new default
constructor for FiniteElementSpace that should be used with the Load
method.

Add a bunch of const qualifiers in NURBSExtension and NURBSPatchMap.

Extended the method Mesh::DegreeElevate to make it easier to work with
variable-order NURBS meshes.

In class Array, add copy constructors and copy assignment operators.

Add a number of FIXME comments.
2017-11-21 14:35:05 -08:00
Stowell, Mark L 916f400575 Adding H1 and H1Pos finite elements for prisms 2017-11-18 15:43:22 -08:00
Stowell, Mark L 5956e157c1 Switching more occurrences of "int" to Geometry::Type 2017-11-16 10:42:16 -08:00
Tzanio bbf11c5dc0 Merge branch 'master' into tbasis-dev 2017-11-10 17:02:44 -08:00
Tzanio dff0dd0b48 Merge branch 'master' into varnurbs-dev 2017-11-10 16:55:38 -08:00
Stowell, Mark L 201c51b7d1 Adding a piece-wise constant basis for prisms 2017-11-05 19:58:08 -08:00
Stowell, Mark L bec7973784 Starting to add prism support to eltrans and fe_coll 2017-10-31 11:31:35 -07:00