Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
ElmerCSC
GitHub Repository: ElmerCSC/elmerfem
Path: blob/devel/ReleaseNotes/release_5.3.txt
3194 views
1
From: Juha Ruokolainen <[email protected]>
2
Subject: [Elmerupdates] Elmer Version 5.3 Released
3
Date: Tue, 30 Jan 2007 10:15:53 +0200 (EET)
4
5
6
Elmer version 5.3.0 has been relased
7
====================================
8
9
- New Windows binary is available from:
10
11
http://www.csc.fi/elmer/download
12
13
or directly from
14
15
ftp://ftp.funet.fi/pub/sci/physics/elmer/bin/Elmer-5.3.0.exe
16
17
The binary has been compiled under MINGW using the default
18
GCC + gfortran v4.3 available from:
19
20
http://gcc.gnu.org/wiki/GFortranBinaries
21
22
- Sources available through
23
24
http://www.csc.fi/elmer/download
25
26
or directly from
27
28
ftp://ftp.funet.fi/pub/sci/physics/elmer/src
29
30
New Features include:
31
=====================
32
33
o Nodal Loads & Nodal Dirichlet conditions:
34
35
In boundary condition-section give
36
37
Target Nodes(n) = Integer
38
or
39
Target Coordinates(n,dim) = Real
40
41
The coordinates, if given, will be used to search closest nodes.
42
Dirichlet conditions and nodal loads may be set the usual way for
43
these boundary conditions, i.e.
44
45
Temperature = Real value
46
Temperature Load = Real value
47
48
o Bulk Nodal Loads & Bulk Dirichlet Conditions
49
50
In body force-section variable conditions & loads may be given as
51
52
Temperature = Real value
53
Temperature Load = Real value
54
55
o New Harmonic analysis solver-section keywords
56
57
Harmonic Analysis = Logical
58
Frequency(n) = Real
59
60
these keywords may be set to activate harmonic analysis for
61
second order time derivative equations (StressSolve etc.):
62
63
( (-w^2M+K) + iwD ) X = F
64
65
where M is mass matrix, K stiffness matrix, and D damping matrix.
66
The solution is over given frequency (f=w/(2pi)) values.
67
68
Current limitations include:
69
70
x Dirichlet conditions are real
71
x Only real part of the force may be given
72
x Only real part of the solutions appears in output
73
74
o New solver-section keyword
75
76
Constant Bulk System = Logical
77
78
which may be set to 'True' if the bulk matrix & rhs are known
79
not to change during simulation. The boundary conditions may
80
change the matrix and vector as needed. Currently only used
81
by StressSolve & HeatSolve.
82
83
o New solver-section keyword
84
85
Constant Bulk Matrix = Logical
86
87
which may be set to 'True' if the bulk matrix is known not to
88
change during simulation. The boundary conditions may change the
89
matrix as needed. The RHS vector may also change. Currently used
90
only by StressSolve.
91
92
o New solver-section keyword
93
94
Linear System Refactorize = Logical
95
96
may be set to 'False' if it is known that the coefficient matrix does
97
not change during simulation. StressSolve also compensates for changing
98
timestep by reactivating factorizing when the timestep changes, for other
99
solvers this keyword must not be used with varying timestep.
100
101
This keyword applies to
102
103
Linear System Solver = Direct
104
Linear System Direct Method = UMFPack
105
106
as well as to iterative solver preconditioning.
107
108
o New 'Output File' format, including binary output by simulation-section
109
keyowrd:
110
111
Output Binary = Logical
112
113
New format saves space and execution time.
114
115
o Output of solution fields to VTK and OpenDX formats
116
117
o New boundary condition-section keyword
118
119
Normal-Tangential var_name Rotate = Logical
120
121
may be used to disable (by setting to value False) the change
122
for variables (x,y,z) -> (n,t1,t2) on a N-T boundary if not
123
needed (no dirichlet conditions).
124
125
o New keyword in equation-section
126
127
Element = [n:#dofs d:#dofs p:#dofs b:#dofs e:#dofs f:#dofs]
128
129
where n means nodal dofs, d discontinuous galerkin element dofs,
130
p stands for p-element 'p', b is number of bubble degrees of
131
freedom, e- and f- give edge and face degrees of freedom
132
respectively.
133
134
This may be used, instead of the mesh defintion, to enable
135
unusual (not Lagrange type) element types.
136
137
Element = [p:2]
138
139
would give p=2 element over the basic element type the mesh
140
defines.
141
142
Element = [d:4]
143
144
gives DG element with 4 internal DOFs. Specifying d:0 has the
145
special meaning that DG dofs equals to the #nodes within the
146
mesh defined element.
147
148
Element = [p:1 b:1]
149
150
would give one bubble DOF over a linear element, etc.
151
152
If equation-section defines more than one solver
153
154
Active Solvers(n) = Integer
155
156
the element defintion may be different for individual solvers
157
158
Element[1] = ...
159
Element[2] = ...
160
161
o The field variable components may be given individual names:
162
163
Variable = var_name[cname 1:#dofs cname 2:#dofs ... ]
164
165
instead of the default component names "var_name 1", "var_name 2", ...
166
These given component names may be used in boundary conditions,
167
initial conditions, etc. and are seen as field variables
168
as usual.
169
170
o All solvers, including FlowSolve, StressSolve, HeatSolve, may
171
now be used as "external solvers", specifying i.e.
172
173
Procedure = "FlowSolve" "FlowSolver"
174
Variable = Flow[Veloc:3 Pres:1]
175
176
in solver section.
177
178
o If variable "primary_var loads" exists the linear system solver
179
will compute boundary reaction forces as a field variable after
180
solution:
181
F=Ax-b
182
where A and b are the bulk matrix and RHS vector respectively
183
(the system matrix & vector before applying any boundary
184
conditions).
185
186
For example specifying
187
188
Procedure = "FlowSolve" "FlowSolver"
189
Variable = Flow[Veloc:3 Pres:1]
190
Exported Variable 1 = Flow Loads[Stress Vector:3 CEQ Residual:1]
191
192
will compute boundary stress vector which could be used i.e. in FSI
193
simulation to specify the reaction of the boundary to flow field in
194
a boundary condition section:
195
196
Displacement 1 Load = Variable Stress Vector 1
197
Real MATC "-tx"
198
Displacement 2 Load = Variable Stress Vector 2
199
Real MATC "-tx"
200
Displacement 3 Load = Variable Stress Vector 3
201
Real MATC "-tx"
202
203
similarily
204
205
Procedure = "HeatSolve" "HeatSolver"
206
Variable = Temperature
207
Exported Variable 1 = Temperature Loads
208
209
will give nodal equivalent heat flux. Summing the 'Temperature Loads'
210
variable
211
over a boundary (using SaveData f.ex.) will give heat flux over the
212
boundary.
213
214
Currently implemented for StressSolve, HeatSolve and FlowSolve.
215
216
o New operators in SaveScalars
217
218
There are some new simple operators in SaveScalars: 'sum', 'dofs', 'boundary
219
sum', 'boundary dofs' and 'boundary mean'. These are particularly useful in
220
extracting the node based information. Assume that you would have computed
221
'Temperature Loads' as in above example. Then you could extract the sum of
222
loads i.e. the total heat flux over the domain and of a boundary by adding
223
the following solver:
224
225
Solver n
226
Equation = String "SaveScalars"
227
Procedure = File "SaveData" "SaveScalars"
228
Filename = File "f.dat"
229
Variable 1 = String "Temperature Loads"
230
Operator 1 = "sum"
231
Variable 2 = String "Temperature Loads"
232
Operator 2 = "boundary sum"
233
End
234
235
Additionally a flag 'Save Scalars = Logical True' at the boundary
236
of interest should also be set.
237
238
o Initial support for HYPRE parallel linear solver library
239
240
x compile and install the HYPRE library. HYPRE is found at
241
242
http://www.llnl.gov/CASC/linear_solvers/
243
244
x configure mathlibs for parallel computing
245
246
./configure --prefix=... --with-mpi
247
or
248
./configure --prefix=... --with-mpi-dir=...
249
make install
250
251
x configure fem for parallel computing and HYPRE
252
253
export CFLAGS "-Impi_include_dir -Ihypre_include_dir ..."
254
./configure --prefix=... --with-mpi-dir=... \
255
--with-hypre="-Lhypre_lib_dir -lHYPRE"
256
make install
257
258
and set the solver-section keyword in the solver input file
259
260
Linear System Use HYPRE = Logcal True
261
262
HYPRE solver used by the elmer interface is BiCGStab with (global)
263
ILU(n) preconditioning. The n in ILU(n) may be selected the usual way
264
265
Linear System Preconditioning = ILUn
266
267
Later versions may include support to different HYPRE linear equation
268
solvers, like AMG, etc.
269
270
o Partitioning (ElmerGrid)
271
272
Improved partitioning capabilities. Most importantly, interfaces to some
273
dual graph based partioning routines of Metis library implemented. This
274
makes the Metis partitioning available also for mixed meshes. The new
275
options are available using an extra integer parameter (optional) in the
276
command line. See the Metis documentation for more info.
277
278
-metis 4 0 % METIS_PartMeshNodal (default)
279
-metis 4 1 % METIS_PartGraphRecursive
280
-metis 4 2 % METIS_PartGraphKway
281
-metis 4 3 % METIS_PartGraphVKway
282
283
For the simple geometric partitioning there are two possibilities. You may
284
either first partition the elements and then define the nodal partitioning
285
accordingly, or vice versa.
286
287
-partition 2 2 1 0 % First partition elements (default)
288
-partition 2 2 1 1 % First partition nodes
289
290
o Conservation of names
291
292
There is a new possibility to conserve name information in some mesh
293
import routines. Currently this is supported only for the newest Ansys
294
script and for the FDNEUT format. In mesh format the name information is
295
saved to a separate file (mesh.names) that may be included in the sif
296
file, and thereafter the material names may be used as MATC variables.
297
298
o Removal of extra BCs
299
300
There is are some new options in ElmerGrid which to remove lower
301
dimensional BCs and to map the BC numbering to be continous. This may be
302
useful for meshers (e.g. Gmsh) that automatically create a bunch of
303
geometric entities making it difficult to handle them in later phases.
304
305
o Shell-element solver including large deflections
306
307
o Kohn-Sham equations solver for density functional theory
308
309
o Many new test cases
310
311
The test cases are in the fem-5.3.0.tar.gz package in the fem-5.3.0/tests
312
directory. After building and installing ELMER you should be able to run
313
all the tests by commanding
314
make check
315
in the fem-5.3.0 directory. To run individual tests enter the tests
316
directory and give the command
317
./runtests test_dir
318
319
To use the test cases as a starting point for developing your own case,
320
please note that
321
x Output is disabled by default, to re-enable uncomment either or both of
322
the lines
323
!Output File=..
324
!Post File=...
325
in Simulation-section of the .sif file.
326
x Solver output messages are restricted by
327
Max Output Level = 3
328
increse the number or remove the line to get more verbose output.
329
330
There are in total 69 test cases in this release, running through them takes
331
few minutes depending on your computer capabilities, compilers and compiler
332
options used.
333
334
o Numerous bug fixes and smaller enhancements
335
336
Have Fun,
337
338
The Elmer Team
339
340