Commit Graph

2826 Commits

Author SHA1 Message Date
Arne Morten Kvarving
5be5c5fb1b EqualOrderOperators: cosmetics
also use MxV instead of loops in WeakOps::Divergence and ResidualOps::Divergence
2023-10-16 09:01:41 +02:00
Arne Morten Kvarving
1d503ac1c8 ExprEval: update log of ifem changes 2023-10-11 08:52:55 +02:00
Arne Morten Kvarving
d64d2c642c ExprEval: add tests for auto-differentiation 2023-10-11 08:52:55 +02:00
Arne Morten Kvarving
327a855d1b expreval: make all classes a template over a scalar
instance for double and autodiff::Variable<double>
2023-10-11 08:52:55 +02:00
Arne Morten Kvarving
c9c13d888c import 'autodiff' third party library
this is version v1.0.3
2023-10-11 08:52:55 +02:00
Arne Morten Kvarving
a8a4cd780e added: allow explicitly specifying time derivative of function 2023-09-26 08:33:06 +02:00
Arne Morten Kvarving
72f9748aa1 changed: rename EvalFunc::derivative to EvalFunc::addDerivative
consistent with EvalFunction and more descriptive of what it does
2023-09-26 07:58:02 +02:00
Knut Morten Okstad
d1e222590b Fixed: Deactivate multi-threading for patches with rigid couplings 2023-09-25 21:13:04 +02:00
Knut Morten Okstad
7c0d5e8ee6 Changed: Use findBoundaryElms() when setting up boundary thread groups
Fixed: Override findBoundaryElms() for ASMs2DLag and ASMs3DLag.
2023-09-25 21:13:04 +02:00
Knut Morten Okstad
038e4bbe78 Changed: Method getEdgeNodes() is removed (using getBoundaryNodes() instead).
Added: Sanity checking on lIndex argument in getBoundary[Nodes|Elms]().
Added: Static helper getEdgeEnum().
2023-09-25 21:13:04 +02:00
Knut Morten Okstad
81bd53234c Changed: Use getBoundaryNodes() instead of getFaceNodes() which is removed.
Added: Sanity checking on lIndex argument in getBoundary[Elms|Nodes]().
Fixed: Calculation of u,v parameters in ASMu3D::getBoundary1Nodes().
2023-09-25 21:13:04 +02:00
Knut Morten Okstad
161a3f3c74 Changed: ASMbase::getBoundaryElms() can optionally return patch-local element indices 2023-09-25 21:13:04 +02:00
Arne Morten Kvarving
55184edfef ASMsxDmx::evalSolution: support separate geometry 2023-09-25 07:45:08 +02:00
Knut Morten Okstad
dbfb741a62 Changed: Remove "with grading" printout when explicit knots 2023-09-20 06:23:54 +02:00
Arne Morten Kvarving
f131400ec8 changed: use BasisFunctionValues also in boundary integrals
this allows simplifying the MxFiniteElement::(Hessian|Jacobian) methods.

