Commit Graph

2379 Commits

Author SHA1 Message Date
Knut Morten Okstad
5c5fd25b42 Added: Class for supporting modal time integration 2019-11-06 07:08:34 +01:00
Knut Morten Okstad
a278eba61e Added: Class for diagonal system matrices 2019-11-06 07:07:20 +01:00
Knut Morten Okstad
0dc1c9cbce Fixed: Incorrect sanity check correction.
It turns out I was wrong in e3da110cb9.
The check should instead use the number of coefficient in the patch,
which will work both for mixed and regular problems.
The check against MLGN.size() is still needed as a secondary condition,
in case of dirichlet conditions in local axes (with extra nodes around).
2019-11-04 18:44:58 +01:00
Arne Morten Kvarving
44c9a5a7be added: support for implicit LMM methods 2019-11-04 13:01:20 +01:00
Arne Morten Kvarving
a20f7062e3 changed: introduce a virtual NonLinSIM::assembleSystem
allow for overriding how the linear system is assembled.
2019-11-04 13:01:20 +01:00
Arne Morten Kvarving
1bdfec61cd fixed: missing AB1 support 2019-11-04 13:01:20 +01:00
Arne Morten Kvarving
e3da110cb9 changed: adjust sanity check in ASMxD::updateCoords
for mixed discretizations there are additional fields present.
to avoid failing in this case, accept any vectors of sufficient size
instead of putting a requirement on the exact length.
2019-10-28 13:40:20 +01:00
Arne Morten Kvarving
63c8f976b3 changed: use extractPatchSolution for updateGrid with mixed
use of an additional MADOF is required
2019-10-28 12:23:19 +01:00
Knut Morten Okstad
07ee6e7059 Fixed: Sum over all processors in partitioned parallel runs 2019-10-26 16:29:09 +02:00
Knut Morten Okstad
63301d0d10 Added: Virtual method haveContributions in GlobalIntegral
to enable skipping patches based on property codes
2019-10-25 19:50:02 +02:00
Knut Morten Okstad
5723123060 Added: Class for integration of reaction forces for linear problems 2019-10-25 18:52:23 +02:00
Knut Morten Okstad
32e2418208 Fixed: Removed the 0.5 scaling factor in SAM::normReact.
Added: Method to check whether we have reaction forces in the model.
Added: SIMbase::getNoConstraints() and SAM::getNoConstraints().
Changed: Removed unused SAM-methods and de-virtualized some others.
2019-10-25 18:18:59 +02:00
Arne Morten Kvarving
58bbc1f0ae added: handle multiple right hand sides in umfpack solve 2019-10-25 09:53:42 +02:00
Knut Morten Okstad
c71ced943f Fixed: Wrong input to an evalPoint call when calculating element center.
Added: Implementation of ASMu2D::constrainNode searching for matching nodes.
This works (although not that efficiently) for interpolatory C0-points,
and is handy for doing adaptive analysis of the single-patch L-shape, etc.
2019-10-25 07:42:39 +02:00
Knut Morten Okstad
c21ec8a96e Added: virtual method evalSol2 and non-virtual IntegrandBase::evalSol1.
The latter method can be used when the secondary solution depends on
the first primary solution vector only (which covers most cases).
Then the integrand can override the evalSol2 method instead of evalSol
such that they don't need to deal with the element-level extraction
of solution vectors themselves (the default evalSol will do it).
Also extended the doxy for the initElement and evalSol methods.
2019-10-25 07:42:39 +02:00
Knut Morten Okstad
2264e8de49 Fixed: Minor doxygen issues, need blank lines here 2019-10-25 07:42:39 +02:00
Knut Morten Okstad
24ab9e6503 Changed: The enum for system matrix type is now in LinAlgEnums.h
and we don't need a separate system vector type as
it is directly linked to the specified matrix type.
Added: Option to use UMFPACK in the L2-projection.
2019-10-25 07:42:39 +02:00
Knut Morten Okstad
a7b9bd3137 Changed: Put the linear system type flag inside LinSolParams.
Changed: The ProcessAdm member/argument is now a pointer.
2019-10-25 07:42:39 +02:00
Arne Morten Kvarving
37bd9c0804 add test for eigen solvers 2019-10-24 13:55:09 +02:00
Arne Morten Kvarving
fc38e96b3b added: full support for schur-complement block preconditioners
previously only the SIMPLE (i.e. diagonal of A) approximation was
possible. now, any approximation can be used for A^-1.
2019-10-24 12:53:38 +02:00
Knut Morten Okstad
4cc284a298 Changed: Use ItgPoint instead of FiniteElement in Field unit tests.
Moved the ASMSquare and ASMCube definitions to separate header files
to enable reuse in other tests. There was a bug in ASMCube also.
2019-10-19 11:58:49 +02:00
Knut Morten Okstad
70176f1408 Added: Class ItgPoint representing an integration/evaluation point,
the class FiniteElement then inherits ItgPoint.
Changed: All valueFE methods use ItgPoint instead of FiniteElement.
2019-10-19 11:50:21 +02:00
Arne Morten Kvarving
a02a9a0251 added: support for explicit linear multistep methods 2019-10-18 16:26:06 +02:00
Knut Morten Okstad
a4a172a50e Added: Support for function types StepY and StepZ 2019-10-16 18:25:32 +02:00
Knut Morten Okstad
61ebde8bc6 Added: Tweak to constrain extra nodes around a corner using dof > 1000 2019-10-16 18:25:20 +02:00
Knut Morten Okstad
61604f40a2 Changed: Dramatically improved the efficiency of the immersed boundary
calculations when the Alpha function is a spline field, by passing Point
objects also including the spline parameters as argument instead of just
the Cartesian coordinates. Thereby avoiding the costly closestPoint calls.
2019-10-16 18:25:20 +02:00
Knut Morten Okstad
cd41ae12da Added: Method getCornerPoints returning an array of Point objects 2019-10-16 18:25:20 +02:00
Knut Morten Okstad
b3cb324f11 Added: class utl::Point as a Vec4 sub-class with internal storage of
the spline parameters. Otherwise it should work as a Vec4 instance.
2019-10-16 18:25:20 +02:00
Knut Morten Okstad
53533aaa97 Added: Support for function-defined immersed boundaries 2019-10-16 18:25:20 +02:00
Knut Morten Okstad
bcc7754b36 Changed: Override the getNoNodes method such that it works also
before the finite element topology is generated for the patch.
Added: Method to print out patch-level element topology.
Added: Virtual method ASMbase::setGeometry.
2019-10-16 18:25:20 +02:00
Knut Morten Okstad
bbe2349d46 Added: New class FieldFuncStream 2019-10-16 18:25:20 +02:00
Knut Morten Okstad
c6add776c7 Added: Class for immersed boundary through a scalar function 2019-09-29 07:40:54 +02:00
Knut Morten Okstad
00934a726f Changed: The old FieldFuncBase class is split into two classes 2019-09-26 10:03:22 +02:00
Knut Morten Okstad
870df942d8 Fixed: Memory leak due to not deleting the dynamic Finert object 2019-09-25 21:51:22 +02:00
Knut Morten Okstad
6cc040c84b Fixed: Avoid crash in maxVal calculations when no VTF 2019-09-24 20:44:54 +02:00
Knut Morten Okstad
4df9a964c9 Fixed: Invoke initResultPoints() with negative time in project().
This is used to signal to the integrand that we are going to
do numerical integration and not just result evaluation.
The initResultPoints call was added in commit 5f5d792 in 2016
to clear the principal stress values buffers, with the side effect
that global L2 projection failed for models with plasticity.
Changed: Made setPatchMaterial const to avoid const_casting elsewhere.
Changed: Minor doxy-issues for extractPatchSolution.
2019-09-24 20:43:25 +02:00
Arne Morten Kvarving
f8d3af7405 added: linear parameter in SIMExplicitRK
set this to mark operator as linear. this disables
repeated assembly, and reuses factorization if a LU
solver is utilized.
2019-08-16 12:49:00 +02:00
Arne Morten Kvarving
d6becd43ec added: standalone setting in SIMExplicitRK
for controlling output to terminal
2019-08-16 12:49:00 +02:00
Knut Morten Okstad
7c018528c5 Added: Option to preserve the sign in utl::vector::normInf().
Changed: Compute patch-wise maximum values.
2019-08-12 16:43:27 +02:00
Knut Morten Okstad
55477a27bf Added: Optionally specify initial condition and restart files as value, not only as "file" attribute 2019-08-12 11:34:19 +02:00
Knut Morten Okstad
55223b6387 Added: Allow "type" attribute in the function output tag.
Changed: More range-based for loops when processing patches.
2019-08-12 11:34:19 +02:00
Arne Morten Kvarving
872d8ef4c1 added: test for triangle quadrature 2019-08-12 10:16:15 +02:00
Arne Morten Kvarving
7df83edfda fixed: 4 point triangle quadrature rule 2019-08-12 10:16:15 +02:00
Arne Morten Kvarving
fb4b69dc1e fixed: index check
we only dereference the second entry, so no reason to require
size to be 3
2019-08-09 15:13:07 +02:00
Arne Morten Kvarving
48a2f6ad68 added: also store the eigen modes in equation ordering
so we can output these to hdf5. these are required when doing reduced
order models. this makes it easy to obtain them without having to use
hackery every time.
2019-08-09 11:51:15 +02:00
Arne Morten Kvarving
090fa02d33 fixed: ISTL(Matrix|Vector) copy constructors
need to call base class cc's
2019-08-09 10:28:45 +02:00
Arne Morten Kvarving
a30a3568dd added: accessor PETScMatrix::getIS 2019-07-31 13:33:53 +02:00
Arne Morten Kvarving
5c4f0f6bd7 added: option to disable cppcheck 2019-07-17 12:13:41 +02:00
Arne Morten Kvarving
eab0a41065 fixed: properly setup state in some unit tests
when we run through the IFEM-test executable, the state
is shared between tests so we have to explicitly set
these values.
2019-07-10 10:56:32 +02:00
Arne Morten Kvarving
af6a7d2b77 added: option to disable cppcheck 2019-07-10 10:56:32 +02:00