From 4964a8dd8dc5f7b9e4097283baecf192d18d4ce3 Mon Sep 17 00:00:00 2001 From: zherexli Date: Mon, 3 Oct 2016 12:00:45 -0400 Subject: [PATCH] fix the bug in squaretube so to properly generate a square tube in different orientations --- tests/lbpm_squaretube_pp.cpp | 76 ++++++++++++++++++++++++++---------- 1 file changed, 55 insertions(+), 21 deletions(-) diff --git a/tests/lbpm_squaretube_pp.cpp b/tests/lbpm_squaretube_pp.cpp index d4a9b794..d506f7c2 100644 --- a/tests/lbpm_squaretube_pp.cpp +++ b/tests/lbpm_squaretube_pp.cpp @@ -38,7 +38,9 @@ int main(int argc, char **argv) MPI_Request req1[18],req2[18]; MPI_Status stat1[18],stat2[18]; - int ORIENTATION; + int ORIENTATION=2; //default: the tube is aligned with Z axis + //ORIENTATION = 0: tube is aligned with X axis + //ORIENTATION = 1: tube is aligned with Y axis double TubeWidth =15.0; int BC; int BubbleTop,BubbleBottom; @@ -161,34 +163,66 @@ int main(int argc, char **argv) if (ORIENTATION==0){ // square capillary tube aligned with the x direction - Averages.SDs(i,j,k) = TubeWidth/2 - fabs(i-0.5*Ny); - Averages.SDs(i,j,k) = min(Averages.SDs(i,j,k),TubeWidth/2-fabs(j-0.5*Nz)); + Averages.SDs(i,j,k) = TubeWidth/2 - fabs(j-0.5*Ny); + Averages.SDs(i,j,k) = min(Averages.SDs(i,j,k),TubeWidth/2-fabs(k-0.5*Nz)); + // Initialize phase positions + if (Averages.SDs(i,j,k) < 0.0){ + id[n] = 0; + } + else if (Dm.iproc*Nx+k