Starting with derivatives for upwinding.

This commit is contained in:
Miikka Vaisala
2019-06-21 16:53:04 +08:00
parent a5ab388af7
commit f2a33bf4f8

View File

@@ -13,6 +13,50 @@ gradient(in Scalar vertex)
derz(vertexIdx, vertex)}; derz(vertexIdx, vertex)};
} }
Preprocessed Scalar
der6x_upwd(in Scalar vertex),
{
return (Scalar){(1.0/60.0)*inv_ds* (
- 20.0* vertex[vertexIdx.x, vertexIdx.y, vertexIdx.z]
+ 15.0*(vertex[vertexIdx.x, vertexIdx.y+1, vertexIdx.z] + vertex[vertexIdx.x, vertexIdx.y-1, vertexIdx.z])
- 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
der6x_upwd(in Scalar vertex),
{
return (Scalar){(1.0/60.0)*inv_ds* (
- 20.0* vertex[vertexIdx.x, vertexIdx.y, vertexIdx.z]
+ 15.0*(vertex[vertexIdx.x, vertexIdx.y+1, vertexIdx.z] + vertex[vertexIdx.x, vertexIdx.y-1, vertexIdx.z])
- 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
der6x_upwd(in Scalar vertex),
{
return (Scalar){(1.0/60.0)*inv_ds* (
- 20.0* vertex[vertexIdx.x, vertexIdx.y, vertexIdx.z]
+ 15.0*(vertex[vertexIdx.x, vertexIdx.y, vertexIdx.z+1] + vertex[vertexIdx.x, vertexIdx.y, vertexIdx.z-1])
- 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];
)}
}
Preprocessed Scalar
der6_upwd(in Scalar vertex)
{
der6 =
return der6;
}
Preprocessed Matrix Preprocessed Matrix
hessian(in Scalar vertex) hessian(in Scalar vertex)
{ {