add a type alias and a helper class to make it convenient.
2023-09-19 14:45:31 +02:00
Arne Morten Kvarving
1e96b51374 added: extract a sub-block of a matrix 2023-09-18 08:01:43 +02:00
Arne Morten Kvarving
4865cc317b added: allow specifying offset and stride for vector in add 2023-09-18 08:01:43 +02:00
Arne Morten Kvarving
d50328df50 cleanup ASMuxDmx::evalSolution
- use getElementsAt
- no reason to have a vector of evaluation objects
2023-09-16 10:20:57 +02:00
Arne Morten Kvarving
dca21c8856 changed: establishing RT basis now uses order lowering
does not make sense to use order raising since the geometry
needs to be the highest order
2023-09-11 11:54:33 +02:00
Arne Morten Kvarving
eaefc70d26 simplify establishment of subgrid basis
use adjustBasis()
2023-09-11 11:54:33 +02:00
Arne Morten Kvarving
96ddcfe9d4 ASMmxBase: rename raiseBasis to adjustBasis
take an array of AdjustOps for what to do
in each parameter direction
2023-09-11 11:54:33 +02:00
Arne Morten Kvarving
5dae005582 changed: use adjustBasis in ASMmxBase::raiseBasis
for surfaces and volumes
2023-09-11 11:54:33 +02:00
Arne Morten Kvarving
5bfae73494 added: utility function to lower/raise order of a Bspline basis
and tests
2023-09-11 11:54:33 +02:00
Arne Morten Kvarving
a9096e5333 TestSplineField(s): avoid memory leaks 2023-09-08 14:59:18 +02:00
Arne Morten Kvarving
475bf496c9 changed: use ASM(mx)u(Cube|Square) in TestLRSplineField(s)
similar to the tensor spline tests
2023-09-08 14:59:18 +02:00
Arne Morten Kvarving
66bac83978 remove ASMu3D::getParametricVolume
method is not used
2023-09-08 12:58:14 +02:00
Arne Morten Kvarving
309f57fb64 ASMuxDmx::swapProjectionBasis: move to ASMLRSpline
now there are no differences between the classes so let's unify.
also a step in making functionality available for non-mixed ASMs,
although there is more work before that is supported.
2023-09-08 12:58:14 +02:00
Arne Morten Kvarving
aff5742171 changed: move thread group variables to ASMLRSpline
all groups now makes sense for 2D/3D, and will make
sense for non-mixed as well eventually.
2023-09-08 12:58:14 +02:00
Arne Morten Kvarving
10c1834056 remove ASMu3D::myGeoBasis - now unused 2023-09-08 12:58:14 +02:00
Arne Morten Kvarving
09fbaf5ec4 ASMu3Dmx: use projection spline for geometry with DIV_COMPATIBLE 2023-09-08 12:58:14 +02:00
Arne Morten Kvarving
f79604e61a ASMu3Dmx: use original spline for geometry with SUBGRID 2023-09-08 12:58:14 +02:00
Arne Morten Kvarving
e3caca11eb ASMu3D::evalPoint: use geometry basis 2023-09-08 12:58:14 +02:00
Arne Morten Kvarving
494a8df6b8 ASMu3D::faceL2projection: add support for a separate geometry basis 2023-09-08 12:58:14 +02:00
Arne Morten Kvarving
0576f121b0 ASMu3Dmx::assembleL2matrices: support for a separate geometry basis 2023-09-08 12:58:14 +02:00
Arne Morten Kvarving
9f399aa78d ASMu3Dmx::evalSolution: add support for a separate geometry 2023-09-08 12:58:14 +02:00
Arne Morten Kvarving
c97035a749 ASMu3Dmx::integrate: add support for a separate geometry basis 2023-09-08 12:58:14 +02:00
Arne Morten Kvarving
be59cecf9b ASMu3D::getElementCoordinates: support a separate geometry basis 2023-09-08 12:58:14 +02:00
Arne Morten Kvarving
fd9e17bacb changed: drop ASMu2D::getParametricArea
just use LR::Element::area directly
2023-09-08 08:57:07 +02:00
Arne Morten Kvarving
47af45a21e ASMu2Dmx: use projection spline for geometry with DIV_COMPATIBLE 2023-09-08 08:57:07 +02:00
Arne Morten Kvarving
07bd00da2d ASMu2Dmx: use original spline for geometry with SUBGRID 2023-09-08 08:57:07 +02:00
Arne Morten Kvarving
772704b401 ASMu2D::evalPoint: use geometry basis 2023-09-08 08:57:07 +02:00
Arne Morten Kvarving
860a8a31e9 ASMu2D::edgeL2projection: add support for a separate geometry basis 2023-09-08 08:57:07 +02:00
Arne Morten Kvarving
fec1cac3eb ASMu2Dmx::evalSolution: add support for a separate geometry 2023-09-08 08:57:07 +02:00
Arne Morten Kvarving
0d73f3fa83 ASMu2Dmx::assembleL2matrices: support for a separate geometry basis 2023-09-08 08:57:07 +02:00
Arne Morten Kvarving
a0e1433dd3 ASMu2Dmx::integrate: add support for a separate geometry basis 2023-09-08 08:57:07 +02:00
Arne Morten Kvarving
0c625b614e ASMu2D::getElementCoordinates: support a separate geometry basis 2023-09-08 08:57:07 +02:00
Arne Morten Kvarving
1de184cbfa ASMs2D::evalPoint: use geometry basis 2023-09-08 08:25:30 +02:00
Arne Morten Kvarving
91959fdf27 ASMs3D::evalPoint: use geometry basis 2023-09-08 08:25:30 +02:00
Arne Morten Kvarving
7ebdd7acab SplineUtils::point: pass spline as const 2023-09-08 08:25:30 +02:00
Arne Morten Kvarving
0f93b98fce ASMsxDmx::swapProjectionBasis: move to ASMstruct
now there are no differences between the classes so let's unify.
also a step in making functionality available for non-mixed ASMs,
although there is more work before that is supported.
2023-09-08 08:25:30 +02:00