Commit Graph

2848 Commits

Author SHA1 Message Date
Arne Morten Kvarving
d1356a07cf HDF5Restart: avoid unused lambda captures
these are only used with MPI
2023-10-25 10:15:10 +02:00
Arne Morten Kvarving
53fc5be069 Function.h: remove deprecated unary_function and binary_function
these are deprecated in c++-17 and we do not use any functionality from
them in any case
2023-10-25 10:15:10 +02:00
Arne Morten Kvarving
aa95ce1dd1 BasisFunctionCache: add missing include 2023-10-25 10:15:10 +02:00
Arne Morten Kvarving
12a1b6f08b ASMUtils: avoid unused variable warnings
the loop counters are only used in debug code
2023-10-25 10:15:10 +02:00
Arne Morten Kvarving
0ceb57e206 added: (Tensor|Vec)Func::hessian
returns the second derivatives of the function
2023-10-24 18:21:50 +02:00
Arne Morten Kvarving
c22de7be5a added: (Tensor|Vec)Func::timeDerivative
returns the time derivative of the function
2023-10-24 15:41:24 +02:00
Arne Morten Kvarving
dbcbede16c added: (Tensor|Vec)Func::Gradient
returns the gradient of the function
2023-10-24 10:49:52 +02:00
Arne Morten Kvarving
cf8b5542a1 added: RealFunc::hessian
returns the hessian of the function as a SymmTensor
2023-10-20 13:12:52 +02:00
Arne Morten Kvarving
1f042ee93a added: RealFunc::gradient
returns the gradient of the function as a Vec3
2023-10-20 10:31:22 +02:00
Arne Morten Kvarving
09cf3e55e5 changed: use a common implementation for setNoDims()
add a helper template and specialize this
for the types instead. preparation for upcoming changes
to workaround c++'s inability to partially specialize
member functions
2023-10-19 15:02:18 +02:00
Arne Morten Kvarving
abbf8a2dd1 changed: use a common implementation for deriv/dderiv 2023-10-19 15:02:18 +02:00
Arne Morten Kvarving
48172df260 changed: use a common implementation for evaluate()
this transposes tensor input to column-major order
adjust TensorFuncExpr::deriv / TensorFuncExpr::dderiv accordingly
2023-10-19 15:02:18 +02:00
Arne Morten Kvarving
de3f5b4930 added: allow passing eps(T|X) into EvalMultiFunction 2023-10-19 15:02:18 +02:00
Arne Morten Kvarving
e3cae68a34 ExprFunctions: modernize
use anonymous namespace
2023-10-19 13:07:59 +02:00
Arne Morten Kvarving
2cdfd9f640 ExprFunctions: modernize
use 'override'
2023-10-19 13:07:59 +02:00
Arne Morten Kvarving
8f02d0511e ExprFunction: modernize
use 'using'
2023-10-19 13:07:59 +02:00
Arne Morten Kvarving
574bf77266 ExprFunctions: modernize code
use unique_ptr
2023-10-19 13:07:59 +02:00
Arne Morten Kvarving
367e3fbe6d vector::add: also expose stridey and ofsy 2023-10-17 12:40:53 +02:00
Arne Morten Kvarving
32d7f01872 StabilizationUtils: remove pointless bool return values
use return values instead of out-params
2023-10-16 12:27:14 +02:00
Arne Morten Kvarving
e4e61a9b74 StabilizationUtils::getTauNSPt
use matrix::trace()
2023-10-16 12:27:14 +02:00
Arne Morten Kvarving
b8add08563 StabilizationUtils::getTauPt:
use matrix::norm2()
2023-10-16 12:27:14 +02:00
Arne Morten Kvarving
40508f0e12 StabilizationUtils: some cosmetics 2023-10-16 12:27:14 +02:00
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