Commit Graph

1762 Commits

Author SHA1 Message Date
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