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.

This commit is contained in:
jpekkila
2019-07-01 18:40:13 +03:00
parent b8869bb848
commit 21e9fc943b
2 changed files with 14 additions and 26 deletions

View File

@@ -1,7 +1,3 @@
#define LUPWD (0)
Preprocessed Scalar Preprocessed Scalar
value(in Scalar vertex) value(in Scalar vertex)
{ {
@@ -19,37 +15,37 @@ gradient(in Scalar vertex)
#if LUPWD #if LUPWD
Preprocessed Scalar Preprocessed Scalar
der6x_upwd(in Scalar vertex) der6x_upwd(in Scalar vertex)
{ {
Scalar inv_ds = DCONST_REAL(AC_inv_dsx); Scalar inv_ds = DCONST_REAL(AC_inv_dsx);
return (Scalar){ Scalar(1.0/60.0)*inv_ds* ( return (Scalar){ Scalar(1.0/60.0)*inv_ds* (
- Scalar(20.0)* vertex[vertexIdx.x, 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(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]) - 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])}; + vertex[vertexIdx.x+3, vertexIdx.y, vertexIdx.z] + vertex[vertexIdx.x-3, vertexIdx.y, vertexIdx.z])};
} }
Preprocessed Scalar Preprocessed Scalar
der6y_upwd(in Scalar vertex) der6y_upwd(in Scalar vertex)
{ {
Scalar inv_ds = DCONST_REAL(AC_inv_dsy); Scalar inv_ds = DCONST_REAL(AC_inv_dsy);
return (Scalar){ Scalar(1.0/60.0)*inv_ds* ( return (Scalar){ Scalar(1.0/60.0)*inv_ds* (
-Scalar( 20.0)* vertex[vertexIdx.x, vertexIdx.y, 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( 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]) -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])}; + vertex[vertexIdx.x, vertexIdx.y+3, vertexIdx.z] + vertex[vertexIdx.x, vertexIdx.y-3, vertexIdx.z])};
} }
Preprocessed Scalar Preprocessed Scalar
der6z_upwd(in Scalar vertex) der6z_upwd(in Scalar vertex)
{ {
Scalar inv_ds = DCONST_REAL(AC_inv_dsz); Scalar inv_ds = DCONST_REAL(AC_inv_dsz);
return (Scalar){ Scalar(1.0/60.0)*inv_ds* ( return (Scalar){ Scalar(1.0/60.0)*inv_ds* (
-Scalar( 20.0)* vertex[vertexIdx.x, vertexIdx.y, vertexIdx.z] -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( 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]) -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])}; + vertex[vertexIdx.x, vertexIdx.y, vertexIdx.z+3] + vertex[vertexIdx.x, vertexIdx.y, vertexIdx.z-3])};
} }

View File

@@ -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) // Declare uniforms (i.e. device constants)
uniform Scalar cs2_sound; uniform Scalar cs2_sound;
uniform Scalar nu_visc; uniform Scalar nu_visc;
@@ -54,9 +46,9 @@ gradients(in Vector uu)
Scalar Scalar
continuity(in Vector uu, in Scalar lnrho) { continuity(in Vector uu, in Scalar lnrho) {
return -dot(value(uu), gradient(lnrho)) return -dot(value(uu), gradient(lnrho))
#if LUPWD #if LUPWD
//This is a corrective hyperdiffusion term for upwinding. //This is a corrective hyperdiffusion term for upwinding.
+ upwd_der6(uu, lnrho) + upwd_der6(uu, lnrho)
#endif #endif
- divergence(uu); - divergence(uu);
@@ -208,13 +200,13 @@ heat_transfer(in Vector uu, in Scalar lnrho, in Scalar tt)
Vector Vector
simple_vortex_forcing(Vector a, Vector b, Scalar magnitude) 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 Vector
simple_outward_flow_forcing(Vector a, Vector b, Scalar magnitude) 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 Vector
@@ -229,7 +221,7 @@ forcing(int3 globalVertexIdx)
Scalar magnitude = 0.05; 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_vortex_forcing(a, b, magnitude);
//Vector c = simple_outward_flow_forcing(a, b, magnitude); //Vector c = simple_outward_flow_forcing(a, b, magnitude);