From 2428d9bdabd30e50ba5b5c12e5fad84c4b596cf4 Mon Sep 17 00:00:00 2001 From: davytorres Date: Thu, 16 Jun 2022 16:34:03 -0600 Subject: [PATCH 1/3] Created random number table for initial cell positions --- app/main.f90 | 10 +++++++--- src/tcelsim.f90 | 1 - src/tcelsim/t_cell_m.f90 | 5 +++-- src/tcelsim/t_cell_s.f90 | 10 +++------- 4 files changed, 13 insertions(+), 13 deletions(-) diff --git a/app/main.f90 b/app/main.f90 index 9bc02f6..72e8a14 100644 --- a/app/main.f90 +++ b/app/main.f90 @@ -2,24 +2,28 @@ program tcell use tcelsim, only : initialize_positions, create_distribution, move_tcells implicit none - integer ncells, npositions, nintervals, nveldim - parameter(ncells = 100, npositions = 25, nveldim = 4) + integer ncells, npositions, nintervals, nveldim, ndim + parameter(ncells = 100, npositions = 25, nveldim = 4, ndim = 3) parameter(nintervals = 10) double precision vel(nintervals) double precision cumulative_distribution(0:nintervals) double precision, allocatable :: random_number_table(:,:,:) + double precision, allocatable :: random_number_table_positions(:,:) double precision, allocatable :: x(:,:) double precision, allocatable :: y(:,:) double precision, allocatable :: z(:,:) allocate(random_number_table(ncells,npositions,nveldim)) + allocate(random_number_table_positions(ncells,ndim)) allocate(x(ncells,npositions)) allocate(y(ncells,npositions)) allocate(z(ncells,npositions)) - call initialize_positions(x,y,z,ncells,npositions) + call random_number(random_number_table_positions) + + call initialize_positions(x,y,z,random_number_table_positions,ncells,npositions,ndim) call create_distribution(vel,cumulative_distribution,nintervals) diff --git a/src/tcelsim.f90 b/src/tcelsim.f90 index 28aa132..a1b9622 100644 --- a/src/tcelsim.f90 +++ b/src/tcelsim.f90 @@ -1,7 +1,6 @@ module tcelsim use t_cell_m, only : initialize_positions use distribution_m, only : create_distribution - use random_numbers_m, only : create_rand_num_table use move_m, only : move_tcells implicit none diff --git a/src/tcelsim/t_cell_m.f90 b/src/tcelsim/t_cell_m.f90 index 89fabe3..88023e6 100644 --- a/src/tcelsim/t_cell_m.f90 +++ b/src/tcelsim/t_cell_m.f90 @@ -3,9 +3,10 @@ module t_cell_m interface - module subroutine initialize_positions(x,y,z,ncells,npositions) + module subroutine initialize_positions(x,y,z,random_number_table_positions,ncells,npositions,ndim) implicit none - integer, intent(in) :: ncells,npositions + integer, intent(in) :: ncells,npositions,ndim + double precision, intent(in) :: random_number_table_positions(ncells,ndim) double precision, intent(out) :: x(ncells,npositions) double precision, intent(out) :: y(ncells,npositions) double precision, intent(out) :: z(ncells,npositions) diff --git a/src/tcelsim/t_cell_s.f90 b/src/tcelsim/t_cell_s.f90 index 310a1b7..d97e479 100644 --- a/src/tcelsim/t_cell_s.f90 +++ b/src/tcelsim/t_cell_s.f90 @@ -7,19 +7,15 @@ ! Local variables integer i - double precision rr1,rr2,rr3 double precision scaling_factor scaling_factor = 100.d0 ! Assign initial positions to T cells randomly in a [100x100x100] grid do i = 1,ncells - call random_number(rr1) - call random_number(rr2) - call random_number(rr3) - x(i,1) = rr1*scaling_factor - y(i,1) = rr2*scaling_factor - z(i,1) = rr3*scaling_factor + x(i,1) = random_number_table_positions(i,1)*scaling_factor + y(i,1) = random_number_table_positions(i,2)*scaling_factor + z(i,1) = random_number_table_positions(i,3)*scaling_factor end do end procedure initialize_positions From 30607e9399bed34c778f767d61e43b2b66b48d09 Mon Sep 17 00:00:00 2001 From: David J Torres Date: Thu, 16 Jun 2022 17:01:00 -0600 Subject: [PATCH 2/3] Fixes #30 Co-authored-by: Damian Rouson --- src/tcelsim/t_cell_s.f90 | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tcelsim/t_cell_s.f90 b/src/tcelsim/t_cell_s.f90 index d97e479..cd1ef57 100644 --- a/src/tcelsim/t_cell_s.f90 +++ b/src/tcelsim/t_cell_s.f90 @@ -7,7 +7,7 @@ ! Local variables integer i - double precision scaling_factor + double precision, parameter :: scaling_factor = 100. scaling_factor = 100.d0 From 7e23a43e9a13230807ad5098ea9d7707b69e8adc Mon Sep 17 00:00:00 2001 From: David J Torres Date: Thu, 16 Jun 2022 17:01:25 -0600 Subject: [PATCH 3/3] Fixes #30 Co-authored-by: Damian Rouson --- src/tcelsim/t_cell_s.f90 | 1 - 1 file changed, 1 deletion(-) diff --git a/src/tcelsim/t_cell_s.f90 b/src/tcelsim/t_cell_s.f90 index cd1ef57..68b6b95 100644 --- a/src/tcelsim/t_cell_s.f90 +++ b/src/tcelsim/t_cell_s.f90 @@ -9,7 +9,6 @@ integer i double precision, parameter :: scaling_factor = 100. - scaling_factor = 100.d0 ! Assign initial positions to T cells randomly in a [100x100x100] grid do i = 1,ncells