Skip to content

Commit

Permalink
Merge pull request #45 from chowland/pf-direct-force
Browse files Browse the repository at this point in the history
Add direct forcing of velocity to zero inside solid phase
  • Loading branch information
chowland authored Mar 6, 2024
2 parents 7284df0 + b1d3ea9 commit 002aca0
Show file tree
Hide file tree
Showing 15 changed files with 185 additions and 300 deletions.
48 changes: 24 additions & 24 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ FLAVOUR=GNU
# Intel: 2022 intel/2022a FFTW/3.3.10-GCC-11.3.0 HDF5/1.12.2-iimpi-2021a
# IRENE (Intel): flavor/hdf5/parallel hdf5 fftw3/gnu
# MARENOSTRUM (Intel): fabric intel mkl impi hdf5 fftw szip
# SUPERMUC (Intel): fftw hdf5
# SUPERMUC (Intel): spack/23.1.0 intel-toolkit/2023.1.0 fftw hdf5
# DISCOVERER:
# GNU: hdf5/1/1.14/latest-gcc-openmpi fftw/3/latest-gcc-openmpi lapack
# Intel: hdf5/1/1.14/latest-intel-openmpi fftw/3/latest-gcc-openmpi mkl
Expand Down Expand Up @@ -65,7 +65,7 @@ ifeq ($(MACHINE),MARENOSTRUM)
LDFLAGS = $(FFTW_LIBS) -mkl=sequential
endif
ifeq ($(MACHINE),SUPERMUC)
FC = mpif90 -fpp -r8 -O3 $(HDF5_INC)
FC = mpiifort -r8 -O3 $(HDF5_INC)
LDFLAGS = $(FFTW_LIB) $(HDF5_F90_SHLIB) $(HDF5_SHLIB) -qmkl=sequential
endif

Expand Down Expand Up @@ -144,49 +144,49 @@ $(PROGRAM): $(MOBJS) $(OBJS)
# Dependencies
#============================================================================
$(OBJDIR)/param.o: src/flow_solver/param.F90
$(FC) -c -o $@ $< $(LDFLAGS)
$(FC) -c -o $@ $<
$(OBJDIR)/AuxiliaryRoutines.o: src/flow_solver/AuxiliaryRoutines.F90
$(FC) -c -o $@ $< $(LDFLAGS)
$(FC) -c -o $@ $<
$(OBJDIR)/decomp_2d.o: src/flow_solver/2decomp/decomp_2d.F90
$(FC) -c -o $@ $< $(LDFLAGS)
$(FC) -c -o $@ $<
$(OBJDIR)/decomp_2d_fft.o: src/flow_solver/2decomp/decomp_2d_fft.F90
$(FC) -c -o $@ $< $(LDFLAGS)
$(FC) -c -o $@ $<
$(OBJDIR)/ibm_param.o: src/ibm/ibm_param.F90
$(FC) -c -o $@ $< $(LDFLAGS)
$(FC) -c -o $@ $<
$(OBJDIR)/grid.o: src/grid.F90
$(FC) -c -o $@ $< $(LDFLAGS)
$(FC) -c -o $@ $<
$(OBJDIR)/pressure.o: src/pressure.F90
$(FC) -c -o $@ $< $(LDFLAGS)
$(FC) -c -o $@ $<
$(OBJDIR)/HermiteInterpolations.o: src/multires/HermiteInterpolations.F90 obj/ibm_param.o
$(FC) -c -o $@ $< $(LDFLAGS)
$(FC) -c -o $@ $<
$(OBJDIR)/h5_tools.o: src/h5tools/h5_tools.F90
$(FC) -c -o $@ $< $(LDFLAGS)
$(FC) -c -o $@ $<
$(OBJDIR)/means.o: src/h5tools/means.F90 obj/ibm_param.o
$(FC) -c -o $@ $< $(LDFLAGS)
$(FC) -c -o $@ $<
$(OBJDIR)/IBMTools.o: src/ibm/IBMTools.F90
$(FC) -c -o $@ $< $(LDFLAGS)
$(FC) -c -o $@ $<
$(OBJDIR)/salinity.o: src/salinity.F90
$(FC) -c -o $@ $< $(LDFLAGS)
$(FC) -c -o $@ $<
$(OBJDIR)/phasefield.o: src/phasefield.F90 obj/salinity.o
$(FC) -c -o $@ $< $(LDFLAGS)
$(FC) -c -o $@ $<
$(OBJDIR)/moisture.o: src/moisture.F90
$(FC) -c -o $@ $< $(LDFLAGS)
$(FC) -c -o $@ $<
$(OBJDIR)/time_averaging.o: src/time_averaging.F90
$(FC) -c -o $@ $< $(LDFLAGS)
$(FC) -c -o $@ $<
$(OBJDIR)/spectra.o: src/spectra.F90 obj/time_averaging.o obj/pressure.o
$(FC) -c -o $@ $< $(LDFLAGS)
$(FC) -c -o $@ $<
$(OBJDIR)/%.o: src/%.F90 $(MOBJS)
$(FC) -c -o $@ $< $(LDFLAGS)
$(FC) -c -o $@ $<
$(OBJDIR)/%.o: src/flow_solver/%.F90 $(MOBJS)
$(FC) -c -o $@ $< $(LDFLAGS)
$(FC) -c -o $@ $<
$(OBJDIR)/%.o: src/h5tools/%.F90 $(MOBJS)
$(FC) -c -o $@ $< $(LDFLAGS)
$(FC) -c -o $@ $<
$(OBJDIR)/%.o: src/multires/%.F90 $(MOBJS)
$(FC) -c -o $@ $< $(LDFLAGS)
$(FC) -c -o $@ $<
$(OBJDIR)/%.o: src/multires/IC_interpolation/%.F90 $(MOBJS)
$(FC) -c -o $@ $< $(LDFLAGS)
$(FC) -c -o $@ $<
$(OBJDIR)/%.o: src/ibm/%.F90 $(MOBJS)
$(FC) -c -o $@ $< $(LDFLAGS)
$(FC) -c -o $@ $<

