Arne Morten Kvarving
a4acd0efac
added: support dune-istl >= 2.7
2022-05-11 10:52:02 +02:00
Arne Morten Kvarving
6bbe09a312
fixed: add missing initializers
2022-05-10 11:32:16 +02:00
Arne Morten Kvarving
b2707a8137
changed: make SIMbase::project virtual
...
needs to allow overriding in subclasses for when
implementing support for alternative projection bases
2022-05-10 11:32:16 +02:00
Arne Morten Kvarving
459463878a
introduce support for an alternative projection basis
2022-05-10 11:32:16 +02:00
Arne Morten Kvarving
1d88adf5af
added: getProjectedField
...
this returns a scalar field over the projection basis
with the given coefficients.
2022-05-10 11:32:16 +02:00
Arne Morten Kvarving
fa73096ebe
changed: remove support for subgridH
...
no longer needed, pressure and velocity are
projected on separate bases now
2022-05-10 10:15:10 +02:00
Arne Morten Kvarving
73d6e85745
fixed: wrong projection basis for tensor subgrid
2022-05-10 10:15:10 +02:00
Arne Morten Kvarving
3e6edab293
added: allow instancing a FieldFunction from an existing field
2022-05-10 09:59:38 +02:00
Arne Morten Kvarving
f27b3a4efb
added: allow instancing scalar fields directly from a surface/volume
2022-05-10 09:59:38 +02:00
Arne Morten Kvarving
6b861e4789
added: initPatch member in Integrand
...
this tells the integrand the index of the patch currently
being processed.
2022-05-10 09:06:02 +02:00
Arne Morten Kvarving
0fb14fe00d
fixed: handle 'default' preconditioner for ISTL
2022-05-09 11:02:37 +02:00
Arne Morten Kvarving
5391cfbc6b
added: support for block matrices for graph partitioned models
2022-05-09 11:02:37 +02:00
Arne Morten Kvarving
646bf62b0f
changed: refactor setup of sparsity pattern into separate methods
...
makes the code more readable
2022-05-09 11:02:37 +02:00
Knut Morten Okstad
048e37ffcb
Fixup for commit 3ce4b7f36904303a01f0af1ef61ac5f5e402024a: valgrind complaint
2022-04-28 08:45:57 +02:00
Knut Morten Okstad
6991c28f31
Added: Extra (optional) int argument in writeGlvA
2022-04-26 16:25:20 +02:00
Knut Morten Okstad
5d7270e612
Added: Internal forces debug print
2022-04-26 16:25:20 +02:00
Knut Morten Okstad
3ce4b7f369
Fixed: Clear reaction force component after it being added when a group
...
of nodes is specified, such that nodes that are member in more than one
set are not added twice
2022-04-26 16:25:20 +02:00
Knut Morten Okstad
b672585ecc
Changed: Also log multi-threading on faces to IFEM::cout
2022-04-26 16:25:20 +02:00
Knut Morten Okstad
6b322da4b6
Changed: Generalize ReactionsOnly class for internal force calculation.
...
Added: SIMbase::assembleForces() and IntegrandBase::setSecondaryInt().
Added: virtual method for calculation/print of interface force resultants.
2022-04-26 16:25:20 +02:00
Arne Morten Kvarving
37d33f0648
fixed: set parameters when projecting function
...
necessary when using a fieldfunction
2022-04-26 12:45:04 +02:00
Arne Morten Kvarving
e3d3b526e8
fixed: clear additional functions in clearProperties
...
this is necessary to not register multiple functions if
used in adaptive simulations
2022-04-26 11:39:18 +02:00
Arne Morten Kvarving
cadcefb454
fixed: memory leak in mixed LR integrands
...
tensorspline was not cleared up after LR bases
had been established
2022-04-26 11:37:34 +02:00
Arne Morten Kvarving
ddf260795f
changed: add 'symmetric' as an alias for 'symmetrized' beta type
2022-04-22 12:15:39 +02:00
Arne Morten Kvarving
71fa5975da
fixed: check number of components in function
...
in particular for mixed integrands using anasol boundary conditions
nf can be greater than the number of components in the function. this is
because nf is set to the total number of fields and not the number
of fields on a single basis
2022-04-22 10:57:33 +02:00
Arne Morten Kvarving
e80aef161b
re-enable multithreaded mixed 3D assembly
...
the problems leading to it being disabled should have been fixed now
2022-04-20 12:20:10 +02:00
Arne Morten Kvarving
673eec21c7
added: more field function types
...
gradient and laplacian of scalar and vectorial fields.
this will be used for deriving source functions for simulations
where we use another simulation result as "exact" solution
2022-04-20 12:19:20 +02:00
Arne Morten Kvarving
02de121ca3
added: ability to use a fixed time level in FieldFunctions
2022-04-20 12:19:20 +02:00
Arne Morten Kvarving
c5c43beca2
fixed/add: hessianFE in SplineFields
...
previously the derivatives on the reference domain was returned
2022-04-20 12:19:20 +02:00
Arne Morten Kvarving
9bfe8af84e
added: support FieldFunctions for mixed spline fields
...
If no dash is found in the basis name, we assume the field
names given are on separate bases, one per basis
this is used to instance fieldfunctions for div-compatible
solution fields
2022-04-20 12:19:20 +02:00
Arne Morten Kvarving
3dc01f07a4
added: implement valueCoor in mixed spline fields
2022-04-20 12:19:20 +02:00
Arne Morten Kvarving
e479951031
added: ability to read mixed bases from streams
2022-04-20 12:19:20 +02:00
Knut Morten Okstad
421fbdf198
Changed: Enable MathJax for equation rendering
2022-03-08 15:31:27 +01:00
Knut Morten Okstad
d015090e9f
Fixed: Calculation of reaction and interface forces.
...
Boundary contributions due to in-homogeneous neumann conditions were missing
due to the flawed check on the presence of myEqSys->getVector().
We now rely on the hasBoundaryTerms() method of the integrand instead.
Use property type OTHER when internal forces are calculated,
such that dirichlet boundaries in the same patch that does not belong
to the interface we are calculating interface forces on are skipped.
2022-03-02 12:30:16 +01:00
Knut Morten Okstad
58e5969947
Added: Convenience method SAM::printVector (for debugging)
2022-03-02 12:30:16 +01:00
Knut Morten Okstad
7736de71ca
Added: SIMgeneric::getInterfaceForces()
2022-03-02 12:30:16 +01:00
Knut Morten Okstad
88ee21ffe0
Changed: Use SIMbase::getBoundaryNodes in SIM::initBoundaryNodeMap()
2022-03-02 12:30:16 +01:00
Knut Morten Okstad
d984430fca
Added: Extract internal forces from ReactionsOnly integral
2022-03-02 12:30:16 +01:00
Knut Morten Okstad
a5fd95b0ed
Fixed: Don't flag Neumann-order or local tangent direction
...
for edge boundaries in 3D through the Property::lindx member.
It is not needed and also makes it easier to address volume
edges (in range 1 to 12) correctly without the mod'ing.
2022-03-02 11:53:07 +01:00
Knut Morten Okstad
83ae2c73fa
Fixed: Ensure unique boundary nodes nodes also for ldim=nsd and ldim=4.
...
Added: Also consider 1D boundaries (edges) in 3D and vertices in 2D.
2022-03-02 11:53:07 +01:00
Knut Morten Okstad
3712524a0e
Replaced virtual method getEdge() by getBoundary1Nodes()
...
with a similar interface as getBoundaryNodes()
2022-03-02 11:53:07 +01:00
Knut Morten Okstad
5c3e3d2bb2
Fixed: The *sol vector is considered the control point values of the
...
projected secondary solution if the description field equals "projected",
and the results field contains DataExporter::SECONDARY.
2022-03-02 11:42:20 +01:00
Arne Morten Kvarving
7787ed15d9
fixed: these are pointers
...
use nullptr, not 0
2022-02-17 09:19:25 +01:00
Arne Morten Kvarving
2e6002d024
fixed: we have to set the option here to avoid trouble
...
if we have previously reused the matrix factorization,
the FACTORED value is stored. this leads to segfaults.
we now properly flag that we only want to reuse the
sparsity pattern
2022-02-17 09:19:25 +01:00
Arne Morten Kvarving
ab6d03b141
added: extend element matrix cache support to mixed
2022-02-17 08:45:06 +01:00
Arne Morten Kvarving
a3555e8942
changed: do not resize the newton matrix up front
...
this way we can use its non-emptyness to signal that
it has already been assembled.
2022-02-16 22:44:10 +01:00
Arne Morten Kvarving
5618e4b000
changed: print iteration history in NonLinSIM even at msgLevel -1
...
allows suppressing norm and solution summary output, while still
keeping the iteration history. useful in split simulators
such as Chorin
2022-02-14 07:00:47 +01:00
Arne Morten Kvarving
ffe5499917
fixed: wrong variable used in 3D mixed tensor spline fields
2022-02-11 15:32:38 +01:00
Arne Morten Kvarving
22d7167c7d
fixed: we need to free the MPI_Comms even in serial
2022-02-09 12:52:53 +01:00
Arne Morten Kvarving
ec6b692c3a
fixed: also put multiplier in block 2 with component based blocks
2022-01-27 11:44:00 +01:00
Arne Morten Kvarving
a2cf0932f1
Print number of local equations in each block
2022-01-27 11:44:00 +01:00
Arne Morten Kvarving
a4b38fff9d
added: support for Integrand::AVERAGE flag in LR integrands
2022-01-27 11:15:12 +01:00
Knut Morten Okstad
4a347ed412
Added: Optional print of external load resultant.
...
Added: Debug print of nodal reaction forces.
Changed: Better property mapping outprint.
2022-01-26 17:01:33 +01:00
Arne Morten Kvarving
795bb64b9d
fixed: element index should be 0 based
2022-01-26 13:35:40 +01:00
Arne Morten Kvarving
4d4ce8e147
fixed: lagrange multiplier with single basis LR
2022-01-26 13:35:40 +01:00
Arne Morten Kvarving
4633d4dc89
fixed: forgotten condition in 3D subgrid with H mesh projection
2021-12-01 15:23:30 +01:00
Knut Morten Okstad
ea0ad9a4fe
Changed: Use std::vector<double> as reaction force container
2021-11-20 10:56:32 +01:00
Arne Morten Kvarving
d8d4d40d8f
fixed: projection basis for XXX_CONT_RAISE_BASIS2
2021-10-29 10:59:43 +02:00
Arne Morten Kvarving
7cfd2470eb
fixed: typo, cycles, not cyles
2021-10-29 10:32:47 +02:00
Knut Morten Okstad
22952809fa
Changed: The node renumbering is moved to a separate method,
...
since this also have to done by the new readTopologyOnly method
2021-10-27 11:28:18 +02:00
Knut Morten Okstad
fc57eed844
Added: public method SIMinput::readTopologyOnly()
2021-10-27 11:20:41 +02:00
Knut Morten Okstad
d1520df805
Added: protected method XMLInputBase::loadFile()
2021-10-25 21:53:15 +02:00
Knut Morten Okstad
ed32443cf5
Changed: RealArray instead of Vector for setSolution and updateRotations
2021-10-20 12:42:03 +02:00
Knut Morten Okstad
e3631fd746
Changed: Initialize h to 0 - not 1 - like for NewmarkMats (consistency)
2021-10-20 12:11:50 +02:00
Knut Morten Okstad
31e288e62b
Changed: Use std::vector instead of utl::vector in the vector field
...
access methods, since they (or their users) don't really need
the linear algebra features that come with the utl::vector class
2021-10-20 12:11:50 +02:00
Knut Morten Okstad
d66cc98f25
Changed: Declare array arguments as RealArray instead of Vector
...
when the linear algebra functionality of the latter is not used
2021-10-20 12:11:50 +02:00
Knut Morten Okstad
685e849948
Changed: Use std::vector instead of utl::vector as argument types
...
in the [inject|extract]NodeVec methods, for increased flexibility.
2021-10-20 12:10:29 +02:00
Knut Morten Okstad
bdeacb8eef
Fixed: eval2ndSolution should do nothing if opt.pSolOnly is true.
...
Changed: Return true if myVtf is null in all the writeGlv methods.
Then there is no need to check for domain decomposition and procId>0
since myVtf will always be null in that case.
Removed evalProjSolution, use writeGlvP with iStep=0 instead.
2021-10-14 08:19:06 +02:00
Arne Morten Kvarving
573ce9199f
fixed: add missing initializer
2021-10-12 11:17:07 +02:00
Knut Morten Okstad
d7ee36657e
Changed: Made the second overloaded finalizeElement method
...
protected, such that all ASM-classes are forced to use the
version providing the most general interface.
Changed: No need to assign time to the Vec4 object within
the integration loop, doing it on construction instead.
2021-10-11 07:41:39 +02:00
Knut Morten Okstad
65c36818e3
Added: LHS-matrix buffers for linear Newmark integration
2021-10-08 13:19:25 +02:00
Knut Morten Okstad
1b58b79d5b
Added: <nupdate> tag for NewmarkSIM.
...
Fixed: Missing newTangent in NonLinSIM::solveIteration.
2021-10-08 13:19:25 +02:00
Knut Morten Okstad
3089611cdc
Changed: Derive class BDFMats directly from ElmMats.
...
It has nothing to do with the Newmark methods.
2021-10-08 13:19:25 +02:00
Knut Morten Okstad
bb95b66a7c
Changed: No default value on the number of bases
2021-10-08 13:19:25 +02:00
Arne Morten Kvarving
b4ac1494a2
fixed: use multiplication instead of shift operator
...
this implicitly casts to int in the process.
if not the shift makes little sense as everything is done
for an unsigned char
2021-10-08 10:46:51 +02:00
Knut Morten Okstad
35b4aa95fa
Changed: AdaptiveSIM::savePoints does not need a time argument,
...
as this class is for static/stationary problems only. The iStep
argument is not a time step counter, but a refinement step counter.
Also, the method is made protected.
2021-10-08 10:46:51 +02:00
Knut Morten Okstad
458b245b9f
Changed: Removed unused newLHS argument in SIMbase::solveSystem()
2021-10-08 10:46:51 +02:00
Knut Morten Okstad
62ecb75f55
Changed: Removed the newLHS argument in the SystemMatrix::solve().
...
It was used only by PETScMatrix but also there we can use the
factored member inherited from SparseMatrix.
2021-10-08 10:46:51 +02:00
Knut Morten Okstad
9ffa4c49c8
Changed: Removed bool argument to SparseMatrix::solve (unused).
2021-10-08 10:46:51 +02:00
Arne Morten Kvarving
4230fe7495
avoid shadowing variables
2021-10-08 10:46:51 +02:00
Arne Morten Kvarving
6314afc628
remove unused variable
2021-10-08 10:46:51 +02:00
Arne Morten Kvarving
24456cb047
remove code that is unreachable
2021-10-08 10:46:51 +02:00
Arne Morten Kvarving
88bcd66794
mark some constructors explicit
2021-10-08 10:46:51 +02:00
Arne Morten Kvarving
ef2aca116d
fixed: missing member initialization
2021-10-07 11:44:02 +02:00
Arne Morten Kvarving
3e9014c8d0
make some things const where possible
2021-10-07 11:44:02 +02:00
Arne Morten Kvarving
a75a0c7158
small reorganizations to aid static analyzers
2021-09-30 20:22:56 +02:00
Arne Morten Kvarving
d2ebc44b15
initialize some variables
...
to aid static analyzers
2021-09-30 20:22:56 +02:00
Arne Morten Kvarving
47ec469796
avoid some unnecessary stores
2021-09-30 20:22:56 +02:00
Arne Morten Kvarving
2927ed8fcf
fixed: set intended variable, not the local one
2021-09-30 20:22:56 +02:00
Arne Morten Kvarving
703e3e668e
avoid unnecessary initialization
...
value is immediately overwritten in block below
2021-09-30 20:22:56 +02:00
Arne Morten Kvarving
030b638180
fixed: potential memory leak for lfunc
2021-09-30 20:22:56 +02:00
Arne Morten Kvarving
4259c6b89a
add some null pointer checks
...
does no harm and aids static analyzers
2021-09-30 20:22:56 +02:00
Eivind Fonn
00bfaf54c3
Changed: allow profiler to optionally be silent
2021-09-27 10:39:31 +02:00
Arne Morten Kvarving
548adf7e5b
fixed: allow flat dump format
2021-09-24 10:29:20 +02:00
Knut Morten Okstad
dba0163a5b
Added: Attribute "printmapping" on <resultpoints> tag
2021-09-23 12:26:28 +02:00
Knut Morten Okstad
352b5ff97c
Added: enum value NONE_UPTAN implying linear analysis, but with calculation
...
of tangent matrix at each step. Must use this when we have inhomogeneous
Dirichlet conditions, as a workaround. The ideal solution would be that the
integrands had a special RHS_ONLY mode that includes element matrix
calculation, but where only the force vector is assembled.
2021-09-23 06:46:02 +02:00
Knut Morten Okstad
19b3033e7c
Fixed: Don't recalculate tangent in pure linear analysis
2021-09-22 08:05:33 +02:00
Arne Morten Kvarving
cff62ff7b9
added: ability to set a parameter value for ExprFunctions
2021-09-21 12:31:52 +02:00
Knut Morten Okstad
9193befb12
Fixed: Duplicated \param in the doxy
2021-09-10 14:58:26 +02:00
Knut Morten Okstad
6f5b57ec0e
Fixed: Skip all points with zero coordinates (from zero-knotspan elements)
...
in the traction vector output.
2021-09-10 14:58:26 +02:00
Knut Morten Okstad
319feceb55
Added: <saveTrac/> tag inside <postprocessing> context for traction output
2021-09-10 14:58:26 +02:00
Arne Morten Kvarving
fd8ee565d6
fix types in ranged for loops
2021-09-10 12:16:28 +02:00
Arne Morten Kvarving
9dd8bbc23c
add explicit std::move calls to avoid copies
2021-09-10 12:16:28 +02:00
Arne Morten Kvarving
1459d5fd96
add missing using statement
2021-09-10 12:16:28 +02:00
Knut Morten Okstad
c00a779e66
Fixed: Convert angles to radians and flip transformation
2021-09-07 13:56:22 +02:00
Knut Morten Okstad
52478b152d
Changed: utl::parseTimeFunction() is replaced by a file-scoped static
...
function parseFunction(), since it is not supposed to be used elsewhere.
Added: Possibility to specify a constant time function.
2021-09-07 13:53:34 +02:00
Knut Morten Okstad
eb016808e0
Added: Force direction specification as single angle and rotation axis
2021-09-07 13:53:34 +02:00
Knut Morten Okstad
2cd00d922d
Added: Unit testing for the new ForceDirField class
2021-09-07 13:53:28 +02:00
Knut Morten Okstad
b8b490a81a
Moved class NodeVecFunc to SIM, since it depends on SIMbase
2021-09-03 12:19:28 +02:00
Knut Morten Okstad
1e64ba1948
Added: New TractionFunc subclass ForceDirField
2021-09-03 10:50:56 +02:00
Knut Morten Okstad
00f4a10cfe
Moved the TractionField and PressureField class definitions to separate
...
header file for clarity, while renaming Function.C to TractionField.C.
Avoid including Function.h in IntegrandBase.h - use forward declarations.
2021-08-19 09:10:39 +02:00
Knut Morten Okstad
8c250a622e
Added: Traction direction as a vector-valued function
2021-08-19 08:48:30 +02:00
Arne Morten Kvarving
eeee095b1a
added: matrix-market storage format
2021-08-18 16:04:12 +02:00
Arne Morten Kvarving
e75fe59c79
changed: enumerate matrix storage formats
2021-08-18 16:04:12 +02:00
Knut Morten Okstad
28c544a23d
Added: LinearFunc can now also represent a piece-wise linear function
...
with the function value pairs read from a multi-column ASCII file.
Changed: Reimplemented Interpolate1D using a LinearFunc as member.
Added: LinVecFunc - a vector-valued piecewise linear function.
2021-08-12 11:26:03 +02:00
Arne Morten Kvarving
2458cf0d04
added: empty protected constructor in FunctionSum
...
to give flexibility in subclasses
2021-08-12 10:10:56 +02:00
Arne Morten Kvarving
7fe06c2a4f
replace tabs with spaces
2021-08-11 20:31:11 +02:00
Arne Morten Kvarving
1f43156434
changed: ignore singular points in evalSolution
...
instead of setting gradient to 0
2021-08-11 10:49:58 +02:00
Arne Morten Kvarving
e9ef9039bb
fixed: ignore singular point in ASM evalSolution
2021-08-11 10:49:58 +02:00
Arne Morten Kvarving
4f4dc1fb03
remove obsolete testTensor.cpp
2021-08-11 09:00:00 +02:00
Arne Morten Kvarving
d3d39cf1e3
fixed: build with petsc >= 3.15.0
2021-08-09 11:37:54 +02:00
Knut Morten Okstad
e364b22b08
Fixed: A coordinate bug in the ASMuCube constructor.
...
Changed: Use ASMuCube instead of a SIM in the solution transfer unit tests.
Added: Unit test for the ASMu3D::DirichletFace struct.
2021-08-05 07:39:45 +02:00
Knut Morten Okstad
cf6fcb3ce9
Added: Static convenience helper function getFaceEnum().
...
Changed: Let the ASMu3D::DirichletFace constructor initialize
the corners member (including a bugfix in the static map there),
and reimplement ASMu3D::constrainFace in a similar way as ASMu2D.
2021-07-31 23:41:16 +02:00
Knut Morten Okstad
c9a3e8a2e7
Changed: Made SIMbase::dumpEqSystem() public
2021-07-06 20:51:26 +02:00
Knut Morten Okstad
0e7a253ec0
Remove opt.pSolOnly = true
2021-06-29 13:33:29 +02:00
Knut Morten Okstad
aeb64ced0e
Added: matrix::augmentCols()
2021-06-29 13:33:29 +02:00
Knut Morten Okstad
84bfa9c2bd
Added: Static function for reading recovery matrix from file,
...
and a const method for conducting the actual recovery
2021-06-29 13:33:29 +02:00
Knut Morten Okstad
1668893602
Added: virtual method SIMoutput::tesselatePatch().
...
Changed: Made SIMoutput::writeGlvS[12] virtual.
2021-06-29 13:33:29 +02:00
Knut Morten Okstad
73b28fa33d
Added: Transformation of element block coordinates.
...
Changed: Checking for unique nodes is optional when merging blocks.
2021-06-29 13:33:29 +02:00
Knut Morten Okstad
468304ba8b
Changed: Ensure only one ASMsupel patch per superelement.
...
Added: Container for storing superelement data.
2021-06-29 13:33:29 +02:00
Knut Morten Okstad
f56080d55f
Added: Write displacement recovery matrix to binary file
2021-06-29 13:33:29 +02:00
Knut Morten Okstad
ee807adb25
Added: Method for static condensation of a linear equation system
2021-06-29 13:33:29 +02:00
Knut Morten Okstad
571aa5a47e
Added: SparseMatrix::split() and SparseMatrix::getColumn()
2021-06-29 13:33:29 +02:00
Knut Morten Okstad
d42cbef045
Changed: calcCSR is now a const method instead of a static function
2021-06-29 13:33:29 +02:00
Knut Morten Okstad
b84f2235d2
Fixed: Missing includes
2021-06-26 16:01:01 +02:00
Arne Morten Kvarving
97e8b9cadc
fix some doxy issues
2021-06-25 11:44:10 +02:00
Arne Morten Kvarving
c6a6b42a4e
add missing includes
2021-06-25 11:44:10 +02:00
Arne Morten Kvarving
dc57ad192f
changed: make coord protected to allow subclass access
2021-06-23 10:01:30 +02:00
Arne Morten Kvarving
bb00bc7a72
added: ASMs3DLag::updateOrigin
...
for translating the entire mesh by a constant.
2021-06-23 10:01:30 +02:00
Arne Morten Kvarving
307d5b58f3
disable check for empty spline
...
so this can be used in (ASMsxDLag-)subclasses
where the geometry is not derived from a spline.
2021-06-23 10:01:30 +02:00
Arne Morten Kvarving
6827453eb9
add evaluate for ASMsxDLag
...
also expand evalSolution to respect evaluation points
2021-06-23 10:01:30 +02:00
Arne Morten Kvarving
a97b78af8a
added: ASMsxDLag::findElement
...
this finds the element of a parameter value
and optionally calculates the local coordinates
of an integration point.
2021-06-23 10:01:30 +02:00
Knut Morten Okstad
f3cdb440a2
Fixed: Override getNoIntPoints and getNoBouPoints
...
to reflect the respective integrate methods for LRSplines
2021-06-21 14:20:11 +02:00
Knut Morten Okstad
a2cec872cb
Fixed: Let clear() erase threading group data
2021-06-21 14:20:02 +02:00
Knut Morten Okstad
ff60831796
Fixed: Using direction-dependent Gauss quadrature on face integrals
2021-06-21 14:17:50 +02:00
Knut Morten Okstad
9421df2838
Changed: mixedMADOFs renamed to extraMADOFs and is now mutable.
...
Fixed: Use a separate MADOF array in extractPatchSolution()
when extraordinary nodes and/or monolithic coupled simulators.
2021-06-18 14:17:10 +02:00
Knut Morten Okstad
1561294100
Added: Serialize the minimum element size for restart
2021-06-11 10:35:54 +02:00
Knut Morten Okstad
e860948ae9
Fixed: Restart files do not necessarily start with time level 0
2021-06-11 10:35:54 +02:00
Knut Morten Okstad
574b2974a4
Changed: Store basis on restart file only after each mesh refinement
2021-06-11 10:35:54 +02:00
Knut Morten Okstad
428ff24a95
Changed: Made SIMsolver::[s|deS]erialize() methods virtual.
...
Added: Optional log message when serializing simulator state.
Fixed (temporarily): Subtract one from the restartStep argument
to HDF5Restart::readData(), to compensate for the change in the
previous commit. Consider undoing this later, and instead update
all restart regression tests specifying a restart time level.
2021-06-11 10:30:44 +02:00
Knut Morten Okstad
6f96812f0d
Changed: Set time levels for restart files by incrementing a private
...
counter instead of calculating from time step number and stride.
The first time level will then be 0 (not 1) as for the visualization data.
Fixed: Always store geometry basis for the first time level saved.
Compare with last time step saved instead of mod'ing the time step counter
when deciding whether to save new data, in case not invoked every time step.
2021-06-11 10:30:44 +02:00
Knut Morten Okstad
d6e7caa46f
Added: Serialization of reference norm for Newton iterations
2021-06-11 10:30:44 +02:00
Knut Morten Okstad
78c5a5766e
Added: SIMinput::[save|restore|restart]Basis and SIMbase::[set|get]Refined
2021-06-11 10:30:44 +02:00
Arne Morten Kvarving
845f469568
Fixed: Check for missing extension in restart file.
...
Added: Option to reading basis data instead of results on restart.
2021-06-11 10:30:44 +02:00
Knut Morten Okstad
a577d895f4
Added: SIMbase::getExtEnerg() and SIMbase::theExtEnerg() for serialization
2021-06-11 10:30:44 +02:00
Arne Morten Kvarving
7f29f5a28b
Fixed: Reset time step after deserialization
2021-06-11 10:30:44 +02:00
Knut Morten Okstad
a92cb3c51e
Changed: Assume total rotations are in the solution vector if the
...
nodal rotation matrices have not been updated (linear analysis).
2021-06-10 14:38:58 +02:00
Knut Morten Okstad
27597c2d7e
Fixed: Result points for spline-less unstructured Lagrange models
2021-06-10 13:48:45 +02:00
Knut Morten Okstad
04d0ca77b8
Fixup for commit 7c2d6c4fadde008d166343cb991ad005d488d9f0:
...
Also the loop range was incorrect.
2021-06-10 13:48:45 +02:00
Knut Morten Okstad
2c0f9c75ad
Added: Support for explicit element set (TopItem::idim == 5)
2021-06-10 13:48:45 +02:00
Knut Morten Okstad
fd08a9a141
Added: Explicit nodal constraints for 1D patches
2021-06-10 13:48:45 +02:00
Knut Morten Okstad
5819a3366f
Fixed: Also offset the global patch indices when merging sim-objects.
...
Changed: Process explicit nodal constraints with the vertex constraints.
2021-06-10 13:48:45 +02:00
Knut Morten Okstad
bc4dacb44d
Added: Skip element if local integral pointer is NULL
2021-06-10 13:48:45 +02:00
Knut Morten Okstad
810ea35205
Added: Superelement transformation
2021-06-10 13:48:45 +02:00
Knut Morten Okstad
07d318ca8f
Changed: Let the non-const getNodeSet method also return the set index.
...
Changed: Override getBoundaryNodes() to return an indexed node set.
2021-06-10 13:48:45 +02:00
Knut Morten Okstad
865b27a90d
Fixup for commit 64164d22fa565630c809eded6b56b792ce1fa885:
...
Only the first and last patch files need to be marked.
2021-06-10 13:48:45 +02:00
Knut Morten Okstad
a73c1b5a12
Added: Input of unstructured Lagrange mesh from xml-file
2021-06-10 13:48:45 +02:00
Knut Morten Okstad
cf3261fa12
Added: class ASMu1DLag for unstructured Lagrange 1D patches.
...
Changed: Moved the Matlab mesh input method to ASMutils.C file.
2021-06-10 13:48:45 +02:00
Knut Morten Okstad
e694fa091a
Fixed: Avoid dereferencing curv pointer in initLocalElementAxes()
...
and generateTwistedFEModel(). Removed unused/obsolete refine method.
2021-06-10 13:48:45 +02:00
Knut Morten Okstad
99de45c279
Fixed: Expand solution vector for superelement patches on HDF5
2021-06-10 09:21:47 +02:00
Knut Morten Okstad
7f21078fe7
Added: Output of basis for ASMsupel as a lagrangian spider mesh
2021-06-10 09:21:47 +02:00
Knut Morten Okstad
6dc48a87d6
Changed: The projection method prefixes are now extracted directly
...
from the SIM object inside the HDF5Writer::writeSIM instead of
storing them in a class member - to ensure consistency.
Then we don't need the DataExporter::setNormPrefixes method.
2021-06-10 09:21:47 +02:00
Knut Morten Okstad
65d3e87754
Changed: Cleaned output of spline basis, node mapping, etc.
2021-06-10 09:21:47 +02:00
Arne Morten Kvarving
9a34722eb3
add option to use the h-mesh for projection with subgrid
2021-06-10 08:56:12 +02:00
Knut Morten Okstad
414de77184
Changed: Refinement based on mesh density function now on SIM-level
2021-05-21 15:00:59 +02:00
Knut Morten Okstad
77786ac474
Added: virtual method getElementCenter() in class ASMunstruct
2021-05-21 15:00:04 +02:00
Knut Morten Okstad
9fe3864a4d
Added: virtual method evalPoint() in class ASMLRSpline
2021-05-21 14:50:49 +02:00
Knut Morten Okstad
06580f66c7
Changed: Set initial time level for restart runs from previous.
...
The methods getTimeLevel() and getWritersTimeLevel() are then
no longer needed and removed for the sake of clarity.
Also removed unused method realTimeLevel(), which is incorrect
if used in restart runs with changed data dump stride.
Added: Optional print message when dumping results.
2021-05-10 06:25:55 +02:00
Arne Morten Kvarving
e2fb65447a
Simplification in DataExporter
...
- remove unused members
- use range-based for loops
- remove unnecessary if inside the writer loop
2021-05-08 10:32:48 +02:00
Knut Morten Okstad
ff9b50f033
Added: Alternative superelement file format
2021-04-27 14:34:58 +02:00
Knut Morten Okstad
491246b11c
Fixed: Also set nel after refining the mesh.
...
Changed: LR::extendControlPoints returns -1 on error and 0 if empty.
2021-04-25 11:55:19 +02:00
Knut Morten Okstad
fd80d78c22
Fixed: Clear all (including shared) FE arrays after refinement
2021-04-24 20:23:26 +02:00
Arne Morten Kvarving
f4026d20d0
fixed: need to copy projBasis as well
2021-04-19 09:33:14 +02:00
Knut Morten Okstad
d7f6c8c637
Added: class ASMsupel representing a reduced-order superlement patch
2021-04-08 15:00:44 +02:00
Knut Morten Okstad
cc7bb98879
Added: Coordinate check in the inter-sim point coupling
2021-04-08 15:00:44 +02:00
Knut Morten Okstad
c6fa4730d6
Changed: Store the rigid master points in a map with coordinates
2021-04-08 15:00:44 +02:00
Knut Morten Okstad
7c2d6c4fad
Fixed: Wrong column index in getEndPoints() caused crash
2021-04-08 15:00:44 +02:00
Knut Morten Okstad
a88fd0ca40
Added: class SIMmultiCpl for monolithic coupled simulators
2021-04-08 15:00:44 +02:00
Knut Morten Okstad
db16b4209c
Added: Methods SIMbase::merge() and SIMbase::initSystem() to facilitate
...
monolithic coupled simulators with a common global equation system.
Changed: SIMbase::getNoDOFs(true) returns the sub-simulator dimension.
2021-04-08 15:00:44 +02:00
Knut Morten Okstad
67fab196a0
Added: SIMinput::getTopItemNodes
2021-04-08 15:00:44 +02:00
Knut Morten Okstad
7525639f84
Added: Methods to shift all global node and element numbers by a constant.
...
Changed: ASMbase::renumberNodes() accepts that not all nodes are present
in the old2new map if the renumGN argument equals 2.
2021-04-08 15:00:44 +02:00
Knut Morten Okstad
e398a6964e
Added: Override the addRigidCpl method in ASMs2DC1 and ASMs1DC1
...
accounting for C1-continuity requirements.
Changed: Use a separate set of slave DOF numbers to identify those MPCs
which need to be initialized by ASMs2DC1::initConstraints().
Changed: Invert the bool argument of the addMPC and mergeNodes methods.
2021-04-08 15:00:44 +02:00
Knut Morten Okstad
802ad3c441
Added: Interface for the preprocess() method in SIMadmin.
...
Changed: SIMadmin::printHeading() is now public.
2021-04-08 15:00:44 +02:00
Knut Morten Okstad
e92bf6e65a
Moved the loadXML method from SIMadmin to XMLInputBase
2021-04-08 15:00:44 +02:00
Knut Morten Okstad
05a6a068a3
Changed: Replaced getMyElementNums() by getGlobalElementNums() and
...
use getGlobal[Element|Node]Nums in the unit tests, for consistency.
Also use static functions instead of Lambdas in file scope.
2021-04-08 15:00:44 +02:00
Knut Morten Okstad
a8f6662020
Changed: Let IntegrandBase::parse() return false by default
2021-04-08 11:50:56 +02:00
Knut Morten Okstad
4ac708f596
Changed: The congruence transformation function for symmetric matrices
...
should work the other way around, assuming the Tn-matrices transforms
from local to global system and not the opposite.
2021-04-08 07:00:12 +02:00
Knut Morten Okstad
91c4bdd9fe
Added: Input stream operator for numerical vectors and matrices
2021-04-08 07:00:12 +02:00
Knut Morten Okstad
52a70fe8ed
Changed: Extract only the control point variables if ngnod = -2.
...
Fixed: Assume 3 nodal DOFs for rigid coupling master nodes if nsd = 1.
Fixed: Don't use the extractPatchSolution method for projected fields.
2021-03-26 11:37:07 +01:00
Knut Morten Okstad
91c75b7c89
Fixed: Account for boundary MPC couplings when choosing stripe direction
2021-03-25 14:11:54 +01:00
Knut Morten Okstad
a7987649e4
Changed: Keep track of the partId as VTF class member
2021-03-07 20:30:10 +01:00
Knut Morten Okstad
cbb008cbee
Changed: No need for virtual methods after retiring class VTU 3 years ago
2021-03-07 17:12:27 +01:00
Knut Morten Okstad
28d0dac76b
Changed: Don't write state info when itype < 0
2021-02-10 09:05:50 +01:00
Knut Morten Okstad
dec5e2e21e
Added: Option to set polynomial order to specified value
2021-02-10 09:05:50 +01:00
Knut Morten Okstad
c80e2ea1c3
Added: Overloaded addLine method
2021-02-10 09:05:50 +01:00
Knut Morten Okstad
5634f6e312
Added: getEntity and getDiscretePoint.
...
Changed: setNeumann and setPropertyType are public.
2021-02-10 09:05:50 +01:00
Knut Morten Okstad
cc10c75c35
Fixed: ASMs3D::connectbasis with norient=5
2021-02-10 09:05:50 +01:00
Knut Morten Okstad
64164d22fa
Changed: Allow for multiple <patchfile> tags
2021-02-10 09:05:50 +01:00
Knut Morten Okstad
f507e8dff6
Fixed: Don't merge identical MPCs from adjacent patches
2021-02-10 09:05:50 +01:00
Knut Morten Okstad
a8056c7296
Fixed: Move the resetNumbering(ngnod) call before calling
...
the preprocessBeforeAsmInit method, in case the latter
wants to add extra nodal points due to rigid couplings, etc.
2021-02-10 09:05:50 +01:00
Knut Morten Okstad
4278481870
Changed: Using set instead of pair to record Lagrange multiplier nodes.
...
Added: Methods addRigidCpl and constrainXnode in ASMbase.
Added: Property code RIGID.
2021-02-10 09:05:50 +01:00
Knut Morten Okstad
4926a5f318
Remove some superfluous include statements.
...
Code in LinAlg should ideally not have any dependencies to ASM.
2021-02-10 09:05:50 +01:00
Knut Morten Okstad
22f553ce4b
Changed: Non-virtual SIM3D::addConstraint --> addLineConstraint.
...
Changed: Public method SIMinput::addConnection no longer virtual.
It now invokes the virtual method connectPatches using an ASM::Interface
object to pass the connectivity definition instead, for convenience.
Added: Offset attribute on the topology tag.
2021-02-10 09:05:50 +01:00
Knut Morten Okstad
f1e944bead
Added: Discrete topological points without patch-connection.
...
Changed: Store dyn-casted pointers in a local array for reuse.
Changed: Using return-vale of set::insert instead of separate count.
2021-02-10 09:05:50 +01:00
Arne Morten Kvarving
c9269956cd
changed: make isRefined an int
...
256 refinements can happen, in particular in fracturedynamics.
this leads to overflow and a very confusing error message.
2021-02-10 08:48:57 +01:00
Arne Morten Kvarving
761cbcb1c3
fixed: set appropriate linsolver params for L2 projection
2021-02-08 14:04:17 +01:00
Arne Morten Kvarving
2a29e44bb8
added: implement ASMLRSpline::getParameterDomain
2021-02-08 08:40:56 +01:00
Arne Morten Kvarving
5a9e0194df
added: (non-internal) L2 projection support for functions
2021-02-08 08:40:56 +01:00
Arne Morten Kvarving
ac87aa2a52
fixed: result point output with graph partitioning
2021-01-29 11:13:25 +01:00
Arne Morten Kvarving
49fc54789f
added: add graph partitioning handling in ASMu3Dmx boundary integrals
2021-01-29 11:13:15 +01:00
Arne Morten Kvarving
00b36d2c49
fixed: we do not want to increase the index here
...
it's done by the for-loop. copy-paste issue
2021-01-29 11:13:15 +01:00
Arne Morten Kvarving
e7bb2bb509
fixed: set the package in petsc pc blocks
2021-01-27 18:35:14 +01:00
Arne Morten Kvarving
dc2c682e25
add missing doxy
2021-01-27 15:07:42 +01:00
Arne Morten Kvarving
0731179e31
fixed: missing return value without HDF5
2021-01-27 15:07:42 +01:00
Arne Morten Kvarving
0b63ec3e93
added: ability to put terminal log in HDF5
2021-01-25 13:43:00 +01:00
Arne Morten Kvarving
bdf5e31c3e
fixed: avoid unnecessary expensive refinement parameter calculations
...
if we are shared, these are complete ignored further down. no reason
to calculate them.
useful for adaptive multi-patch fracture dynamics
2021-01-21 14:29:50 +01:00
Arne Morten Kvarving
f6c847cf75
fixed: specify number of dofs for the solution
...
cannot assume all vectors have the same amount of fields
as the simulator has primary dofs
2021-01-21 11:33:32 +01:00
Arne Morten Kvarving
a83bfb0b28
fixed: element indices should start at 1
2021-01-21 11:31:28 +01:00
Arne Morten Kvarving
064a27d4ab
fixed: ensure we have a non-empty element list
...
this to flag that partitioning is enabled. we use -1
as this is an invalid element id.
2020-12-04 14:12:54 +01:00
Arne Morten Kvarving
a243650ceb
fixed: remove unnecessary myElms member in ASMu3D
...
this was forgotten in the original commit. after a review
comment myElms were added to ASMbase, and I forgot
to remove it in ASMu3D.
2020-12-04 12:50:47 +01:00
Arne Morten Kvarving
03e565e3a5
added: allow specifying solver params for L2-projection
2020-12-03 12:39:17 +01:00
Arne Morten Kvarving
5578028655
changed: allow subclasses to register additional functions for VTF output
2020-12-02 14:41:59 +01:00
Arne Morten Kvarving
6a2959d9ca
fixed: set fe.iel in ASMsxDLag::evalSolution
2020-11-10 13:15:09 +01:00
Arne Morten Kvarving
5a671fa594
added: allow specifying a function for beta
...
t holds the adaptive step number. this allows for
flexible specification of how much to refine at each step.
2020-10-22 13:21:18 +02:00
Arne Morten Kvarving
4faf645010
added: ability to customize LRSpline same-function tolerance
2020-10-22 12:29:01 +02:00
Arne Morten Kvarving
15daa0ae92
added: write methods to ASMxDLag/Tri
...
(mainly) used for storing the FEM models in HDF5
2020-10-01 14:31:34 +02:00
Arne Morten Kvarving
20a7e94f30
fixed: support partitioned models in HDF5Writer
2020-09-25 09:46:24 +02:00
Arne Morten Kvarving
fa9ab988ea
fixed: set parameters in ASMuxD(mx)::evalSolution
2020-09-25 08:29:49 +02:00
Arne Morten Kvarving
885148c092
fixed: also pass parameters to scalar sol
2020-09-25 08:29:49 +02:00
Arne Morten Kvarving
0ad7e16d80
added: allow non-expression functions as part of an anasol with functions
2020-09-25 08:29:49 +02:00
Arne Morten Kvarving
33a1e7d53f
added: support for Chebyshev interpolants as functions
2020-09-25 08:29:49 +02:00
Arne Morten Kvarving
075e067e7d
added: support for saving the local-to-global node mapping in HDF5
...
this is on a per-basis level, ie, not interleaved on a per-patch
basis as used in IFEM
2020-09-15 09:16:19 +02:00
Arne Morten Kvarving
e905d4fc4b
track assembled state in petsc
...
use this to fix direct solve for preassembled sparsematrix
2020-07-09 14:39:30 +02:00
Arne Morten Kvarving
a1286ab949
Added: Allow using PETSc solvers with CGL2 version 2
2020-07-09 14:39:30 +02:00
Knut Morten Okstad
6cb059b455
Changed: Use element matrices in global L2 for efficiency
2020-07-09 14:37:28 +02:00
Arne Morten Kvarving
67e18c1288
added: calculate grid parameters in ASMs3DLag without using spline object
2020-07-08 10:27:59 +02:00
Arne Morten Kvarving
8e26a3903a
added: setCoord to ASMs3DLag ( #425 )
...
similar to ASMs2DLag
2020-07-06 15:30:03 +02:00
Arne Morten Kvarving
24002aec70
changed: log multithreading info to IFEM::cout
2020-07-01 10:17:29 +02:00
Arne Morten Kvarving
b5297e1b55
fix solution transfer for mixed models
2020-06-30 12:56:37 +02:00
Arne Morten Kvarving
57228365dd
added: print reason for stopping adaptive cycles
2020-06-30 11:47:38 +02:00
Arne Morten Kvarving
35c8464a2b
fixed: TestPETScMatrix.Assemble
...
for some reason newer PETSc requires an explicit call to zero out the
matrix.
2020-06-12 15:52:23 +02:00