Commit Graph

2782 Commits

Author SHA1 Message Date
Arne Morten Kvarving
fb16d476bf changed: require C++17
use the standard cmake mechanism to do so
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
b1e275683b changed: install GlbL2projector.h 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 3ce4b7f369: 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
3fe7c9842f Added: Search for VTF libraries also under /usr/local 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
Arne Morten Kvarving
bd2b2b88f6 add convection/advection variants for div-compatible 2022-03-03 10:42:56 +01:00
Arne Morten Kvarving
b467fa1ca2 added: skewsymmetric to EqualOrderOperators::Advection 2022-03-03 10:42:56 +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
a85e46a147 added: add ConvectionForm argument to CompatibleOperators::Advection
currently only CONVECTIVE is implemented
2022-02-18 15:00:51 +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