Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
163 commits
Select commit Hold shift + click to select a range
f808d59
Olivier's changes from develop. Also updated LPT class to include ene…
Nov 7, 2022
6aed7db
Shock-particle example case
Nov 7, 2022
ecbfe62
Some updates to Makefiles
Nov 7, 2022
23fd21b
Example MAST cases from Olivier's develop branch
jessecaps Nov 7, 2022
714298c
Update to MAST
jessecaps Nov 7, 2022
c334b71
Particle mod
jessecaps Nov 7, 2022
d72f61d
Fixed Tenneti correlation
jessecaps Nov 7, 2022
adaf88f
Update to MAST
jessecaps Nov 7, 2022
09a1e4f
Added HIT from new_linsol branch
jessecaps Nov 18, 2022
c7e8178
Update lpt_class.f90
jessecaps Nov 29, 2022
d9b56f6
Update lpt_class.f90
jessecaps Nov 30, 2022
b674f28
Update simulation.f90
jessecaps Nov 30, 2022
c6d27d3
Fluidized Bed Initialization With Grid Problems
rgrawe Dec 5, 2022
2126f7a
Merge branch 'jcaps' of https://github.com/jessecaps/NGA2 into jcaps
rgrawe Dec 5, 2022
a769c4e
Merge pull request #1 from rgrawe/develop
jessecaps Dec 5, 2022
a311987
Delete .#lpt_class.f90
jessecaps Dec 5, 2022
7305337
Update lpt_class.f90
jessecaps Dec 7, 2022
be802f8
fbed input
jessecaps Dec 7, 2022
55eeef5
Update .gitignore
jessecaps Dec 7, 2022
c2aebbf
Updates to fluidized bed
jessecaps Dec 7, 2022
ab391b2
Output part vector to EnSight
jessecaps Dec 7, 2022
8f9a8cf
New diagonal solver class
jessecaps Dec 9, 2022
6016beb
fixed bad tab character
johnpwakefield Dec 9, 2022
b0a321e
diag solver updates
jessecaps Dec 10, 2022
677da16
New LPT capabilities
jessecaps Dec 17, 2022
dc0922e
LPT updates
jessecaps Dec 17, 2022
6260927
Update simulation.f90
jessecaps Dec 17, 2022
bb645e1
Update lpt_class.f90
jessecaps Dec 17, 2022
248792c
new LPT CFL
jessecaps Dec 17, 2022
4849175
LPT updates
jessecaps Dec 18, 2022
9180874
Update lowmach_class.f90
jessecaps Dec 20, 2022
cf9d4a1
More LPT changes
jessecaps Dec 20, 2022
4cf4506
Remove print statement
jessecaps Dec 20, 2022
e3d440f
Fluidize bed works!
jessecaps Dec 21, 2022
d6d3e64
New direct forcing IBM solver
jessecaps Dec 23, 2022
563b1d0
direct forcing update
jessecaps Dec 23, 2022
bdba18b
Update mathtools.f90
jessecaps Dec 23, 2022
ea4b12b
Update df_class.f90
jessecaps Dec 23, 2022
620e9f7
Update df_class.f90
jessecaps Dec 25, 2022
9d3b0be
IBM update
jessecaps Dec 25, 2022
ab9668a
LPT and DF update
jessecaps Dec 26, 2022
90577ff
Update simulation.f90
jessecaps Dec 29, 2022
057fa6c
Update df_class.f90
jessecaps Dec 30, 2022
5705bd5
Rename variable
jessecaps Dec 31, 2022
55478fd
Simple IB pipe case
jessecaps Dec 31, 2022
c4645da
Add fluctuations to pipe
jessecaps Dec 31, 2022
85bd226
ib_pipe updates
jessecaps Dec 31, 2022
12523eb
Update README
jessecaps Jan 1, 2023
0328a00
Part_inject makefil
jessecaps Jan 2, 2023
b78a1f3
Update GNUmakefile
jessecaps Jan 2, 2023
042b250
Update simulation.f90
jessecaps Jan 3, 2023
4b3f51c
Update simulation.f90
jessecaps Jan 3, 2023
65dd294
Update simulation.f90
jessecaps Jan 3, 2023
319148b
Update lpt_class.f90
jessecaps Jan 4, 2023
2f95259
LPT implicit filter now works and doesn't print warnings
jessecaps Jan 4, 2023
cd0cbd4
Update lpt_class.f90
jessecaps Jan 4, 2023
5780cd5
LPT updates
jessecaps Jan 4, 2023
7a2b63e
Delete matm_class.f90
jessecaps Jan 5, 2023
644f8b8
Updates to SGS
jessecaps Jan 5, 2023
ced0d79
Update lowmach_class.f90
jessecaps Jan 6, 2023
4a52436
channel case
jessecaps Jan 7, 2023
9ec1db7
Channel update
jessecaps Jan 7, 2023
0616fb5
Create GNUmakefile
jessecaps Jan 8, 2023
19cc1c1
Delete matm_class.f90
jessecaps Jan 8, 2023
42c6afb
Port new LPT routines to Master
jessecaps Jan 8, 2023
b533e73
Simple IB pipe case
jessecaps Jan 8, 2023
ec6fad5
Channel case added
jessecaps Jan 8, 2023
4d62407
Direct forcing solver added
jessecaps Jan 8, 2023
8e5df3b
Update sgsmodel_class.f90
jessecaps Jan 8, 2023
0e80a30
Part inject
jessecaps Jan 8, 2023
49fc8e8
Update simulation.f90
jessecaps Jan 9, 2023
aad15ec
Merge branch 'master' into develop
jessecaps Jan 10, 2023
8420943
Update diag_class.f90
jessecaps Jan 13, 2023
2224e25
Remove case
jessecaps Jan 14, 2023
c8761db
Update lpt_class.f90
jessecaps Jan 24, 2023
30c26b7
current (not working) p3dfft class; same error as library example whe…
johnpwakefield Jan 25, 2023
b0d6e7b
fixed ref_stencil for non-root processes
johnpwakefield Jan 25, 2023
53a06cf
fixed processor-local indices in fourier space
johnpwakefield Jan 25, 2023
8a3d5a9
New riser case
jessecaps Jan 25, 2023
092cee5
Merge branch 'develop' of https://github.com/desjardi/NGA2 into develop
jessecaps Jan 25, 2023
dd5fb99
Update lowmach_class.f90
jessecaps Jan 25, 2023
f805f3d
Resolve issues from previous merge
jessecaps Jan 25, 2023
30016ba
Merge branch 'p3dfft' into develop
jessecaps Jan 26, 2023
90ca7e4
Remove old example case
jessecaps Jan 26, 2023
82f803f
Update incomp_class.f90
jessecaps Jan 26, 2023
0a0a86e
fixing merge issues
jessecaps Jan 26, 2023
3060d19
Update Make.p3dfft
jessecaps Jan 26, 2023
0dc01ce
Update Make.p3dfft
jessecaps Jan 26, 2023
475fade
fixed off by one error
johnpwakefield Jan 27, 2023
5781f18
added Poisson equation with point sources test case for p3dfft solver
johnpwakefield Jan 27, 2023
3afc9c9
Update to pipe cases
jessecaps Jan 27, 2023
ccae70d
fixed scaling
johnpwakefield Jan 28, 2023
766c357
Update lpt_class.f90
jessecaps Jan 28, 2023
a8f65c1
Merge branch 'p3dfft' into develop
jessecaps Jan 30, 2023
3b1639b
p3dfft merge
jessecaps Jan 30, 2023
e9773ce
Update pfft3d_class.f90
jessecaps Jan 31, 2023
73720a6
Update pfft3d_class.f90
jessecaps Jan 31, 2023
1247ef2
Merge branch 'develop' of https://github.com/desjardi/NGA2 into develop
jessecaps Feb 1, 2023
0750caf
Fix conflicts with merge
jessecaps Feb 1, 2023
2d5aba0
Update poissontest
jessecaps Feb 1, 2023
ec09e9f
Update pfft3d_class.f90
jessecaps Feb 1, 2023
917ece4
Update pfft3d_class.f90
jessecaps Feb 1, 2023
2aa1478
Particle-laden pipe flow is working
jessecaps Feb 2, 2023
5842d2e
Update pfft3d_class.f90
jessecaps Feb 2, 2023
ef24ad8
Update pfft3d_class.f90
jessecaps Feb 2, 2023
7aefa45
Update geometry.f90
jessecaps Feb 2, 2023
3278fd0
Update geometry.f90
jessecaps Feb 3, 2023
9e56801
Merge branch 'develop' of https://github.com/desjardi/NGA2 into develop
jessecaps Feb 3, 2023
b7dbc2b
P3DFFT allows for general decomposition
jessecaps Feb 4, 2023
5c4d232
Update simulation.f90
jessecaps Feb 4, 2023
be5f1f9
In-house P3DFFT
jessecaps Feb 7, 2023
cac0ade
nothing important
jessecaps Feb 7, 2023
ee68f90
IB collision + linsol integration
jessecaps Feb 7, 2023
5b56d8f
LPT updates
jessecaps Feb 8, 2023
3be151f
Update GNUmakefile
jessecaps Feb 8, 2023
8461ee6
remove p3dfft decomp
jessecaps Feb 8, 2023
9d83c8e
Squashed commit of the following:
jessecaps Feb 8, 2023
9217d19
Sync w/ Olivier
jessecaps Feb 8, 2023
9a4ccf4
Riser case
jessecaps Feb 8, 2023
2b6e5f7
Riser update
jessecaps Feb 9, 2023
6996865
Merge branch 'develop' of github.com:johnpwakefield/NGA2 into develop
johnpwakefield Feb 9, 2023
34608c8
Squashed commit of the following:
jessecaps Feb 9, 2023
b522515
MUSCL (#5)
johnpwakefield Feb 9, 2023
7e71780
Update pgrid_class.f90
jessecaps Feb 9, 2023
5bb6c65
Update sgsmodel_class.f90
jessecaps Feb 9, 2023
70252d5
Update sgsmodel_class.f90
jessecaps Feb 9, 2023
03159b4
Merge branch 'jessecaps:develop' into develop
johnpwakefield Feb 9, 2023
e2bcef7
Update input
jessecaps Feb 10, 2023
f93b10a
Squashed commit of the following:
jessecaps Feb 10, 2023
0880680
Update simulation.f90
jessecaps Feb 10, 2023
fd18cb6
Refresh repo, sync w/ jessecaps:develop
maxzog Feb 10, 2023
aa0a614
HIT src/ added
maxzog Feb 10, 2023
8b22914
DNStoLES interpolation case, fixed dissipation calc in HIT
maxzog Feb 10, 2023
da1fd61
Update simulation.f90
jessecaps Feb 10, 2023
5d6b424
Update simulation.f90
jessecaps Feb 10, 2023
24b9db9
Squashed commit of the following:
jessecaps Feb 11, 2023
0889fc7
HIT updates
jessecaps Feb 13, 2023
17ca6b0
Update input
jessecaps Feb 13, 2023
306177b
Update pgrid_class.f90
jessecaps Feb 13, 2023
e48aa54
vdjet case update
jessecaps Feb 14, 2023
406f89f
New turbidity current case
jessecaps Feb 14, 2023
ba2af03
Update input
jessecaps Feb 15, 2023
7110e21
Update ensight_class.f90
jessecaps Feb 15, 2023
eddf1b3
Added SGS to turbidity case
jessecaps Feb 15, 2023
af22221
Turbidity update
jessecaps Feb 15, 2023
37b7688
Update simulation.f90
jessecaps Feb 15, 2023
705b68f
Turbidity updates.
jessecaps Feb 15, 2023
1ed0206
Update lowmach_class.f90
jessecaps Feb 15, 2023
db0c35e
Update simulation.f90
jessecaps Feb 15, 2023
ed6b25e
Riser update
jessecaps Feb 16, 2023
053345b
Riser update
jessecaps Feb 16, 2023
ae8be77
Update simulation.f90
jessecaps Feb 17, 2023
e77a969
Update simulation.f90
jessecaps Feb 21, 2023
dff3230
Changes to turbidity
jessecaps Feb 21, 2023
b672fff
Update simulation.f90
jessecaps Feb 21, 2023
394de02
Updated simulation.f90 for restart (#8)
sthvkbht Feb 22, 2023
8d4ba27
Update simulation.f90
jessecaps Feb 22, 2023
7a6c17d
Update lpt_class.f90
jessecaps Feb 22, 2023
227ea21
PTKE seems to be working!
jessecaps Feb 24, 2023
218e9d2
Merge branch 'develop' of github.com:johnpwakefield/NGA2 into develop
johnpwakefield Feb 27, 2023
f70757c
separated fourier solver from transform
johnpwakefield Feb 27, 2023
9a46386
refactored fft functions to make them shorter, removed compiler warnings
johnpwakefield Mar 1, 2023
b5a5a5c
Fixed several compiler warnings, most of which related to previously …
johnpwakefield Mar 1, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
52 changes: 52 additions & 0 deletions examples/DNStoLES/GNUmakefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
# NGA location if not yet defined
NGA_HOME ?= ../..

# Compilation parameters
PRECISION = DOUBLE
USE_MPI = TRUE
USE_HYPRE = TRUE
USE_LAPACK= TRUE
USE_IRL = FALSE
USE_FFTW = TRUE
PROFILE = FALSE
DEBUG = FALSE
COMP = gnu
EXEBASE = nga

# Directories that contain user-defined code
Udirs := src

# Include user-defined sources
Upack += $(foreach dir, $(Udirs), $(wildcard $(dir)/Make.package))
Ulocs += $(foreach dir, $(Udirs), $(wildcard $(dir)))
include $(Upack)
INCLUDE_LOCATIONS += $(Ulocs)
VPATH_LOCATIONS += $(Ulocs)

# Define external libraries - this can also be in .profile
#HDF5_DIR = /Users/desjardi/Builds/hdf5
LAPACK_DIR= /usr/local/Cellar/lapack/3.11
HYPRE_DIR = /Users/maxzog/builds/hypre/src/hypre
FFTW_DIR = /usr/local/Cellar/fftw/3.3.10_1
#IRL_DIR = /Users/maxzog/IRL/

# NGA compilation definitions
include $(NGA_HOME)/tools/GNUMake/Make.defs

# Include NGA base code
Bdirs := particles constant_density core data solver config grid libraries
Bpack += $(foreach dir, $(Bdirs), $(NGA_HOME)/src/$(dir)/Make.package)
include $(Bpack)

# Inform user of Make.packages used
ifdef Ulocs
$(info Taking user code from: $(Ulocs))
endif
$(info Taking base code from: $(Bdirs))

# Target definition
all: $(executable)
@echo COMPILATION SUCCESSFUL

# NGA compilation rules
include $(NGA_HOME)/tools/GNUMake/Make.rules
15 changes: 15 additions & 0 deletions examples/DNStoLES/input
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
# First mesh definition
1 Partition : 1 1 4
1 Number of cells : 128 128 128
1 Domain size : 6.2832 6.2832 6.2832
1 Domain center : 3.1416 3.1416 3.1416

# Second mesh definition
2 Partition : 1 1 4
2 Number of cells : 64 64 64
2 Domain size : 6.2832 6.2832 6.2832
2 Domain center : 3.1416 3.1416 3.1416

# i/o
DNS file (i) : ./dns/
LES file (o) : ./les/
141 changes: 141 additions & 0 deletions examples/DNStoLES/src/geometry.f90
Original file line number Diff line number Diff line change
@@ -0,0 +1,141 @@
!> Various definitions and tools for initializing NGA2 config
module geometry
use mpi_f08, only: MPI_Group
use config_class, only: config
use precision, only: WP
implicit none
private

!> Public declarations
public :: geometry_init
public :: cfg1,grp1,isInGrp1
public :: cfg2,grp2,isInGrp2

!> Two groups and partitions, along with logicals
integer, dimension(3) :: partition1,partition2
logical :: isInGrp1,isInGrp2
type(MPI_Group) :: grp1,grp2

!> These are the two configs
type(config) :: cfg1,cfg2

contains


!> Initialization of problem geometry
subroutine geometry_init
use param, only: param_read
use parallel, only: comm,group,nproc,rank
use mpi_f08, only: MPI_Group,MPI_Group_range_incl
implicit none
integer, dimension(3,1) :: grange
integer :: ierr

! We start by reading in the two partitions
call param_read('1 Partition',partition1)
call param_read('2 Partition',partition2)

! Create an MPI group along with logical for the first grid on the lowest ranks
grange(:,1)=[0,product(partition1)-1,1]
call MPI_Group_range_incl(group,1,grange,grp1,ierr)
isInGrp1=.false.; if (rank.le.product(partition1)-1) isInGrp1=.true.

! Create an MPI group along with logical for the second grid on the highest ranks
grange(:,1)=[nproc-product(partition2),nproc-1,1]
call MPI_Group_range_incl(group,1,grange,grp2,ierr)
isInGrp2=.false.; if (rank.ge.nproc-product(partition2)) isInGrp2=.true.

! Initialize grid 1
if (isInGrp1) then

create_cfg1: block
use param, only: param_read
use sgrid_class, only: cartesian,sgrid
type(sgrid) :: grid
integer :: i,j,k
integer, dimension(3) :: ncell
real(WP), dimension(3) :: dsize
real(WP), dimension(3) :: dcent
real(WP), dimension(:), allocatable :: x,y,z

! Read in grid definition
call param_read('1 Number of cells',ncell)
call param_read('1 Domain size' ,dsize)
call param_read('1 Domain center' ,dcent)
allocate(x(ncell(1)+1))
allocate(y(ncell(2)+1))
allocate(z(ncell(3)+1))

! Create simple rectilinear grid
do i=1,ncell(1)+1
x(i)=real(i-1,WP)/real(ncell(1),WP)*dsize(1)-0.5_WP*dsize(1)+dcent(1)
end do
do j=1,ncell(2)+1
y(j)=real(j-1,WP)/real(ncell(2),WP)*dsize(2)-0.5_WP*dsize(2)+dcent(2)
end do
do k=1,ncell(3)+1
z(k)=real(k-1,WP)/real(ncell(3),WP)*dsize(3)-0.5_WP*dsize(3)+dcent(3)
end do

! General serial grid object
grid=sgrid(coord=cartesian,no=1,x=x,y=y,z=z,xper=.false.,yper=.false.,zper=.false.,name='grid1')

! Use it to create a config
cfg1=config(grp=grp1,decomp=partition1,grid=grid)

! Do not place walls
cfg1%VF=1.0_WP

end block create_cfg1

end if

! Initialize grid 2
if (isInGrp2) then

create_cfg2: block
use param, only: param_read
use sgrid_class, only: cartesian,sgrid
type(sgrid) :: grid
integer :: i,j,k
integer, dimension(3) :: ncell
real(WP), dimension(3) :: dsize
real(WP), dimension(3) :: dcent
real(WP), dimension(:), allocatable :: x,y,z

! Read in grid definition
call param_read('2 Number of cells',ncell)
call param_read('2 Domain size' ,dsize)
call param_read('2 Domain center' ,dcent)
allocate(x(ncell(1)+1))
allocate(y(ncell(2)+1))
allocate(z(ncell(3)+1))

! Create simple rectilinear grid
do i=1,ncell(1)+1
x(i)=real(i-1,WP)/real(ncell(1),WP)*dsize(1)-0.5_WP*dsize(1)+dcent(1)
end do
do j=1,ncell(2)+1
y(j)=real(j-1,WP)/real(ncell(2),WP)*dsize(2)-0.5_WP*dsize(2)+dcent(2)
end do
do k=1,ncell(3)+1
z(k)=real(k-1,WP)/real(ncell(3),WP)*dsize(3)-0.5_WP*dsize(3)+dcent(3)
end do

! General serial grid object
grid=sgrid(coord=cartesian,no=1,x=x,y=y,z=z,xper=.false.,yper=.false.,zper=.false.,name='grid2')

! Use it to create a config
cfg2=config(grp=grp2,decomp=partition2,grid=grid)

! Do not place walls
cfg2%VF=1.0_WP

end block create_cfg2

end if

end subroutine geometry_init


end module geometry
Loading