- 18 Dec, 2019 22 commits
-
-
Marcus Mohr authored
Removes wrong duplicated code that was introduced while fixing a merge during a rebase on master.
-
Marcus Mohr authored
* The source file for the P2MassOperatorTest is relocated to operators sub-directory and renamed to MassOperatorTest.cpp. The reason is that we now use the file to also test P1 operators. * For the same reason the P1MassOperatorTest.cpp is removed.
-
Marcus Mohr authored
-
Marcus Mohr authored
We now can ask also a P1FenicsForm to compute and hand back the full local element matrix.
-
Marcus Mohr authored
The commit implements the missing setup of the diagonal operator values, i.e. the central stencil weights, for the case of a 3D simulation with the P2ElementwiseOperator. Still needs testing, though.
-
Marcus Mohr authored
We add a setToZero() method to the following functions - VertexDoFFunction (aka P1Function) - EdgeDoFFunction - P2Function The method differs from calling interpolate() with a zero constant in the sense that setToZero() will also set all DoFs in the halos of the primitives to zero, while interpolate() only touches interior DoFs. The new method is currently used by the P2ElementwiseOpertor.
-
Marcus Mohr authored
-
Marcus Mohr authored
- The apply() method now also works correctly for 3D settings and we include the P2ElementwiseMassOperator now in the 3D test runs of the P2MassOperatorTest. - EdgeDoFIndexing now provides an additional functional getEdgeDoFDataIndicesFromMicroCellFEniCSOrdering() which is used in the 3D apply. Need to generalise our approach, once we also have our own P2Forms with maybe different local DoF numbering. - Removed them superfluous members of the P2ElementwiseOperator class and made computeDiagonalOperatorValues() a public method. - P2FenicsForm now provides integrateAll() which returns the complete local element matrix. - In PointND we now also typedef a Point10D, for our local vectors in the case of a P2Tet. TODO: Implement computeDiagonalOperatorValues() for 3D setting
-
Marcus Mohr authored
This commit adds a minimal test for iterating over all micro-cells in a macro-cell and getting the indi9ces of vertex and edge dofs associated with a micro-cell. The test is not very sophisticated. So it will probably not be sufficient to assure correctness, but at least should help avoiding regressions.
-
Marcus Mohr authored
* The map CellTypeToStr allows to convert variables of the enum type CellType, such as e.g. BLUE_UP, to a string. * vertexdof::getVertexDoFDataIndicesFromMicroCell() returns the data indices, i.e. for accessing the dof values, of all four vertex dofs associated with a micro-cell inside a macro-cell. * edgedof::getEdgeDoFDataIndicesFromMicroCell() returns the data indices, i.e. for accessing the dof values, of all six edge dofs associated with a micro-cell inside a macro-cell.
-
Marcus Mohr authored
-
Marcus Mohr authored
-
Marcus Mohr authored
The P2MassOperatorTest will now also perform tests for two 3D meshes. Currently we only run this for the P2ConstantOperator, as the P2Elementwise is missing implementations for cells, yet.
-
Marcus Mohr authored
-
Marcus Mohr authored
- apply() method now respects the passed flag parameter and hands it on towards communicateAdditively(). Also we no longer update halos after the additive communication, - computeDiagonalOperatorValues() now accepts another parameter called invert so that we can store also the inverse of the central stencil value. This is now done for diagonalValues_ if needsDiagEntries is set to true in the constructor. - The commit significantly simplifies the implementation of Jacobi smoothing, as this now only triggers other methods and no longer performs computations of its own. It is now only based on - apply() - assign() - multElementwise() Thus, once apply() works for 3D so should Jacobi smoothing.
-
Marcus Mohr authored
The test now allows to supply different operators for P2 functions. We can also combine different mass and laplace operators, such as P2ElementwiseMassOperator and P2ConstantLaplaceOperator.
-
Marcus Mohr authored
-
Marcus Mohr authored
It is no longer possible or necessary to pass the primitives to skip in the constructor of a P2Function. Commit adapts test accordingly. It also makes the test a little bit more verbose.
-
Marcus Mohr authored
-
Marcus Mohr authored
This commit implement an invertElementwise() method for the low-level VertexDoFFunction and EdgeDoFFunction classes. It extends the corresponding function tests and adds an invertElementwise() method to the P2Function class.
-
Marcus Mohr authored
This commit adds a new operator type that, like the old P1ElementwiseOperator that we had in the past, is based on a different paradigm than the other operators. Instead of working stencil-based it operates in an elementwise fashion, i.e. we locally apply the element matrices to element-local vectors. For this the P2FenicsForm class has a new integrateAll() method that hands back the complete local element matrix. The P2ConstantMassOperatorTest is changed to a P2MassOperatorTest as it now also, successfully, tests the P2ElementwiseMassOperator. Note: This is still work in progress; there are some issues with the additive communication (see issue #111 in this context) and we can only do 2D so far.
-
Marcus Mohr authored
-
- 12 Dec, 2019 3 commits
- 11 Dec, 2019 6 commits
- 09 Dec, 2019 8 commits
- 06 Dec, 2019 1 commit
-
-
Nils Kohl authored
-