forked from oofem/oofem
-
Notifications
You must be signed in to change notification settings - Fork 0
/
README
210 lines (156 loc) · 7.4 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
/*
***** ***** ****** ****** *** ***
** ** ** ** ** ** ** *** **
** ** ** ** **** **** ** * **
** ** ** ** ** ** ** **
** ** ** ** ** ** ** **
***** ***** ** ****** ** **
OOFEM : Object Oriented Finite Element Code
Copyright (C) 1993 - 2017 Borek Patzak
Czech Technical University, Faculty of Civil Engineering,
Department of Mechanics, 166 29 Prague, Czech Republic
www.oofem.org e-mail: [email protected]
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 2 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*/
CONTENTS:
[1] What is here
[2] Pre-requisites
[3] Installation
[4] Running oofem and oofeg
[5] Related Links
[1] What is here
==============================================================================
The directory tree below holds source code to the OOFEM package.
OOFEM_TOP_DIR
|
|-- doc - contains the "User's guide", sources to generate "Reference manual",
| documents describing the input file specifications, element and
| material libraries, and other useful documents.
|
|-- src - source files of all oofem modules
| |
| |-- oofemlib - sources of the core part of OOFEM, the OOFEMlib module.
| |
| |-- sm - sources of structural analysis module.
| |
| |-- tm - sources of transport problem module.
| |
| |-- fm - sources of fluid mechanics module.
| |
| |-- dss - includes the sources for Direct Sparse Solver (DSS),
| | contributed by R. Vondracek)
| |
| |-- main - contains the sources of main() and implementation of some
| global functions for oofem, oofeg.
|
|-- tools - sources for several utility programs.
|
|-- tests - contains several tests, which are useful to verify
| the program functionality.
|
|-- bindings - holds sources to generate OOFEM bindings to Python programming language.
[2] Pre-requisites
==============================================================================
The oofem requires the CMake cross-platform build system and C++ compiler with
STL support (Standard Template Library).
The oofem contains interface to IML++ library. It is the C++ templated
library of modern iterative methods for solving both symmetric and
non-symmetric linear systems of equations, written by
Roldan Pozo. It can be downloaded from http://math.nist.gov/iml++/.
The graphical post-processor (oofeg) requires the ELIXIR and Ckit libraries
by Petr Krysl (http://www.multires.caltech.edu/~pkrysl/), to be installed.
They provide X-windows graphics support.
The version of Elixir to be used with OOFEM is likely to be not compatible
with the original version maintained by the Petr Krysl. The compatible
Elixir version is available at oofem home page
(http://ksm.fsv.cvut.cz/oofem/oofem.html). The Ckit library can be obtained
at the same location.
Parallel support for distributed memory requires MPI library to be installed.
If you do not have any, we recommend to use Open MPI.
This is a freely available, high-performance, and portable
implementation of MPI (http://www.open-mpi.org/).
For high performance linear solvers, OOFEM uses PETSc.
Version 3.4 and 3.5 should be working.
The toolkit can be downloaded from PETSc project home page
(http://www-unix.mcs.anl.gov/petsc/petsc-as/index.html).
For high performance eigenvalue solvers, oofem uses SLEPc.
The toolkit can be downloaded from SLEPc project home page
(http://www.grycap.upv.es/slepc).
XML parser is supported through tinyXML2 library. The library is required
for the CEMHYD3D model and can be downloaded from
its git repository (https://github.com/leethomason/tinyxml2)
The reference manual can be generated automatically from the sources.
You can use it to generate documentation of your classes, too.
To do this, you have to install doxygen documentation system
(http://sourceforge.net/projects/doxygen/) and the Graph visualization toolkit
(http://www.research.att.com/sw/tools/graphviz/)
To build the element library, material library, and oofem input manuals
from the sources the latex and latex2html packages are required.
The compiled Reference Manual itself is not included in release
due to its size. It can be accessed online from oofem home page.
[3] Installation
==============================================================================
Quick instructions for UNIX:
----------------------------
0) unpack sources
1) create an out-of-tree build directory
"mkdir -p ~/build/debug"
2) configure the target
"cd ~/build/debug; cmake PATH_TO_OOFEM_SOURCES"
where PATH_TO_OOFEM_SOURCES is the path to OOFEM source directory,
created in step 0 (~/oofem-2.2, for example).
3) compile OOFEM
"make"
4) optionally, run the tests
"ctest"
Additional instructions
---------------------------------
Instead of cmake you can use ccmake which uses an ncurses interface,
or cmake-gui for a GUI. Use the command make help for a list of all targets.
You can find detailed installation (including installation on Windows)
instruction on OOFEM wiki (http://www.oofem.org/wiki/doku.php?id=installation)
To get support check out oofem wiki (www.oofem.org/wiki) and
oofem forum (www.oofem.org/forum) as well.
[4] Running oofem and oofeg
==============================================================================
The oofem program prints out the available options when run without
any option. To run a specific job, you can enter
oofem -f input_file_name
To run oofeg (graphic post-processor), you need job context file
(created by oofem, for example using -context option). To run oofeg, enter
oofeg -f input_file_name
There are few useful oofeg key-bindings:
Fast viewing
B1 = window
Ctrl B1 = pan
Ctrl B2 = zoom
Shift B2 = fit all (only active drawing window will be affected)
Ctrl Shift B1 = rotate
B3 = done
Selection
B1 = select
Ctrl B1 = select window
Shift B1 = select nearest point
(confirm by B1 or select next one by Shift B1)
B2 = accept
B3 = reject
[5] Further documentation
==============================================================================
Please consult oofem home page (http://www.oofem.org) for
more documentation, manuals and new versions.
Bugs
==============================================================================
Please mail all bug reports and suggestions to [[email protected]]. I will try to
give satisfaction, if the time is at least partially on my side.
Enjoy
Borek Patzak