Commit Graph
23 Commits
Author SHA1 Message Date
Tzanio Kolev d983b34924 Renamed ftype -> real_t 2023-12-13 12:51:43 -08:00
Dylan Copeland b89222762d Generalized floating point type for all remaining examples. 2023-11-06 15:34:42 -08:00
Will Pazner 6ac671baa7 Use Mpi class instead of MPI_Init and MPI_Finalize 2022-03-11 17:58:01 -08:00
Tzanio 8f7cb0b3db Switch to a singleton for the hypre session object: 'HYPRE_Session hypre;' -> 'Hypre::Init();' 2022-03-08 18:06:43 -08:00
Tzanio 447f00d80b Added a HYPRE_Session class to hypre.?pp and examples/miniapps 2022-03-07 14:22:22 -08:00
Veselin Dobrev 785486f12f Update examples, miniapps, tests to use HYPRE_BigInt instead
of HYPRE_Int where appropriate.
2020-07-25 20:47:06 -07:00
Tzanio 661a52077d Updated examples 2020-03-29 12:37:43 -07:00
William F Godoy 9c379891bf Resolving conflicts with latest master 2020-03-18 09:41:46 -04:00
Veselin Dobrev e1186f4781 Yet another update of a random seed in ex12p.
In ex13p, in one of the sample runs, find 4 eigenvectors (instead of
5) to avoid a failure in LOBPCG.
2020-01-13 20:13:15 -08:00
Veselin Dobrev 0cdb33fe95 Another update of the random seed in ex12p. 2020-01-10 13:36:01 -08:00
Veselin Dobrev 0a024af85e Update the random seed for one of the sample runs in ex12p. 2020-01-09 19:10:57 -08:00
Jakub Červený 52be4032e9 Changed random seed because of different triangular refinement. 2020-01-09 11:58:32 +01:00
Veselin Dobrev a926e9151d In ex12p.cpp, update the random seeds in some of the sample runs
to avoid getting spurious eigenvalues or convergence failures.
2019-11-14 20:24:57 -08:00
Veselin Dobrev da2fb88a17 Improved uniform refinement of tetrahedral meshes
In class Mesh/ParMesh:
  * Move the serial implementation of UniformRefinement3D to a new
    method: UniformRefinement3D_base. The implementations of the virtual
    method UniformRefinement3D (which now have no parameters) use the
    new UniformRefinement3D_base method.
  * In UniformRefinement3D_base, implemented two algorithms for choosing
    how to split the middle octahedron when refining a tetrahedron by
    cutting off its four corner tets. (These four tets have the same
    shape as the original tet and half the edge-length.) The choice of
    the algorithm is hard-coded in a const variable for now.
  * Add an optional parameter to UniformRefinement which is used to
    choose how to refine tet-only meshes: the default choice is to use
    the new algorithm defined by UniformRefinement3D; the second option
    is to use the old default - call LocalRefinement (marking all
    elements) to perform 3 levels of bisection. The new algorithm
    always produces elements with better shape (aspect ratio) than the
    old default (at least for the meshes in the data/ directory and a
    few other meshes).
  * Make the method Finalize virtual - its implementation in parallel
    requires updates in the ParMesh data.
  * Add a consistency check in ParMesh::ReorientTetMesh that verifies
    the assumption made in the method about the update of the shared
    triangles.
  * Simplify implementation of some methods in class ParMesh by
    separating common code in a new protected method: FinalizeParTopo.

Other updates:
  * In the examples and miniapps, when using a tet-only mesh which is
    first refined uniformly and then locally, it is now necessary to
    call the method Mesh::Finalize(true) (which is now virtual) in order
    to mark the elements for local refinement after the uniform
    refinement.
  * In example 12p, use better random seed values.
  * In examples 3/3p, add a sample run with order=2 on a tet mesh - this
    will test the methods {Mesh,ParMesh}::ReorientTetMesh. Previously,
    these were only tested by one sample run in example 4p.
  * In the mesh-explorer miniapp, add a refinement option to perform
    uniform refinement of tet-only meshes using bisection.
  * In the MFEM_LOCATION macro print the <file> and <line> location
    using a standard format: <file>:<line>, as used by most compilers
    when reporting warnings and errors.
  * Remove FIXME comments about mesh format v1.0.1.
2018-09-27 21:04:58 -07:00
Stowell, Mark L 400e6fc422 Adding sample runs with mixed or wedge meshes 2018-09-13 15:35:53 -07:00
Veselin Dobrev 5ae1cef9cf Merge branch 'master' into varnurbs-dev 2018-01-08 23:46:46 -08:00
Veselin Dobrev 089c03576c Adjust a few sample runs to get rid of LOBPCG errors (ex12p) and
warnings about empty partitions (ex18p).
2017-12-17 21:21:04 -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
Tzanio e6c4c90067 make style 2017-09-16 11:55:23 -07:00
Ido Akkerman 12147db8ba Fixing ex12p
Signed-off-by: Ido Akkerman <I.Akkerman@tudelft.nl>
2017-09-16 14:48:28 +02:00
Veselin Dobrev af3965e851 In example 12p, add a command line option for the random seed used in
LOBPCG.
2017-03-25 21:26:42 -07: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