Commit Graph

2757 Commits

Author SHA1 Message Date
Arne Morten Kvarving
28d547c3e4 MxFiniteElement::Jacobian
support for a separate geometry basis. checks length
of the passed vector, if greater than number of bases,
use the last entry for the geometry mapping
2023-09-06 09:21:56 +02:00
Arne Morten Kvarving
004d1927ae ASMuxD(mx): use lrspline instead of geomB in various spots
these ops intends to use the integration basis
2023-09-05 12:38:14 +02:00
Arne Morten Kvarving
8762ec1943 ASMu3D::BasisFunctionCache: make use of bezier extraction optional 2023-09-05 11:51:08 +02:00
Arne Morten Kvarving
89f4191139 ASMu3Dmx: remove unused bezierExtractmx 2023-09-05 11:51:08 +02:00
Arne Morten Kvarving
37aba0ca58 ASMuxD(mx): add an if in ASMuxD basis function cache
this way we avoid duplication of the class in ASMuxDmx
2023-09-05 11:51:08 +02:00
Arne Morten Kvarving
3240697ec0 fixed: wrong array size
this is the main quadrature loop, not the reduced quadrature.
2023-09-05 11:51:08 +02:00
Arne Morten Kvarving
c839e0ac79 ASMu3D::evaluateBasis(2): pass params and vector instead of finite element 2023-09-05 11:51:08 +02:00
Arne Morten Kvarving
dbc2202b5a ASMu3D::evaluateBasis: pass vector instead of finite element and basis index 2023-09-05 11:51:08 +02:00
Arne Morten Kvarving
82ccdc49e3 ASMu3D::constrainFace
use midpoint()
2023-09-05 11:51:08 +02:00
Arne Morten Kvarving
3ad0b872c8 changed: rename ASMmxBase::geoBasis to ASMmxBase::itgBasis
more precise as this represents the basis holding the integration elements
2023-09-05 10:12:26 +02:00
Arne Morten Kvarving
6aeefcd0f0 changed: use PETSC_NULLPTR
for PETSc < 3.19 we define this to PETSC_NULL.
use of PETSC_NULL causes a deprecation warning in 3.19
2023-09-04 20:02:53 +02:00
Arne Morten Kvarving
9014cc6335 changed: use INSTANTIATE_TEST_SUITE_P
INSTANTIATE_TEST_CASE_P causes deprecation warnings with
newer gtest versions
2023-09-04 20:02:53 +02:00
Arne Morten Kvarving
30b7a968d3 bump minimum cmake version to 3.5
and put the cmake_minimum_required before project.
current cmake has removed support for < 3.5 and
tosses a warning if the project statement comes
before the cmake_minimum_required statement
2023-09-03 12:04:59 +02:00
Arne Morten Kvarving
ab100c290d changed: use getBasis in ASMxxD::assembleL2matrices
make it clear that we want the integration and projection bases.
2023-09-01 17:20:42 +02:00
Arne Morten Kvarving
ad7ff2b19e ASMuxDmx: use getBasis(ASM::REFINEMENT_BASIS) where appropriate 2023-09-01 17:20:42 +02:00
Arne Morten Kvarving
d9056a92b2 ASMuxD: use getBasis(ASM::PROJECTION_BASIS) where appropriate 2023-09-01 17:20:42 +02:00
Arne Morten Kvarving
00486b30e8 use getBasis(ASM::PROJECTION) in ASMuxD::refine
and restructure a little to make code more readable.
2023-09-01 17:20:42 +02:00
Arne Morten Kvarving
c3bb2447cd use getBasis(ASM::INTEGRATION_BASIS) in ASMsxDmx::generateFEMTopology()
this makes it a bit clearer what is going on.
introduce a lambda to avoid duplicated code and some generic cleanup
2023-09-01 17:20:42 +02:00
Arne Morten Kvarving
f91a62e372 add tests for unstructured ASM write
also serves as tests for the getBasis implementation
2023-09-01 15:41:44 +02:00
Arne Morten Kvarving
9cf613cbca changed: move ASMuSquare and ASMuCube to separate header
for reuse like in the structured ASMs tests
2023-09-01 15:41:44 +02:00
Arne Morten Kvarving
76a6139bfc changed: no reason to override write in ASMuxDmx
we can just use the ASMuxD implementation
2023-09-01 15:41:44 +02:00
Arne Morten Kvarving
d57ebd0d0c add tests for structured ASM write
also serves as tests for the getBasis implementation
2023-09-01 14:29:10 +02:00
Arne Morten Kvarving
dc7a2e444a changed: unify ASM(Cube|Square) and ASMmx(Cube|Square)
in particular do not call generateFEMTopology in the latter's
constructor.
2023-09-01 14:29:10 +02:00
Arne Morten Kvarving
53f5d1f830 changed: no reason to override write in ASMsxDmx
we can just use the ASMsxD implementation
2023-09-01 14:29:10 +02:00
Arne Morten Kvarving
005f8f24b1 ASMuxDmx: restructure basis establishment
make it (almost) similar to code in structured ASMs
2023-09-01 14:09:00 +02:00
Arne Morten Kvarving
809a650bc4 fixed: avoid cloning in ASMsxDmx
instead point to the shared ptrs. make sure to null ptrs
before ASMstruct wants to delete them.
2023-09-01 14:09:00 +02:00
Arne Morten Kvarving
fdd7b189b1 use a lambda in ASMu3D::getBoundary1Nodes
switch is preferable to ifs
2023-09-01 13:46:14 +02:00
Arne Morten Kvarving
3d6d950474 changed: remove ASMxxD::get(Surface|Volume)
use getBasis instead
2023-09-01 08:51:04 +02:00
Arne Morten Kvarving
957af79433 added: extend getBasis method
allow obtaining additional bases, not just the FE bases
in particular geometry basis and projection basis.
add an enumeration to make things readable
2023-09-01 08:51:04 +02:00
Arne Morten Kvarving
4abf4c64a7 changed: override separateProjectionBasis in ASMxxD(mx)
in preparation for having a separate geometry basis. in that case
we cannot use the geomB pointer to check for equivalence.
also fixes two field mixed formulations with the higher
order basis being the second basis. in that case we are
not projecting on basis 1, but rather on basis 2.
2023-08-29 14:36:03 +02:00
Arne Morten Kvarving
0c2e160d90 rename some variables to make code more readable 2023-08-29 14:34:33 +02:00
Arne Morten Kvarving
9d133d8be1 move refinement basis into ASMLRSpline 2023-08-29 14:05:20 +02:00
Arne Morten Kvarving
b3b3e1fa7a ASMu2D: make createLRNurbs return a shared_ptr directly
no reason to use bare pointers here, they are always put into
a shared_ptr
2023-08-29 14:05:20 +02:00
Arne Morten Kvarving
59ad91c245 rename altProjThreadGroups to proj2ThreadGroups 2023-08-29 14:05:20 +02:00
Arne Morten Kvarving
505d9d9a6c move projection bases into ASMLRSpline 2023-08-29 14:05:20 +02:00
Arne Morten Kvarving
dce989f1c6 changed: remove proj members in ASMs2D and ASMs3D
as these are stored as projB in ASMstruct.
less confusion as there are less member pointers.
2023-08-29 10:52:23 +02:00
Arne Morten Kvarving
086592c2f9 changed: move secondary projection basis into ASMstruct 2023-08-29 10:52:23 +02:00
Arne Morten Kvarving
1d32025671 ASMuxDmx: simplify remapErrors by using elm->midpoint() 2023-08-29 10:12:45 +02:00
Arne Morten Kvarving
bd5609035b changed: rename ASMLRSpline::geo to geomB
to be consistent with ASMstruct. we store it
as a shared_ptr. too many pointers to keep manually
track of. it can be (soon) be a separate object,
one of the FE bases, the projection basis, ...
2023-08-29 09:11:09 +02:00
Knut Morten Okstad
3a4fc9e081 Changed: Second (mostly dummy) argument in read method is removed.
Instead, introducing a separate readBasis method.
2023-08-25 16:43:46 +02:00
Arne Morten Kvarving
0a33cedfc3 changed: introduce a method to obtain first node on integration basis
use this in ASMsxD::getElementCoordinates. we can then
reuse this method in ASMsxDmx
2023-08-25 12:26:26 +02:00
Arne Morten Kvarving
c0b5911549 changed: introduce a method to obtain last node on integration basis
use this in ASMsxD::getParametric[Area|Length|Volume]. we can then
reuse these method in ASMsxDmx
2023-08-25 12:26:26 +02:00
Arne Morten Kvarving
deb2bd53ea fixed: make sure to always set geoBasis
if not we risk getting the wrong setting if we instance
a SIM with e.g. subgrid followed by instancing a SIM with Taylor-Hood.
2023-08-25 11:16:05 +02:00
Arne Morten Kvarving
3e5924ba68 fixed: use correct path
these tests were missing when using Apps/CMakeLists.txt
2023-08-24 11:35:00 +02:00
Knut Morten Okstad
bc066b9336 Changed: Unnecessary copying of bfs.N removed.
Fixed: Debug print in ASMu2D::integrate().
2023-08-15 11:47:15 +02:00
Arne Morten Kvarving
f2f876c77c added: BasisFunctionCache in ASMu3Dmx 2023-08-15 11:47:15 +02:00
Arne Morten Kvarving
730fdca306 added: BasisFunctionCache in ASMu3D 2023-08-15 11:47:15 +02:00
Arne Morten Kvarving
2f676bf6b3 added: BasisFunctionCache in ASMu2Dmx 2023-08-15 11:47:15 +02:00
Arne Morten Kvarving
f2924c1cbd added: BasisFunctionCache in ASMu2D 2023-08-15 11:47:15 +02:00
Arne Morten Kvarving
bffcfa640f added: BasisFunctionCache in ASMs3DmxLag 2023-08-15 11:47:15 +02:00