Commit Graph

2606 Commits

Author SHA1 Message Date
Knut Morten Okstad
0bdc5d53c4 Changed: Moved some methods related to adaptive simulation
from SIMoutput to SIMgeneric such that SIMoutput only deals
with result output, and not much else. Retained virtual
interfaces for some methods that are used by AdaptiveSIM.
2019-12-18 16:15:57 +01:00
Knut Morten Okstad
48d8fc58ac Fixed: Resizing the rectangular search box for elements in domain.
Added: Option to search for domain elements containing (or close to)
the reference point, instead of using a rectangular box.
2019-12-18 16:15:57 +01:00
Knut Morten Okstad
54a1ff98a9 Added: Another constructor and some operators for the Point class.
Changed: ElementBlock::getCenter now returns an utl::Point object.
2019-12-18 16:15:57 +01:00
Knut Morten Okstad
1ca7f9cc13 Fixed: Wrong weighting with the dual solution error estimates 2019-12-18 16:15:57 +01:00
Knut Morten Okstad
d6f0f0896c Added: virtual method FunctionBase::getType() 2019-12-18 16:15:57 +01:00
Knut Morten Okstad
de6fa008f0 Added: Extraction function for point-wise stress evaluation.
Changed: Don't have to use getPatch() when the patch index argument
is a local index which clearly is within the valid range,
then address myModel directly instead.
Also a few more range-based for loops.
2019-12-18 16:15:57 +01:00
Knut Morten Okstad
1ad4bad425 Added: Support separate projection basis in 3D.
Fixed: Move evalProjSolution implementations to ASMs3D and ASMu3D.
2019-12-07 09:12:24 +01:00
Arne Morten Kvarving
1ec2e04734 Unify ASMs3D(mx)::assembleL2matrices and ASMu3D(mx)::assembleL2matrices 2019-12-07 09:12:24 +01:00
Arne Morten Kvarving
8597b5079e Changed: Move projection basis handling from ASMs3Dmx and ASMu3Dmx
to ASMs3D and ASMu3D, respectively
2019-12-07 09:12:24 +01:00
Knut Morten Okstad
4c46adf008 Added: Some tests for HHTSIM.
Fixed: A sign error in the HHTSIM documentation.
2019-11-24 07:06:38 +01:00
Knut Morten Okstad
a080899d4b Added: Support for explicit damping matrix and associated force vector 2019-11-24 07:06:38 +01:00
Knut Morten Okstad
35873f6e97 Changed: Removed need for a dummy integrand in some unit tests 2019-11-24 07:06:38 +01:00
Knut Morten Okstad
edd1326162 Added: Simple two-dof Newmark test with discrete damper 2019-11-24 07:06:38 +01:00
Knut Morten Okstad
523245dec6 Fixed: Consistently handling empty or shorter element vector than expected.
Silently ignore it instead of error message and segmentation fault.
2019-11-24 07:06:38 +01:00
Knut Morten Okstad
1b9e564286 Changed: Quasi-static modal simulation when beta=0 2019-11-21 16:28:42 +01:00
Knut Morten Okstad
56fe8b0530 Fixed: Result point evaluation for multi-patch models.
Since the result points are evaluated patch-wise, we need
to augment the results values of each patch to get the total.
2019-11-13 20:08:32 +01:00
Knut Morten Okstad
6ae9c5645c Changed: Dynamically allocate the ControlFIFO object when needed
instead of an always present static member in IFEM
2019-11-13 20:08:32 +01:00
Arne Morten Kvarving
89232a542d fixed: use proper basis for evaluation in regularInterpolation 2019-11-12 12:33:17 +01:00
Knut Morten Okstad
17247b8987 Fixed: Zero out the patch-wise solution vector in extractPatchSolution
when the corresponding global vector is zero or absent.
Also some more range-base for loops here and there where convenient.
2019-11-09 08:36:16 +01:00
Knut Morten Okstad
09f847ecd2 Added: Visualization of result points as small cubes 2019-11-08 09:00:08 +01:00
Knut Morten Okstad
86cfb5dd42 Added: Private helper initPatchForEvaluation() and protected method
evalResults() in SIMoutput. Use this in the dumpResults() method.
2019-11-08 08:51:30 +01:00
Knut Morten Okstad
a9177f403e Added: Account for element damping matrix as the fourth matrix.
Added: Modal damping when either alpha1 or alpha2 is given.
Added: Check that the expanded solution array size is unchanged.
2019-11-08 08:51:30 +01:00
Knut Morten Okstad
ca33d16233 Added: virtual method SystemMatrix::mult for scaling a system matrix.
Added: SIMbase::getRayleighDampingMatrix() and Mode::computeDamping().
2019-11-08 08:51:30 +01:00
Knut Morten Okstad
874dd6e4c6 Added: virtual method SIMmodal::projectModes 2019-11-06 07:08:34 +01:00
Knut Morten Okstad
1ec7fcf2a8 Added: MultiStepSIM::checkForRestart and serialization of eigenmodes 2019-11-06 07:08:34 +01:00
Knut Morten Okstad
4c9bb55396 Added: virtual methods realSolution(s) in MultiStepSIM.
This facilitates that the actual solution vectors to be used for post-
processing are not the same as used during the time integration itself.
2019-11-06 07:08:34 +01:00
Knut Morten Okstad
0691d09a9e Added: Extraction of system matrices and orthonormalization of modes 2019-11-06 07:08:34 +01:00
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