From 21e9fc943b0bd6475ae1e8a048c9dba2c3b0a22a Mon Sep 17 00:00:00 2001 From: jpekkila Date: Mon, 1 Jul 2019 18:40:13 +0300 Subject: [PATCH] Removed all defines from the stencil assembly and processing files and moved them to the new stencil_defines header. There were spaces after some linebreaks which were removed when I autoformatted the code and that's why there seems to be more changes that there actually is. --- acc/mhd_solver/stencil_assembly.sas | 22 +++++++++------------- acc/mhd_solver/stencil_process.sps | 18 +++++------------- 2 files changed, 14 insertions(+), 26 deletions(-) diff --git a/acc/mhd_solver/stencil_assembly.sas b/acc/mhd_solver/stencil_assembly.sas index 06b1063..3451722 100644 --- a/acc/mhd_solver/stencil_assembly.sas +++ b/acc/mhd_solver/stencil_assembly.sas @@ -1,7 +1,3 @@ - -#define LUPWD (0) - - Preprocessed Scalar value(in Scalar vertex) { @@ -19,37 +15,37 @@ gradient(in Scalar vertex) #if LUPWD Preprocessed Scalar -der6x_upwd(in Scalar vertex) +der6x_upwd(in Scalar vertex) { Scalar inv_ds = DCONST_REAL(AC_inv_dsx); return (Scalar){ Scalar(1.0/60.0)*inv_ds* ( - - Scalar(20.0)* vertex[vertexIdx.x, vertexIdx.y, vertexIdx.z] - + Scalar(15.0)*(vertex[vertexIdx.x+1, vertexIdx.y, vertexIdx.z] + vertex[vertexIdx.x-1, vertexIdx.y, vertexIdx.z]) + - Scalar(20.0)* vertex[vertexIdx.x, vertexIdx.y, vertexIdx.z] + + Scalar(15.0)*(vertex[vertexIdx.x+1, vertexIdx.y, vertexIdx.z] + vertex[vertexIdx.x-1, vertexIdx.y, vertexIdx.z]) - Scalar( 6.0)*(vertex[vertexIdx.x+2, vertexIdx.y, vertexIdx.z] + vertex[vertexIdx.x-2, vertexIdx.y, vertexIdx.z]) + vertex[vertexIdx.x+3, vertexIdx.y, vertexIdx.z] + vertex[vertexIdx.x-3, vertexIdx.y, vertexIdx.z])}; } Preprocessed Scalar -der6y_upwd(in Scalar vertex) +der6y_upwd(in Scalar vertex) { Scalar inv_ds = DCONST_REAL(AC_inv_dsy); return (Scalar){ Scalar(1.0/60.0)*inv_ds* ( - -Scalar( 20.0)* vertex[vertexIdx.x, vertexIdx.y, vertexIdx.z] - +Scalar( 15.0)*(vertex[vertexIdx.x, vertexIdx.y+1, vertexIdx.z] + vertex[vertexIdx.x, vertexIdx.y-1, vertexIdx.z]) + -Scalar( 20.0)* vertex[vertexIdx.x, vertexIdx.y, vertexIdx.z] + +Scalar( 15.0)*(vertex[vertexIdx.x, vertexIdx.y+1, vertexIdx.z] + vertex[vertexIdx.x, vertexIdx.y-1, vertexIdx.z]) -Scalar( 6.0)*(vertex[vertexIdx.x, vertexIdx.y+2, vertexIdx.z] + vertex[vertexIdx.x, vertexIdx.y-2, vertexIdx.z]) + vertex[vertexIdx.x, vertexIdx.y+3, vertexIdx.z] + vertex[vertexIdx.x, vertexIdx.y-3, vertexIdx.z])}; } Preprocessed Scalar -der6z_upwd(in Scalar vertex) +der6z_upwd(in Scalar vertex) { Scalar inv_ds = DCONST_REAL(AC_inv_dsz); return (Scalar){ Scalar(1.0/60.0)*inv_ds* ( - -Scalar( 20.0)* vertex[vertexIdx.x, vertexIdx.y, vertexIdx.z] - +Scalar( 15.0)*(vertex[vertexIdx.x, vertexIdx.y, vertexIdx.z+1] + vertex[vertexIdx.x, vertexIdx.y, vertexIdx.z-1]) + -Scalar( 20.0)* vertex[vertexIdx.x, vertexIdx.y, vertexIdx.z] + +Scalar( 15.0)*(vertex[vertexIdx.x, vertexIdx.y, vertexIdx.z+1] + vertex[vertexIdx.x, vertexIdx.y, vertexIdx.z-1]) -Scalar( 6.0)*(vertex[vertexIdx.x, vertexIdx.y, vertexIdx.z+2] + vertex[vertexIdx.x, vertexIdx.y, vertexIdx.z-2]) + vertex[vertexIdx.x, vertexIdx.y, vertexIdx.z+3] + vertex[vertexIdx.x, vertexIdx.y, vertexIdx.z-3])}; } diff --git a/acc/mhd_solver/stencil_process.sps b/acc/mhd_solver/stencil_process.sps index cb121a7..52e9402 100644 --- a/acc/mhd_solver/stencil_process.sps +++ b/acc/mhd_solver/stencil_process.sps @@ -1,11 +1,3 @@ -#define LMAGNETIC (1) -#define LENTROPY (1) -#define LTEMPERATURE (0) -#define LGRAVITY (0) -#define LFORCING (1) -#define LUPWD (0) - - // Declare uniforms (i.e. device constants) uniform Scalar cs2_sound; uniform Scalar nu_visc; @@ -54,9 +46,9 @@ gradients(in Vector uu) Scalar continuity(in Vector uu, in Scalar lnrho) { - return -dot(value(uu), gradient(lnrho)) + return -dot(value(uu), gradient(lnrho)) #if LUPWD - //This is a corrective hyperdiffusion term for upwinding. + //This is a corrective hyperdiffusion term for upwinding. + upwd_der6(uu, lnrho) #endif - divergence(uu); @@ -208,13 +200,13 @@ heat_transfer(in Vector uu, in Scalar lnrho, in Scalar tt) Vector simple_vortex_forcing(Vector a, Vector b, Scalar magnitude) { - return magnitude * cross(normalized(b - a), (Vector){0, 0, 1}); // Vortex + return magnitude * cross(normalized(b - a), (Vector){0, 0, 1}); // Vortex } Vector simple_outward_flow_forcing(Vector a, Vector b, Scalar magnitude) { - return magnitude * (1 / length(b - a)) * normalized(b - a); // Outward flow + return magnitude * (1 / length(b - a)) * normalized(b - a); // Outward flow } Vector @@ -229,7 +221,7 @@ forcing(int3 globalVertexIdx) Scalar magnitude = 0.05; - //Determine that forcing funtion type at this point. + //Determine that forcing funtion type at this point. Vector c = simple_vortex_forcing(a, b, magnitude); //Vector c = simple_outward_flow_forcing(a, b, magnitude);