Commit Graph

1762 Commits

Author SHA1 Message Date
Arne Morten Kvarving
18d3d976e2 changed: do not do first adaptive step with dense solver
not a good idea if the initial model is of a non-trivial size
2016-11-17 16:14:54 +01:00
Arne Morten Kvarving
17bb95ace9 added: CompatibleOperators
implements common operators for div-compatible discretizations
2016-11-17 15:52:54 +01:00
Arne Morten Kvarving
c9bc665861 changed: make WeakOperators a class with static functions
allows for templating over operator classes
2016-11-17 15:43:40 +01:00
Arne Morten Kvarving
5dac04e420 simplify WeakOperators and ResidualOperators interfaces
assumes that everything is always split by field. thus
we do not need the cmp/nf/scmp mess.
2016-11-17 15:43:40 +01:00
Knut Morten Okstad
7275a4fecc Fixed: Loop in MxFiniteElement::write terminated one too early.
Changed: Let the MxFiniteElement constructor resize each of the Nx also.
Added: Small test program to check the printing and sizing.
2016-11-17 10:53:00 +01:00
Kjetil Andre Johannessen
a4f6334147 Updated petsc requirements 2016-11-11 13:17:17 +01:00
Kjetil Andre Johannessen
8d81496e68 Merge pull request #69 from akva2/fix_lr_interpolation_hdf5
Fix two LR issues
2016-11-10 15:14:11 +01:00
Arne Morten Kvarving
cda2808640 fixed: do not use a dense matrix for interpolation in ASMu2D
this is a sparse system
2016-11-09 14:49:47 +01:00
Knut Morten Okstad
f889e27c6c Added: INT_FORCES solution mode (internal forces only) 2016-10-25 11:21:54 +02:00
Knut Morten Okstad
b1b42ebb92 Added: OTHER property type (to be used for boundary force integration, etc.) 2016-10-21 05:43:44 +02:00
Arne Morten Kvarving
6e3f35a2df fixed: wrong indices for projected b.c's in ASMu2D 2016-10-20 17:22:22 +02:00
Arne Morten Kvarving
8829994ec3 fixed: add basis support in ASMu2D::constrainCorner 2016-10-20 13:01:52 +02:00
Arne Morten Kvarving
41116a0d84 fixed: make getCorner in ASMu2D behave like other ASMs
namely have it return the actual node id for a basis'
corner, and not the node id within the basis.
2016-10-20 13:01:48 +02:00
Arne Morten Kvarving
c0b02fba77 fixed: open edge constraints in ASMu2D
the assumption of the corners being the first / last node
in the list was wrong.
2016-10-20 11:39:06 +02:00
Arne Morten Kvarving
6476c3380e fixed: corners was not properly constrained in ASMu2D
for non-projected boundary conditions, the wrong code was used
in the prescribe call. this reuses the code from ASMs2D to handle
this. this somehow got lost
2016-10-20 11:25:19 +02:00
Arne Morten Kvarving
d7575b0397 fixed: need to pass the solution vector on instance creation
setting it in solveStep is too late as exported fields are
registered for output before
2016-10-18 14:14:07 +02:00
Arne Morten Kvarving
b7294f3a9a added: export hdf5 status to applications 2016-10-14 13:26:01 +02:00
Arne Morten Kvarving
61098b41dc fixed: mark constructors explicit to avoid unexpected casts 2016-10-11 15:32:01 +02:00
Arne Morten Kvarving
04943191b2 Added: Support centered geometric refinement (refinement towards both sides) 2016-10-11 15:03:26 +02:00
Arne Morten Kvarving
5d3de9fd16 fixed: also check opposite dof-mismatch condition 2016-10-11 14:47:55 +02:00
Knut Morten Okstad
49bcd4f618 Changed: Removed reimplementation of identical createGeometry methods in the
ModelGenerator sub-classes. Instead, the createG2 method is made virtual.
Also let the createTopology method have an empty default implementation such
that it does not need to be overridden in the single-patch default generators.

And please don't use the override keyword (at least not in the IFEM kernel)
which is not supported i gcc 4.6. I still use that compiler for debugging.
2016-10-11 09:54:46 +02:00
Knut Morten Okstad
ff557f5f86 Changed: Using switch statement instead of a static map and find in
DomainDecomposition::setupNodeNumbers. The map-initializers do not
compile in gcc 4.6 which I still use for debugging.
2016-10-03 05:40:38 +02:00
timovanopstal
ff76b83c98 add: variations of stabilization params w.r.t. velocity 2016-09-28 10:26:05 +02:00
Arne Morten Kvarving
952bb20bd7 fixed: do not reset nGlPatches if no partitioning info is parsed
we end up parsing the partitioning information twice with model
generators. since myPatches is filled at this point, the second
block won't recalculate the proper nGlPatches for us. fix this
by not reseting nGlPatches unless we hit the <part> block.
2016-09-19 09:38:34 +02:00
Arne Morten Kvarving
5870c5d8f2 added: export petsc/istl/mpi status to applications 2016-09-15 16:15:34 +02:00
Arne Morten Kvarving
ee445eb42e fix multipatch generators
order of arguments and defaults was different between
SIMxD implementations and when it was made virtual, updating
this code was apparently missed.
2016-09-15 16:15:34 +02:00
Arne Morten Kvarving
2d8b830a47 fixed: due to the order of things, we need a model generator member
due to the structure of parsing there is no way around this.
we first need to generate the model (and topology sets) in the SIMbase
parse function. we then need to refine the model in the SIMxD parse
functions which are called after the SIMbase parsing. thus,
we need to hand the model generator instanced in the SIMbase parsing
to the SIMxD to create the topology at the appropriate time.
2016-09-15 16:15:34 +02:00
timovanopstal
2c154138db fix: add missing include<array> 2016-09-14 10:36:20 +02:00
Arne Morten Kvarving
0755f7121d fixed: rebase trouble
variable was renamed, renamed back, killed and raised from the dead.
and i managed to call it by its old name
2016-09-12 12:00:17 +02:00
Arne Morten Kvarving
b486773a67 add edge and corner connections in domain decomposition 2016-09-12 11:38:14 +02:00
Arne Morten Kvarving
8d5dddf382 added: new format for topology connection tags
use <connection master=".." midx=".." slave=".." sidx=".." dim="2"/>
instead of <connection master=".." mface=".." slave=".." sface=".."/>

