From 084a8e85840fed0aa741d67b0fc0fc784d0e3f14 Mon Sep 17 00:00:00 2001 From: Lars Gebraad Date: Wed, 21 Mar 2018 20:42:33 +0100 Subject: [PATCH] Implemented the C matrix construction. --- matrices.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/matrices.py b/matrices.py index 01093da..672f64e 100644 --- a/matrices.py +++ b/matrices.py @@ -3,10 +3,13 @@ import scipy.sparse as sparse -def constructC(dxOpTemp, rhsDxOpTemp, dyOpTemp, rhsDyOpTemp, psi, dxOpPsi, dyOpPsi, sqrtRa): +def constructC(dxOpTemp, rhsDxOpTemp, dyOpTemp, rhsDyOpTemp, dlOpTemp, rhsDlOpTemp, psi, dxOpPsi, dyOpPsi, sqrtRa): - rhs = sqrtRa * (rhsDxOpTemp * (dyOpPsi * psi) - rhsDyOpTemp * (dxOpPsi * psi)) + dxPsi = sparse.diags((dxOpPsi @ psi)[:, 0], 0) + dyPsi = sparse.diags((dyOpPsi @ psi)[:, 0], 0) - return sqrtRa * ( - sparse.diags([(dxOpTemp * dyOpPsi * psi)[:, 0]], [0]) - sparse.diags([(dxOpPsi * psi)[:, 0]], [0])), rhs - # return 0 + C = sqrtRa * (dyPsi @ dxOpTemp - dxPsi @ dyOpTemp ) - dlOpTemp + + rhsC = - rhsDlOpTemp + sqrtRa * (dyPsi @ rhsDxOpTemp- dyPsi @ rhsDyOpTemp) + + return C,rhsC