Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
ElmerCSC
GitHub Repository: ElmerCSC/elmerfem
Path: blob/devel/ReleaseNotes/release_7.0.txt
3194 views
1
From: Peter Råback <[email protected]>
2
Subject: [Elmerupdates] Elmer 7.0 released
3
Date: Thu, 31 May 2012 15:25:20 +0300
4
5
6
7
Hi All
8
9
Due to the LGPL update of Elmer library we changed the leading number in the
10
Elmer version. So the current number is 7.0. There are not other drastic
11
changes but as the license policy of LGPL is different from GPL we considered
12
that it was time for a change. So starting from version 7.0 you can now link
13
your fully own (not derived!) solvers with the library as you wish.
14
15
There are also fresh Windows versions and documentation on sourceforge and
16
nic.funet.fi.
17
18
Below are the major new features between revisions 5191 (aka 6.2.) and 5685
19
(aka 7.0).
20
21
Thank you very much for all the contributors!
22
23
Best regards,
24
ElmerTeam
25
26
27
Software development:
28
----------------------------
29
* Doxygen code documentation system taken into use,
30
http://www.elmerfem.org/doxygen
31
* Moved dynamically linked solvers into separate subdirectory "fem/modules"
32
* Moved the ElmerSolver library under LGPL license.
33
34
Element basis:
35
-----------------
36
* Edge basis functions for quad & brick & wedge elements.
37
* New BC section Keyword "Mass consistent normals". Use mass preserving
38
normals on normal-tangential conditions instead of the usual nodal averaged
39
normals. Works in 2D and for linear- and trilinear elements in 3D.
40
* Enabled requesting of Gauss Points using relative order {-1,0,+1}. This is
41
enabled for p-elements with generic rules and for Lagrangian elements the
42
number of Gauss points for specific order must be provided in "elements.def".
43
For the code developer the option is seen as a new optional parameter
44
"RelOrder" in GaussPoints funtion. This must be implemented for each solver
45
separately. So far only StressSolve has been modified to with the "Relative
46
Integration Order" keyword.
47
48
Linear system:
49
------------------
50
* Linear systems may now be scaled in the solution phase using the row
51
equilibration (by setting Linear System Row Equilibration = Logical True)
52
* It is now possible to utilize the block solver strategy for monolithic
53
solver (BlockSolve.src). Uses the legacy solvers only for assembly, splits
54
the matrix into blocks and then solves the boock system.
55
* Modified HYPRE interface (contribution from Jonas Thies):
56
- Allow separate setup and solve.
57
- New keyword "HYPRE Block Diagonal", which does something similar to the
58
BILUn serial preconditioner when calling HYPRE.
59
- HYPRE interface now accepts 'CG' as solver option.
60
* interface to linear solvers from the Trilinos libraries. This can be
61
enabled by compiling with -DHAVE_TRILINOS and currently works only in
62
parallel (through SParIterSolver). Some examples are in
63
fem/examples/TrilinosSolvers. This is still very experimental! (contribution
64
from Jonas Thies)
65
* Added a simple iterative method 'richardson' preconditioned with a lumped
66
mass matrix. The algorithm is very similar to Jacobi. Might have some use in
67
solving problems involving just a simple mass matrix.
68
69
Misc:
70
------
71
* Enabled keyword "Timestep size" that takes MATC definitions etc. as any
72
other Real variable.
73
* Add interface "GetLocalSolution()" to unify "GetScalarLocalSolution()" and
74
"GetVectorLocalSolution" utility subroutines.
75
* Improved control on verbosity. Additional in-line parameters -s/--silent,
76
default level of four for Info, and keyword check 'silent'.
77
* Enabled internal 1D mesh generation for the 1D outlet solver.
78
* Improved the speed of ListGetReal command in case when a constant is being
79
fecthed. Also made a new subroutine ListGetRealAtIp and a related data
80
structure that is intended to be called at each integration point. The data
81
structure includes information that is used to remember things from previous
82
evaluations to save time. This is not yet used in any solver so changes are
83
still possible, and even probable.
84
* Solver section keyword "Back Rotate N-T System=Logical" (default: True).
85
This keyword can be set to false, to disable the rotation of the solution
86
fields of normal-tangential boundaries to coordinate directions.
87
88
New features for old Solvers:
89
-----------------------------------
90
HelmholtzSolver:
91
* Enabled variable density fields in Helmholtz solver. This affects the
92
results only when density is not constant. Also a interface to harmonic
93
structural analysis was implemented.
94
95
ElasticSolve:
96
* Stress and strain computation enabled.
97
* New material models: a neo-Hookean material model and an orthotropic
98
material model added for handling cases with large rotations and small strains
99
100
FlowSolver:
101
* Add new Navier-Stokes discretization option 'Laplace Discretization'. The
102
diffusion term discretized is \mu div(grad(u)) instead of the default 2\mu
103
div(\epsilon(u)). The resulting linear system is smaller (in terms of
104
nonzeros) and usually easier to solve. This has, however, an effect on the
105
meaning of the various boundary conditions.
106
* introduced Glen's flow law as a separate non-linear flow law in Effective
107
Viscosity
108
109
StatElecSolver:
110
* Added infinity conditions to the electrostatic equation. These assume
111
spherical symmetry of the far-field.
112
113
SaveLine:
114
* Enabled solution of isocurve points in SaveLine: Given some field, save the
115
intersection points that have a predefined value.
116
117
ResultOutputSolver (all related to VTU output):
118
* Enabled VTK Collection for timesteps
119
* Enables saving of body and bc id:s by keyword "Save Geometry Ids"
120
* Implemented eigenmode saving with two different numbering strategies
121
* Enabled timestep indexes with more than four numbers in length.
122
* Enables saving of "elemental" information.
123
124
HeatSolver:
125
* Added perfusion rate to HeatSolver (contribution from Matthias Zenker).
126
127
StressSolver:
128
* Add more general form of Robin type of BC:s: -(tau,n) + Ku = f, with K a
129
dim x dim matrix given with "Spring ij" keywords.
130
131
MagnetoDynamicsCalcFields:
132
* Modify the results computation (MagnetoDynamicsCalcFields) as so that
133
default output still is nodally fitted variables. Also elementwise nodal
134
fields directly computed to nodes (variable names with ' E' postfix)
135
* If "Discontinuous Galerkin=True" then elementwise nodally fitted variables
136
(with no postfix on names)
137
* If "Discontinuous Galerkin=True" and "Average within Materials=Logical
138
True" then materialwise fitted variables (discontinuous at material
139
interfaces, with no postfix on names)
140
141
Note that default ElmerPost output only contains the nodally fitted
142
variables, use ResultOutputSolver with format="ep" or format="vtu" to look at
143
the other variations.
144
145
New Solvers:
146
----------------
147
ParticleAdvector:
148
* Particle based solver for diffusion-free advection of scalar fields. For
149
each node a particle is sent -dt backwards in time and the field value is
150
taken from the resulting upstream point. This provides diffusion free
151
advection. The robustness of the solver may still be suspectable since it is
152
based on the ability to follow particles in a mesh.
153
154
ThermoElectricSolver:
155
* First version of a tightly coupled thermoelectric solver.
156
157
ShallowNS:
158
* First version of the shallow water Navier-Stokes equations solver.
159