use <connection master=".." midx=".." slave=".." sidx=".." dim="1"/>
instead of <connection master=".." medge=".." slave=".." sedge=".."/>

this allows for encoding vertex and edge connections in 2D/3D and
edge connections in 3D using the same format.
2016-09-12 11:38:14 +02:00
Arne Morten Kvarving
a3b635c371 changed: introduce virtual getCorner method in ASM[2|3]D and getEdge in ASM3D 2016-09-12 11:36:57 +02:00
Arne Morten Kvarving
91a02aefbd add periodic basis in dd 2016-09-12 11:23:02 +02:00
Arne Morten Kvarving
1adfcf1804 added: convenience wrapper class for multi-patch generator usage in applications
note: does not instance for 1D
2016-09-12 11:14:21 +02:00
Arne Morten Kvarving
1791d22e91 Added: Use of geometry generators in the SIM classes. 2016-09-08 07:30:00 +02:00
Arne Morten Kvarving
66d33ff9e5 added: multi-patch model generator for 2D and 3D 2016-09-08 07:30:00 +02:00
Arne Morten Kvarving
a410d4abb9 added: A base class for model generators
simple single-patch generators are also included.

this will be used to allow for advanced model generation in applications.
2016-09-08 07:30:00 +02:00
Arne Morten Kvarving
a5812724a2 Added: Allowing specifying periodicity properly;
- add <basis> and <periodic> to <connection> tags.
  will only connect a given basis in a periodic fashion
  (ie disable coordinate checks)
2016-09-08 07:28:33 +02:00
Arne Morten Kvarving
a172307315 Added: basis and option to skip coordinate check in connection establishment
Needed for periodicity establishment (all bases are not necessarily periodic).
2016-09-07 22:28:25 +02:00
Arne Morten Kvarving
1045f7df04 changed: mark readPatches const and public 2016-09-07 22:28:25 +02:00
Arne Morten Kvarving
291c5b410d Added: Additional MADOF support in SIMbase for mixed problems.
This allows DOF vectors with an "unusual" number of DOFs on a given basis.
Added usage of this in the HDF5Writer for such fields.
2016-09-07 22:11:16 +02:00
Arne Morten Kvarving
337d0f7ebc Added: Method to inject patch vectors using a specified madof array.
Allows to specify a basis to inject for. This will be used for mixed models
where we have DOF vectors with additional components on the first basis.

Also renamed the associated extractNodeVec method to avoid ambiguity, and
made the error handling of this method equivalent to the new inject method.
2016-09-07 22:08:49 +02:00
Arne Morten Kvarving
9d1c9e0c73 Changed: Introduce <console> for logging control.
This tag is prioritized so we get parallel logging up and
running as early as possible.
2016-09-06 12:07:52 +02:00
Arne Morten Kvarving
b38a254a30 changed: hardcode basis to 1 in ASMs[2|3]D::projectSolution
retains current behavior for single basis and this way
it also works for basis 1 in mixed ASMs.
2016-09-05 06:59:19 +02:00
Arne Morten Kvarving
ea76fc6cf9 add some tests for SIM[2|3]D::projectSolution 2016-09-05 06:59:19 +02:00
Arne Morten Kvarving
ff49abc34f added: implement getBoundaryNodes for ASMu2D and ASMu3D 2016-09-05 06:59:19 +02:00
Arne Morten Kvarving
2562a61d4c changed: use shared pointers in 3D LR ASM
- same as in 2D
- difficult to keep track of which pointers to delete or not.
  now it's simple: you never delete a bare pointer.
2016-09-05 06:31:08 +02:00
Kjetil Andre Johannessen
fd3b040348 Bugfix: Wrong xi/eta/zeta coordinate for volumetric boundary terms 2016-09-05 06:29:06 +02:00
Knut Morten Okstad
38931cf0c2 Added: FiniteElement output stream operator (for debugging) 2016-09-05 06:29:06 +02:00
Arne Morten Kvarving
f56f965afc changed: use parametrized tests in SIMNodalConstraint
less code duplication and prettier ctest output
2016-09-02 13:29:33 +02:00