Skip to content

Commit b184f74

Browse files
committed
merge upstream from private
2 parents 53198f3 + 9e1ccc9 commit b184f74

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+10207
-409
lines changed

.gitignore

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,26 @@ tests/*/silo*
2121
tests/*/restart*
2222
tests/*/*.out
2323
tests/*/binary
24+
<<<<<<< HEAD
25+
=======
26+
example_cases/*batch/*/
27+
>>>>>>> MFC_private/master
2428
example_cases/*/D/*
2529
example_cases/*/p*
2630
example_cases/*/D_*
2731
example_cases/*/*.inf
2832
example_cases/*/*.inp
2933
example_cases/*/*.dat
34+
<<<<<<< HEAD
35+
=======
36+
example_cases/*/*.o*
37+
>>>>>>> MFC_private/master
3038
example_cases/*/silo*
3139
example_cases/*/restart*
3240
example_cases/*/*.out
3341
example_cases/*/binary
3442
lib/fftw-3.3.8
43+
<<<<<<< HEAD
44+
=======
45+
lib/lapack-3.4.2
46+
>>>>>>> MFC_private/master

AUTHORS

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,10 @@
11
The MFC is distributed under the GNU GPLv3 license (or later).
22

3+
<<<<<<< HEAD
34
Contributors: S. H. Bryngelson, K. Schmidmayer, V. Coralic, J. Meng, K. Maeda, T. Colonius
5+
=======
6+
Contributors: S. H. Bryngelson, K. Schmidmayer, V. Coralic, J. Meng, K. Maeda, T. Colonius, J.-S. Spratt, M. Rodriguez
7+
>>>>>>> MFC_private/master
48

59

610
Spencer H. Bryngelson
@@ -10,6 +14,21 @@ California Institute of Technology
1014
Pasadena, California, USA
1115
1216

17+
<<<<<<< HEAD
18+
=======
19+
Jean-Sebastien Spratt
20+
--------------------------------------------
21+
Graduate Researcher
22+
California Institute of Technology
23+
Pasadena, California, USA
24+
25+
Mauro Rodriguez
26+
--------------------------------------------
27+
Postdoctoral Scholar
28+
California Institute of Technology
29+
Pasadena, California, USA
30+
31+
>>>>>>> MFC_private/master
1332
Kevin Schmidmayer
1433
--------------------------------------------
1534
Postdoctoral Scholar

CONFIGURE

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,11 +21,28 @@ If you already have FFTW compiled:
2121
include files in Makefile.user (fftw_lib_dir and
2222
fftw_include_dir)
2323

24+
<<<<<<< HEAD
2425
If you do not have FFTW compiler, the library and
26+
=======
27+
If you do not have FFTW compiled, the library and
28+
>>>>>>> MFC_private/master
2529
installer are included in this package. Just:
2630
$$ cd installers
2731
$$ ./install_fftw.sh
2832

33+
<<<<<<< HEAD
34+
=======
35+
## LAPACK ##
36+
If you already have LAPACK compiled:
37+
- Specify the location of your LAPACK library and
38+
include files in Makefile.user (lapack_lib_dir)
39+
40+
If you do not have LAPACK compiled, the library and
41+
installer are included in this package. Just:
42+
$$ cd installers
43+
$$ ./install_lapack.sh
44+
45+
>>>>>>> MFC_private/master
2946
#> Post-processing of parallel data files is not required,
3047
#> but can indeed be handled with the MFC. For this, HDF5
3148
#> and Silo must be installed

Makefile.in

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,17 @@
11
include ../../Makefile.user
22

3+
<<<<<<< HEAD
4+
=======
5+
####################### Lapack Flags ###########################
6+
7+
# Linker flags
8+
ifdef lapack_lib_dir
9+
ld_pre_flags = -L$(lapack_lib_dir) -llapack -lblas
10+
else
11+
ld_pre_flags =
12+
endif
13+
14+
>>>>>>> MFC_private/master
315
########################## FFTW Flags ###########################
416
# Linker flags
517
ifdef fftw_lib_dir
@@ -8,6 +20,13 @@ else
820
ld_sim_flags =
921
endif
1022

23+
<<<<<<< HEAD
24+
=======
25+
ifdef lapack_lib_dir
26+
ld_sim_flags += -L$(lapack_lib_dir) -llapack -lblas
27+
endif
28+
29+
>>>>>>> MFC_private/master
1130
# Header flags
1231
ifdef fftw_include_dir
1332
hd_flags = -I$(fftw_include_dir)

Makefile.user

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ MFC_DIR:=$(shell dirname $(realpath $(lastword $(MAKEFILE_LIST))))
44

55
### Compiler command ###
66
FC = mpif90
7+
<<<<<<< HEAD
78

89
### Compiler flags [set according to your compiler] ###
910
## Note: Requires -cpp (Intel/GCC/etc) or -eZ (Cray) to
@@ -21,6 +22,28 @@ fftw_lib_dir = $(MFC_DIR)/lib/fftw-3.3.8/lib
2122
fftw_include_dir = $(MFC_DIR)/lib/fftw-3.3.8/include
2223

2324
## Some other example locations
25+
=======
26+
#FC = mpiifort
27+
28+
### Compiler flags [set according to your compiler] ###
29+
#Note: Requires -cpp to enable preprocessor
30+
31+
FFLAGS = -cpp -c -w -freal-4-real-8 -O3
32+
# FFLAGS = -cpp -c -w -fimplicit-none -Wall -Wline-truncation -Wcharacter-truncation -Wsurprising -Waliasing -Wimplicit-interface -Wunused-parameter -fwhole-file -fcheck=all -std=f2008 -pedantic -fbacktrace
33+
#NOTE: Cray compilers require: -eZ
34+
35+
######### LAPACK library location #########
36+
lapack_lib_dir = $(MFC_DIR)/lib/lapack-3.4.2/
37+
38+
######### FFTW library and include locations #########
39+
######### Set these to the location of FFTW #########
40+
41+
## For the FFTW included in the MFC package
42+
fftw_lib_dir = $(MFC_DIR)/lib/fftw-3.3.8/lib
43+
fftw_include_dir = $(MFC_DIR)/lib/fftw-3.3.8/include
44+
45+
## Other possible locatins [only use absolute paths]
46+
>>>>>>> MFC_private/master
2447
#fftw_lib_dir = /usr/local/lib
2548
#fftw_include_dir = /usr/include
2649
#fftw_include_dir = /usr/local/include
@@ -32,6 +55,11 @@ fftw_include_dir = $(MFC_DIR)/lib/fftw-3.3.8/include
3255
silo_lib_dir = /usr/local/lib
3356
silo_include_dir = /usr/local/include
3457

58+
<<<<<<< HEAD
3559
## Some other example locations
3660
#silo_lib_dir = <SILO_DIR>/lib
3761
#silo_include_dir = <SILO_DIR>/include
62+
=======
63+
#silo_lib_dir = /home/spencer/packages/silo-4.10.2/lib
64+
#silo_include_dir = /home/spencer/packages/silo-4.10.2/include
65+
>>>>>>> MFC_private/master

README.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,10 +5,15 @@ for multi-component, multi-phase, and bubbly flows.
55

66
# Authors
77

8+
<<<<<<< HEAD
89
MFC was developed at Caltech by a group
910
of post-doctoral scientists and graduate research students
1011
under the supervision of Professor Tim Colonius. These contributors
1112
include:
13+
=======
14+
MFC was developed at Caltech by a group of post-doctoral scientists and graduate research students under the supervision of Professor Tim Colonius.
15+
These contributors include:
16+
>>>>>>> MFC_private/master
1217
* Dr. Spencer Bryngelson
1318
* Dr. Kevin Schmidmayer
1419
* Dr. Vedran Coralic
@@ -33,6 +38,7 @@ for multi-component, multi-phase, and bubbly flows.
3338
## MFC paper
3439

3540
The paper that describes the MFC's capabilities:
41+
<<<<<<< HEAD
3642
* <a href="http://dx.doi.org/https://doi.org/10.1016/j.cpc.2020.107396">
3743
S. H. Bryngelson, K. Schmidmayer, V. Coralic, K. Maeda, J. Meng, T. Colonius (2020) Computer Physics Communications 4655, 107396
3844
</a>
@@ -52,6 +58,12 @@ for multi-component, multi-phase, and bubbly flows.
5258
}
5359
```
5460

61+
=======
62+
* <a href="https://doi.org/10.1016/j.cpc.2020.107396">
63+
S. H. Bryngelson, K. Schmidmayer, V. Coralic, K. Maeda, J. Meng, T. Colonius (2020) Computer Physics Communications 4655, 107396
64+
</a>
65+
66+
>>>>>>> MFC_private/master
5567
## Related publications
5668

5769
Several publications have used the MFC in various stages of its
@@ -113,14 +125,22 @@ Ph.D. Disserations:
113125

114126
### Main dependencies: MPI and Python
115127
If you do not have Python, it can be installed via
128+
<<<<<<< HEAD
116129
<a href="https://brew.sh/">Homebrew on MacOS</a> as:
130+
=======
131+
<a href="https://brew.sh/">Homebrew on OSX</a> as:
132+
>>>>>>> MFC_private/master
117133
`brew install python`
118134

119135
or compiled via your favorite package manager on Unix systems.
120136

121137
An MPI fortran compiler is required for all systems.
122138
If you do not have one, Homebrew can take care of this
139+
<<<<<<< HEAD
123140
on MacOS:
141+
=======
142+
on OSX:
143+
>>>>>>> MFC_private/master
124144
`brew install open-mpi`
125145

126146
or compiled via another package manager on Unix systems.
@@ -144,7 +164,11 @@ If you do not have FFTW compiler, the library and
144164
but can indeed be handled with the MFC. For this, HDF5
145165
and Silo must be installed
146166

167+
<<<<<<< HEAD
147168
On MacOS, a custom Homebrew tap for Silo is included in the installers
169+
=======
170+
On OSX, a custom Homebrew tap for Silo is included in the installers
171+
>>>>>>> MFC_private/master
148172
directory. You can use it via
149173
`cd installers`
150174
`brew install silo.rb`
@@ -203,16 +227,28 @@ Their contents, and a guide to filling them out, are documented
203227
in the user manual. A commented, tutorial script
204228
can also be found in `example_cases/3d_sphbubcollapse`.
205229
MFC can be executed as
230+
<<<<<<< HEAD
206231
`python input.py pre_process`
207232

208233
which will generate the restart and grid files that will be read
209234
by the simulation code. Then
210235
`python input.py simulation`
236+
=======
237+
`python pre_process`
238+
239+
which will generate the restart and grid files that will be read
240+
by the simulation code. Then
241+
`python simulation`
242+
>>>>>>> MFC_private/master
211243
212244
will execute the flow solver. The last (optional) step
213245
is to post treat the data files and output HDF5 databases
214246
for the flow variables via
247+
<<<<<<< HEAD
215248
`python input.py post_process`
249+
=======
250+
`python post_process`
251+
>>>>>>> MFC_private/master
216252
217253
Note that the post-processing step
218254
requires installation of Silo and HDF5.

doc/basics_of_qbmm.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
'qbmm' : 'T',
2+
* Turns on QBMM. It uses CHyQMOM.
3+
'nnode' : 4,
4+
* Number of quadrature points.
5+
* Currently 4 is the only option.
6+
'dist_type' : 2,
7+
* 1 = Binormal distribution
8+
* 2 = Lognormal in R, Normal in V (Rdot)
9+
* Both of these use mean in R = 1, mean in V = 0
10+
'sigR' : 0.1,
11+
* Standard deviation of distribution in R
12+
'sigV' : 0.1,
13+
* Standard deviation of distribution in V (Rdot)
14+
'rhoRV' : 0.0,
15+
* Initial covariance between R and V directions (usually 0)

doc/how_to_add_variable.md

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
# How to add variable to MFC
2+
3+
* Add variable to input.py
4+
* Add variable to src/master_scripts/m_python_proxy.py dictionary as appropriate (pre_process, simulation, and/or post_process)
5+
* This will then write this variable to the \*.in input file that gets created by input.py
6+
* Go into the code that you added the variable for (pre_process / simulation / post_process)
7+
* m_startup.f90
8+
* Add variable to NAMELIST user_inputs in subroutine s_read_input_file
9+
* Add appropriate checks to s_check_input_file
10+
* m_global_parameters.f90
11+
* Make your new variable/parameter global so that the whole code can see it
12+
* Add it to the header of this module (document as appropriate)
13+
* In s_assign_default_values_to_user_inputs set the default value for this variable
14+
* m_mpi_proxy.f90
15+
* s_mpi_bcast_user_inputs
16+
* This is where the variable is broadcasted to all processors
17+
* Add to list of broadcasted variables
18+
* e.g. CALL MPI_BCAST(weno_nn, 1, MPI_LOGICAL, 0, MPI_COMM_WORLD, ierr )
19+
* You can now use your variable (e.g. weno_nn) in the code. At least anywhere that m_global_parameters is used (see header of module)
20+

doc/richardson_MFC.md

Lines changed: 89 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,89 @@
1+
# How to get MFC up and running on Richardson
2+
3+
* Log in
4+
5+
* Make this an alias! e.g. $ richardson
6+
* Append
7+
alias richardson='ssh -Y <your_userid>@richardson.caltech.edu'
8+
RICHARDSON="<user name>@richardson.caltech.edu"
9+
to your ~/.bash_profile
10+
on your local computer
11+
* Add your private key to your Richardson keychain
12+
* $ cat ~/.ssh/id_rsa.pub | ssh <your_userid>@richardson.caltech.edu 'cat >> ~/.ssh/authorized_keys'
13+
14+
=======
15+
* [Generate](https://docs.joyent.com/public-cloud/getting-started/ssh-keys/generating-an-ssh-key-manually/manually-generating-your-ssh-key-in-mac-os-x) your private key if you don't have one
16+
* $ cat ~/.ssh/id_rsa.pub | ssh <your_userid>@richardson.caltech.edu 'cat >> ~/.ssh/authorized_keys'
17+
18+
* Silo/HDF5, Visit, Paraview on Richardson
19+
* Follow the `visit_paraview_richardson.pdf` document
20+
* Step 15. under 'visit on richardson' should use the following URL: http://visit.ilight.com/svn/visit/branches/2.9RC/src/svn_bin/bv_support/
21+
22+
>>>>>>> qbmm
23+
* Clone MFC, e.g.
24+
* $ git clone https://github.com/ComputationalFlowPhysics/MFC_private.git
25+
* $ git status
26+
* shows what branch you are on
27+
* $ git checkout <branch>
28+
* switch to branch <branch>
29+
30+
* Compile MFC
31+
* Get open-mpi
32+
* Show currently loaded modules
33+
* $ module list
34+
* Show possible module files
35+
* $ module avail
36+
* Load open-mpi
37+
* For example: $ module load openmpi-1.8/gcc
38+
* Add this to your .bashrc so it happens at login time
39+
* Append
40+
module load openmpi-1.8/gcc
41+
to your ~/.bashrc
42+
on Richardson
43+
* Install FFTW
44+
* $ cd installers
45+
* $ ./install_fftw.sh
46+
* Install LAPACK [if QBMM]
47+
* $ cd installers
48+
* $ ./install_lapack.sh
49+
* Make MFC
50+
* $ cd ../ [or to MFC directory]
51+
* make
52+
* make test
53+
54+
* Moving files from local computer to Richardson [While on local computer. Can't do other way around]
55+
* $ rsync -rvz <local files> <user name>@richardson.caltech.edu:<richardson location>
56+
* or $ rsync -rvz <local files> $RICHARDSON:<richardson location>
57+
* Or from Richardson to local computer
58+
* $ rsync -rvz <user name>@richardson.caltech.edu:<richardson location> <local files>
59+
* or $ rsync -rvz $RICHARDSON:<richardson location> <local files>
60+
* Can also use GUI-based tools like FileZilla
61+
62+
* How to visualize using gnuplot on Richardson
63+
* You need XQuartz on your MacOS [or X11 on Linux]
64+
* Install at https://dl.bintray.com/xquartz/downloads/XQuartz-2.7.8.dmg
65+
* Make sure you logged into Richardson using ssh -Y [or ssh -X]
66+
* Check if your X server is working by logging into Richardson and issuing
67+
$ xclock
68+
* I am aware this version is deprecated, but it appears that 2.7.11 does not work in some cases
69+
* Make sure you logged into Richardson using ssh -Y [or ssh -X]
70+
* Check if your X server is working by logging into Richardson and issuing
71+
$ xclock
72+
* IF YOU USE MacOS CATALINA!
73+
* Permissions can be an issue
74+
* Go to System preferences -> Security and Privacy -> Privacy -> Full Disk Access
75+
* Add your terminal (e.g. Terminal, iTerm2, etc.) via the + button
76+
* Add XQuartz (launchd_startx) and the app (XQuartz)
77+
78+
* Copy contents of https://raw.githubusercontent.com/sbryngelson/dotfiles/master/.gnuplotrc_x11
79+
into your ~/.bashrc
80+
* now you can use
81+
$ myplot cons.1.0000000
82+
for, e.g., conservative and primitive serial data files cons.* prim.*
83+
$ myplots X probe1.dat
84+
for probe data [variable numeber X]
85+
$ animate1d X cons.1.*
86+
to animate cons.1.* X times
87+
88+
89+

doc/visit_paraview_richardson.pdf

878 KB
Binary file not shown.

0 commit comments

Comments
 (0)