Starting with derivatives for upwinding.
This commit is contained in:
@@ -13,6 +13,50 @@ gradient(in Scalar 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
|
||||
hessian(in Scalar vertex)
|
||||
{
|
||||
|
Reference in New Issue
Block a user