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