Implementetion for hyperdiffusion to be tested later.
This commit is contained in:
@@ -25,7 +25,7 @@ der6x_upwd(in Scalar vertex),
|
|||||||
}
|
}
|
||||||
|
|
||||||
Preprocessed Scalar
|
Preprocessed Scalar
|
||||||
der6x_upwd(in Scalar vertex),
|
der6y_upwd(in Scalar vertex),
|
||||||
{
|
{
|
||||||
return (Scalar){(1.0/60.0)*inv_ds* (
|
return (Scalar){(1.0/60.0)*inv_ds* (
|
||||||
- 20.0* vertex[vertexIdx.x, vertexIdx.y, vertexIdx.z]
|
- 20.0* vertex[vertexIdx.x, vertexIdx.y, vertexIdx.z]
|
||||||
@@ -36,7 +36,7 @@ der6x_upwd(in Scalar vertex),
|
|||||||
}
|
}
|
||||||
|
|
||||||
Preprocessed Scalar
|
Preprocessed Scalar
|
||||||
der6x_upwd(in Scalar vertex),
|
der6z_upwd(in Scalar vertex),
|
||||||
{
|
{
|
||||||
return (Scalar){(1.0/60.0)*inv_ds* (
|
return (Scalar){(1.0/60.0)*inv_ds* (
|
||||||
- 20.0* vertex[vertexIdx.x, vertexIdx.y, vertexIdx.z]
|
- 20.0* vertex[vertexIdx.x, vertexIdx.y, vertexIdx.z]
|
||||||
@@ -46,17 +46,6 @@ der6x_upwd(in Scalar vertex),
|
|||||||
)}
|
)}
|
||||||
}
|
}
|
||||||
|
|
||||||
Preprocessed Scalar
|
|
||||||
der6_upwd(in Scalar vertex)
|
|
||||||
{
|
|
||||||
der6 =
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
return der6;
|
|
||||||
}
|
|
||||||
|
|
||||||
Preprocessed Matrix
|
Preprocessed Matrix
|
||||||
hessian(in Scalar vertex)
|
hessian(in Scalar vertex)
|
||||||
{
|
{
|
||||||
|
@@ -3,6 +3,7 @@
|
|||||||
#define LTEMPERATURE (0)
|
#define LTEMPERATURE (0)
|
||||||
#define LGRAVITY (0)
|
#define LGRAVITY (0)
|
||||||
#define LFORCING (1)
|
#define LFORCING (1)
|
||||||
|
#define LUPWD (0)
|
||||||
|
|
||||||
|
|
||||||
// Declare uniforms (i.e. device constants)
|
// Declare uniforms (i.e. device constants)
|
||||||
@@ -27,6 +28,14 @@ uniform int ny;
|
|||||||
uniform int nz;
|
uniform int nz;
|
||||||
|
|
||||||
|
|
||||||
|
Scalar
|
||||||
|
upwd_der6(in Vector uu, in Scalar lnrho)
|
||||||
|
{
|
||||||
|
return (Scalar){uu.x*der6x_upwd(lnrho) + uu.y*der6y_upwd(lnrho) + uu.z*der6z_upwd(lnrho)}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Vector
|
Vector
|
||||||
value(in Vector uu)
|
value(in Vector uu)
|
||||||
{
|
{
|
||||||
@@ -41,7 +50,12 @@ 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)) - divergence(uu);
|
return -dot(value(uu), gradient(lnrho))
|
||||||
|
#if LUPWD
|
||||||
|
//This is a corrective hyperdiffusion term for upwinding.
|
||||||
|
+ upwd_der6(uu, lnrho)
|
||||||
|
#ENDIF
|
||||||
|
- divergence(uu);
|
||||||
}
|
}
|
||||||
|
|
||||||
#if LENTROPY
|
#if LENTROPY
|
||||||
|
Reference in New Issue
Block a user