forked from tan2/DynEarthSol-old
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathREADME
109 lines (87 loc) · 3.79 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
===========
Overview
===========
DynEarthSol3D is a finite element code that solves the momentum balance and
the heat transfer in Lagrangian form using unstructured meshes. It can be
used to study the long-term deformation of Earth's lithosphere and problems
alike.
This version of DES3D contains libadaptivity from Fluidity
(https://github.com/FluidityProject/fluidity),
a self-contained library for anisotropic adaptive mesh refinement,
works well as a mesh optimizer for DES3D's remeshing.
===========
Build
===========
Requirement:
* You will need a recent C++ compiler that supports C++11 standard. (GNU g++
4.4 or newer version will suffice.)
* You will need a recent version of Boost::Program_options library (1.42 or
newer version). Instructions for building the library:
-- Download the source code from www.boost.org
-- In the untarred source directory, run "./bootstrap.sh"
-- In the same directory, run "./b2 --with-program_options -q" to build
the library.
* You will need Python 2.6+ or 3.2+ and the Numpy package.
For libadaptiviy, you further need
* VTK5 (v5.8 and v5.10 tested) or later versions built from source or development packages.
* MPI (openmpi v1.4~v1.6, and mpich2 v1.4 tested).
For importing a mesh in the ExodusII format, you need to install the exodus library
* exodus is available as a part of SEACAS project https://github.com/gsjaardema/seacas/
Procedures:
* Edit 'Makefile',
1) Modify BOOST_ROOT_DIR if you manually built or installed
boost library. If you followed the instructions above to build
Boost::Program_options library, set BOOST_ROOT_DIR to the untarred boost
directory.
2) If using libadaptivity:
2.1) Set 'useadapt = 1' and 'ndims = 3'. libadaptivity works only for 3D.
2.2) Set VTK_INCLUDE and VTK_LIBS paths if vtk is not in standard location.
2.3) Set LIB_MPIFORTRAN for your mpi library
3) If importing an exodus mesh:
3.1) Set 'useexo = 1' and 'ndims = 3'. Only 3D exodus mesh can be imported.
3.2) Set EXO_INCLUDE and EXO_LIB_DIR paths.
* Run "make" to build optimized executable.
* Or run "make opt=0" to build a debugging executable.
* Or run "make openmp=0" to build the executable without OpenMP. This is
necessary to debug the code under valgrind.
===========
Run
===========
* Execute "dynearthsol2d inputfile".
* Pay attention to any warnings. For instance, if a warning about potential
race condition is printed on screen, do follow the given suggestions.
* Several example input files are provided under 'examples/' directory. The
format of the input file is described in 'examples/defaults.cfg'.
* Benchmark cases with analytical solution can be found under 'benchmarks/'
directory.
* Execute the executable with '-h' flag to see the available input parameters
and their descriptions.
===========
Plot
===========
* Run "2vtk.py modelname" to convert the binary output to VTK files.
* Execute 2vtk.py with '-h' flag to see more usage information.
* Some of the simulation outputs might be disabled. Edit 2vtk.py and
output.cxx to disable/enable them.
* Plot the VTK files with Paraview or LLNL's Visit program.
===========
Availability
===========
This software, as well as possible updates, is available from the
following URL:
https://github.com/tan2/DynEarthSol
===========
Bug reports
===========
Bug reports, comments, and suggestions are always welcome. The best
channel is to create an issue on the Issue Tracker here:
https://github.com/tan2/DynEarthSol/issues
===========
License
===========
This program is free software: you can redistribute it and/or modify
it under the terms of the MIT / X Windows System license (see the
file LICENSE for the full text).
The files under the subdirectories 3x3-C/, ann/, libadaptivity/, tetgen/
and triangles/ are distributed by their own license(s).
by Eh Tan, Sept. 2014