Arne Morten Kvarving
efa6c99665
added: support for dune-istl linear solvers
2016-09-02 09:30:53 +02:00
Arne Morten Kvarving
0364126769
PETSc reboot
...
- assembles into a SparseMatrix object
- copies into a petsc system matrix
- domain decomposition handled through the DomainDecomposition helper class
- linear solver parameter class split in a generic setting class and a
petsc-specific class
2016-09-02 09:30:53 +02:00
Arne Morten Kvarving
f7694c942f
changed: do not build dummy petsc code if petsc is not enabled
2016-09-02 09:30:53 +02:00
Arne Morten Kvarving
fbb6185d82
Added: Another preAssemble function in SparseMatrix.
...
This locks the sparsity pattern of the matrix.
Will be used in the upcoming petsc / istl updates.
Changed: Make the AIJ members protected.
2016-09-02 09:30:53 +02:00
Arne Morten Kvarving
cad3a7929f
Added: A dedicated domain-decomposition helper class.
...
This administers the parallel finite element model.
- establishes global node numbers
- establishes global equation numbers
- establishes global DOF numbers
- generates subdomains for schwarz preconditioners
(if using multiple subdomains for each patch)
2016-09-02 09:30:53 +02:00
Arne Morten Kvarving
78d7f3d818
added: keep track of the type of a Lagrangian multiplier
...
'L' for local multipliers (local to a patch/process),
'G' for global multipliers (global system multipliers).
2016-09-02 09:14:40 +02:00
Arne Morten Kvarving
e984835bd7
changed: use HAVE_MPI preprocessor symbol instead of PARALLEL_PETSC
...
MPI support will not be linked to PETSc in the future.
2016-09-02 09:14:40 +02:00
Arne Morten Kvarving
1b5330791c
Fixed: Allow using the <refine> and <raiseorder> keywords in parallel.
...
Translates to local patch index and ignores patch entries on other processes.
The nGlPatches member of SIMbase is now default equal to myModel.size() for
serial runs, such that we don't need to check that it is non-zero all the time
(except for in getLocalPatchIndex, which may be called before it is set).
The latter is now treated as an error conditions and indicates missing
partitioning information for parallel runs.
2016-09-02 09:12:02 +02:00
Knut Morten Okstad
4fa03d28ab
Added: Optionally let SIMbase::getPatch accept global patch index as argument.
2016-09-02 09:12:02 +02:00
Arne Morten Kvarving
8eb7ad930f
fixed: properly locate valgrind
2016-08-31 11:50:55 +02:00
Arne Morten Kvarving
48c6cbc949
fixed: also run unit tests through valgrind if requested
2016-08-31 11:19:06 +02:00
Arne Morten Kvarving
62b9da7bcf
second try for URL update
...
build server cmake is built without https support
2016-08-29 10:43:13 +02:00
Arne Morten Kvarving
cd3ba6528c
update gtest location
...
the old googlecode project was migrated to github.
update to version 1.8 while at it.
2016-08-29 10:30:22 +02:00
timovanopstal
3f8b35cd06
add utl::Matrix constructor to DenseMatrix
...
allows easy access to the solve method, which will be require in NavierStokes for div-compatible VMS
2016-08-29 09:58:55 +02:00
Arne Morten Kvarving
e92c1e58f2
Changed: Print non-debug / error related output to IFEM::cout in SparseMatrix
2016-08-23 15:34:40 +02:00
Arne Morten Kvarving
bfa72d45fb
Added: A SLU optimize function which directly uses the dofc array from SAM.
...
Growing the elem map can become a memory bottleneck for large simulations.
2016-08-23 15:31:04 +02:00
Arne Morten Kvarving
594c47d078
added: method to get equations for given dofs on a given basis
2016-08-19 10:53:55 +02:00
Arne Morten Kvarving
3e9a6b62fc
Fixed: Copy/Paste errors in commit 86aa4. Revealed by initial conditions
...
on meshes with different refinement in the u, v and w directions.
2016-08-18 19:04:09 +02:00
Arne Morten Kvarving
d8be7cae12
Fixed: Don't update iField in the project method in case of multi-patch models
...
(gave crash during initial condition generation).
Changed: Using if-then-else instead of switch that gcc 6.0 did not like,
and adding nodal coordinates in the optional array in the same loop.
2016-08-18 19:01:19 +02:00
Arne Morten Kvarving
aa06426e23
added: add IFEM-Darcy to downstream list for jenkins
2016-08-18 12:55:06 +02:00
Arne Morten Kvarving
47f8caa5d8
changed: add basis support to getBoundaryNodes.
...
this is needed for mixed domain decomposition establishment.
also rewrite ASMs2D::getBoundaryNodes to something where we can
rely on the ordering of nodes. this is needed for domain decomposition
establishment.
2016-08-18 10:32:40 +02:00
timovanopstal
bf365b0e30
rm: CFDenums.h has been moved to Stokes app
2016-08-17 16:37:49 +02:00
Arne Morten Kvarving
58a94fa07f
added: add IFEM-Poisson to downstream list for jenkins
2016-08-16 21:20:24 +02:00
Arne Morten Kvarving
3c11c83e49
added: add IFEM-FSI to downstream list for jenkins
2016-08-16 15:48:20 +02:00
Arne Morten Kvarving
743481f08f
fixed: forgot to update fallback function in 4bd4208
2016-08-16 15:47:00 +02:00
Arne Morten Kvarving
048ed57a03
Added: Additional convergence check in SIMCoupledSI,
...
with possibility for application-specific convergence criteria.
Changed: The order of the SIM::ConvStatus enum values reflects severity,
such that may do (stat <= SIM::DIVERGED) to catch both DIVERGED and FAILURE.
2016-08-05 15:24:25 +02:00
Knut Morten Okstad
4216595c7b
Added: Support for absolute convergence tolerance and also the maxIncr
...
parameter in NewmarkSIM, with similar interpretations as in NonlinSIM.
The relative tolerance might be problematic if used on stationary problems.
2016-08-05 15:24:25 +02:00
Knut Morten Okstad
c536ff1610
Fixed: NavierStokes did not build because of missing includes in AppCommon.h.
...
Resolve this by moving the parse implementation to a C-file (not a template).
Also added a default constructor initialising the dim member.
Removed obsolete file ResidualOperators.C
2016-08-04 10:39:53 +02:00
Knut Morten Okstad
49ad398750
Fixed: setMode(DYNAMIC --> STATIC) in NonLinSIM::solveIteration.
...
Probably a copy-paste error. At least, with this change
SIMCoupledSI works also for quasi-static simulations.
2016-08-03 07:42:28 +02:00
Eivind Fonn
873d773134
Suppress misleading indentation warning
2016-07-20 10:39:16 +02:00
Eivind Fonn
6726a2f04d
GCC 6 compatibility
2016-07-20 10:39:16 +02:00
Arne Morten Kvarving
ed992a2ca1
added: base class for pre-parsing in applications
...
- handles -2D/-3D (can be specified in <geometry> tag)
- handles -LR (can be specified in <patchfile> tag)
2016-07-15 16:58:51 +02:00
Arne Morten Kvarving
67798e1bd3
added: parameter to control verbosity in input file parsing
2016-07-15 16:58:51 +02:00
Arne Morten Kvarving
0bda7b4a2d
move xml input handling to separate class for reuse
2016-07-15 16:58:51 +02:00
Arne Morten Kvarving
1249c5339e
fixed: unknown tags are not an error in parsing linear solver parameters
2016-07-15 15:00:46 +02:00
Arne Morten Kvarving
fce84a436a
fixed: don't crash due to no LinSolParams if no info is read from input file
...
fix this by always resizing vector to have a single block entry (with
default values).
2016-07-15 15:00:38 +02:00
Arne Morten Kvarving
930a9eaa53
changed: move variable declaration
...
to avoid warnings when compiling without hdf5 support
2016-07-15 14:56:35 +02:00
Arne Morten Kvarving
0f64a9438d
changed: hdf5 serial/parallel switch support
...
requires a ubuntu 16.04 or equivalent modern distro.
this for a newer cmake, and for the ability to have the serial
and parallel hdf5 libraries coexist on the system.
2016-07-15 14:54:42 +02:00
Arne Morten Kvarving
cdc21471d0
added: support for second derivatives in 3D mixed ASM
2016-07-15 14:53:30 +02:00
Knut Morten Okstad
2d47f12655
Added: An overloaded getCurrentReactions method returning for a given boundary
2016-07-14 12:08:52 +02:00
Knut Morten Okstad
e47e77e2d7
Fixed: A mis-placed pointer assignment + use memmove instead of memcopy.
...
Pointed out by valgrind but did not seem to affect results though.
2016-07-14 08:03:17 +02:00
Knut Morten Okstad
0e3b9cf9b0
Added: Input parameter maxIncr instead of hardcoded value 2
2016-07-13 23:28:22 +02:00
Arne Morten Kvarving
7805fc2f61
Added: Some unit tests for BlockElmMats
2016-07-13 12:02:16 +02:00
Knut Morten Okstad
48a901e8a5
Added: New class for block element matrices.
...
Used for multi-integrand problems with monolithic coupling.
2016-07-13 12:02:16 +02:00
Knut Morten Okstad
ae29c38b5f
Added: Return null pointer if expression function parsing fails
2016-07-13 11:42:06 +02:00
Knut Morten Okstad
a4cd4bc42b
Added: Another SIMbase::project method for scalar functions and use that in the initial condition handler
2016-07-13 11:42:06 +02:00
Knut Morten Okstad
86aa43566d
Changed: Using SplineUtils methods to project functions onto the spline basis
...
since it is there anyway, now also accepting time argument.
Changed: Reimplemented ASMbase::addGlobalLagrangeMultipliers using the other
almost similar method, to avoid unneccesary code duplication.
2016-07-13 11:41:57 +02:00
Knut Morten Okstad
5f90b3140a
Fixed: SAM::getNoNodes now should work also when nodeType array is empty,
...
and SIMbase::getNoNodes should work for mixed problems when unique=true.
2016-07-13 11:38:16 +02:00
Arne Morten Kvarving
4bd4208a63
added: alpha in multiply and outer_product functions
2016-07-13 10:38:45 +02:00
Knut Morten Okstad
ad1a22c51e
Fixed: Adaptive linear elasticity was broken in the attempt to generalize
...
AdaptiveSIM to also handle time-dependent problems. This is now reverted
as this class is not well suited for that class of problems.
It was intended for static linear problems only.
2016-06-28 21:00:07 +02:00