Commit Graph
79 Commits
Author SHA1 Message Date
Tzanio 88f84bee59 Merge branch 'master' into varnurbs-dev 2018-01-04 15:11:15 -08:00
Tzanio Kolev 90a31dd3b9 Merge pull request #320 from IdoAkkerman/2darray_save_load_dev
Adding Load/Save and GetRow to array2d [2darray_save_load_dev]
2018-01-04 12:13:35 -08:00
Veselin Dobrev ba733d86b5 When saving/loading Array2D, write/read the number of rows and columns
instead of their product.

A few small tweaks.
2017-12-25 13:15:20 -08:00
Veselin Dobrev 3e29cd2594 In class Array2D, add method DeleteAll; add minimal doxygen doc. 2017-11-27 19:43:07 -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
Jakub Červený 5169393918 Merge branch 'master' into pmatrix-dev 2017-11-17 15:27:41 +01:00
Tzanio 2a55d1bd5d Minor 2017-10-19 13:18:38 -07:00
Ido Akkerman 02cd049021 Adding Load/Save and GetRow to array2d 2017-10-13 11:29:36 +02:00
Jakub Cerveny 658616e066 Improved algorithmic complexity of ParNCMesh::AdjustMeshIds. 2017-10-06 15:22:48 -07:00
Jakub Cerveny dfdbd9f0ee Resolved the message encoding problem. Ex1p on quads now passes the random refinement test. 2017-10-06 13:29:10 -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
Aaron Fisher aa040f3e64 Made everything work with the new mfem::out and mfem::err output. 2017-09-27 15:42:37 -07:00
Aaron Fisher 9a4f78ec65 Changed the global ostream to something that looks more like cout/cerr. Updated the code in the general folder to use the new global ostream as an example. Added a global MPIComm to replace MPI_COMM_WORLD. 2017-09-22 14:34:50 -07:00
gelever 05e40795a0 Fix const correctness of print 2017-08-01 11:12:40 -07:00
Veselin Dobrev cb810a3be2 Merge branch 'master' into ncmesh-mem-opt-dev 2017-03-13 15:51:38 -07:00
Jakub Cerveny be657cd890 Added proper destruction of NCMesh. Fixed destructor of BlockArray. 2017-03-13 15:29:00 +01:00
Veselin Dobrev f7c14eaf57 Various small changes in the BlockArray, HashTable, and NCMesh classes.
In class BlockArray:
* Move the capability to delete elements into the derived class HashTable.
* Rename the methods New() to Append().
* Rename 'Iterator' -> 'iterator' and 'ConstIterator' -> 'const_iterator' and
  updated implementation.
* Add methods begin(), cbegin(), end(), cend().
* In the destructor, call the destructors for all entries.

In class HashTable:
* Add methods: Size(), NumIds(), NumFreeIds(); rename Exists() -> IdExists().
* Overload the inherited iterators to skip unused/free elements.
* Add methods: begin(), cbegin(), end(), cend().

In class NCMesh:
* Add support for deleting entries stored in the 'elements' BlockArray.
* The unused/free entries of 'elements' are marked by setting the data member
  'parent' to -2.
* Add method NCMesh::PrintStats().
2017-03-09 17:34:20 -08:00
Stowell, Mark L 2c46e02692 Adding Print method to Array2D 2017-02-26 16:37:05 -08:00
Veselin Dobrev 3f1b03c952 Added sub-class ConstIterator to class BlockArray.
Fix DenseTensor::MemoryUsage().
2017-02-24 20:17:13 -08:00
Veselin Dobrev 63e733c011 Added some FIXME comments with suggestions/questions. 2017-02-24 12:20:00 -08:00
Jakub Cerveny eca90726ff NCMesh memory optimizations developed internally at LLNL.
Based on commits by Jakub Cerveny:

    Reverted inline-quad.mesh

    make style

    Testing code in ex1 and ex9p

    Mesh vertices are not calculated by NCMesh when Nodes != NULL.

    Optimized NCMesh::element_vertex, the table is now empty for conforming
    meshes.

    WIP reducing size of NCMesh element-vertex table.

    Optimization in NCMesh::FaceSplitType, fewer hash table lookups.

    Fixed ParNCMesh::CalcFaceOrientations

    Fixed face neighbor vertices.

    Fixed Element::parent after loading NCMesh.

    Fixed derefinement.

    Fixed NeighborExpand (needed by Rebalance).

    More ParNCMesh fixes.

    Fixed neighbor calculation.

    WIP more fixes in ParNCMesh.

    WIP fixing ParNCMesh for new NCMesh structs

    NCMesh loading works again.

    Removed NCMesh::GetMidEdgeNodeSimple

    Fixed face management (creation/deletion), broken earlier by new structs.

    Removed NCMesh::Vertex, NCMesh::Edge. We are down to ~290 bytes / element in uniform mesh.

    Removed NCMesh::Vertex::pos, fixed some bugs.

    WIP removing NCMesh::Vertex::pos

    Fixed bug introduced by data structure changes.

    Removed member NCMesh::Edge::attribute

    Finished converting NCMesh to new data structures.

    WIP changing the NCMesh data structures, everything is a bit of a mess.

    BlockArray is now a base of HashTable

    WIP: modified HashTable methods for the new pointer-less data, improved
    BlockArray.

    WIP updating HashTable for a new underlying storage (BlockArray)

    Added class BlockArray, a generic block allocator/array.

    Updated memory usage calculations in NCMesh.
2017-02-13 18:41:40 -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 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