#============================================================================
# Clean up
Expand Down
2 changes: 1 addition & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Differences with [van der Poel et al (2015)](https://doi.org/10.1016/j.compfluid
Differences with [Ostilla-Monico et al (2015)](https://doi.org/10.1016/j.jcp.2015.08.031):

- Since the current code is modified from AFiD, it is pencil-parallelized in the periodic directions. This contrasts with the previous multi-resolution code, which was slab-parallelized in the wall-normal direction.
- For reasons linked to this change in parallelization, the only terms calculated implicitly are the diffusive terms with derivatives in the wall-normal direction (e.g. $`\nu \partial_{xx}u`$). All other terms are computed explicitly.
- For reasons linked to this change in parallelization, the only terms calculated implicitly are the diffusive terms with derivatives in the wall-normal direction (e.g. $\nu \partial_{xx}u$). All other terms are computed explicitly.
- The multiple resolution strategy in time from [Ostilla-Monico et al (2015)](https://doi.org/10.1016/j.jcp.2015.08.031) is not yet implemented in the code. For now, we only rely on a CFL condition.

## Prerequisites
Expand Down
2 changes: 1 addition & 1 deletion docs/inputs.md
Original file line number Diff line number Diff line change
Expand Up @@ -115,4 +115,4 @@ The input parameter `ibm` can be used to specify different shapes of solid objec
- `ibm = 4` produces a hexagonal lattice of spheres

Of these options, only 1 and 4 have been reliably tested.
Perform your own validation casses before using.
Perform your own validation cases before using.
2 changes: 1 addition & 1 deletion docs/prerequisites.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ These instructions also work for machines running Ubuntu in the Windows Subsyste

## Single-line prerequisite installation
```
sudo apt install build-essential gfortran libblas-dev liblapack-dev libhdf5-mpich-dev libfftw3-dev
sudo apt install build-essential gfortran libblas-dev liblapack-dev libhdf5-openmpi-dev libfftw3-dev
```

## Using a new HPC?
Expand Down
2 changes: 1 addition & 1 deletion examples/2DAxisymMelting/bou.in
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ RAYT PRAT RAYS PRAS FFscaleS

Time stepping parameters
IDTV DT RESID CFLMAX DTMIN DTMAX
1 1e-3 1.e-3 1.0 1e-8 1e-2
0 1e-2 1.e-3 1.0 1e-8 1e-2

Dirichlet/Neumann BC flag on upper(N) and lower(S) walls
inslwS inslwN TfixS TfixN SfixS SfixN
Expand Down
55 changes: 0 additions & 55 deletions examples/2DIceBlock/bou.in

This file was deleted.

8 changes: 4 additions & 4 deletions examples/2DMeltingRBC/bou.in
Original file line number Diff line number Diff line change
Expand Up @@ -12,15 +12,15 @@ FLAGSAL FLAGPF

Read flow / Reset logs
NREAD IRESET
1 0
0 0

Time steps / time limit (wall/flow)
NTST WALLTIMEMAX TMAX
1000000 120 100.0
1000000 3500 100.0

Time interval for saving stats/movie frames
TOUT TFRAME SAVE_3D
0.01 0.01 10.0
0.1 1.0 10.0

Domain size (keep ALX3 = 1.0)
ALX3 YLEN ZLEN
Expand All @@ -36,7 +36,7 @@ RAYT PRAT RAYS PRAS FFscaleS

Time stepping parameters
IDTV DT RESID CFLMAX DTMIN DTMAX
1 1e-3 1.e-3 1.0 1e-8 5e-3
1 1e-3 1.e-3 1.0 1e-8 1e-3

Dirichlet/Neumann BC flag on upper(N) and lower(S) walls
inslwS inslwN TfixS TfixN SfixS SfixN
Expand Down
55 changes: 0 additions & 55 deletions examples/3DIceBlock/bou.in

This file was deleted.

Loading

0 comments on commit 002aca0

Please sign in to comment.