Mercurial > repos > public > sbplib
comparison +scheme/Hypsyst3dCurve.m @ 355:69b078cf8072 feature/hypsyst
Upwind doed not work in the non curve-linear case.
author | Ylva Rydin <ylva.rydin@telia.com> |
---|---|
date | Thu, 08 Dec 2016 10:42:11 +0100 |
parents | dbac99d2c318 |
children | 7ada2db63268 |
comparison
equal
deleted
inserted
replaced
354:dbac99d2c318 | 355:69b078cf8072 |
---|---|
51 m_tot = m_xi*m_eta*m_zeta; | 51 m_tot = m_xi*m_eta*m_zeta; |
52 obj.params = params; | 52 obj.params = params; |
53 obj.n = length(A(obj,0,0,0)); | 53 obj.n = length(A(obj,0,0,0)); |
54 | 54 |
55 obj.m = m; | 55 obj.m = m; |
56 | |
57 obj.order = order; | 56 obj.order = order; |
58 obj.onesN = ones(obj.n); | 57 obj.onesN = ones(obj.n); |
59 | 58 |
60 switch operator | 59 switch operator |
61 case 'upwind' | 60 case 'upwind' |
183 alphaA = max(eig(obj.Ahat(obj,obj.X(end), obj.Y(end),obj.Z(end), obj.X_eta(end),obj.X_zeta(end),obj.Y_eta(end),obj.Y_zeta(end),obj.Z_eta(end),obj.Z_zeta(end)))); | 182 alphaA = max(eig(obj.Ahat(obj,obj.X(end), obj.Y(end),obj.Z(end), obj.X_eta(end),obj.X_zeta(end),obj.Y_eta(end),obj.Y_zeta(end),obj.Z_eta(end),obj.Z_zeta(end)))); |
184 alphaB = max(eig(obj.Bhat(obj,obj.X(end), obj.Y(end),obj.Z(end), obj.X_zeta(end),obj.X_xi(end),obj.Y_zeta(end),obj.Y_xi(end),obj.Z_zeta(end),obj.Z_xi(end)))); | 183 alphaB = max(eig(obj.Bhat(obj,obj.X(end), obj.Y(end),obj.Z(end), obj.X_zeta(end),obj.X_xi(end),obj.Y_zeta(end),obj.Y_xi(end),obj.Z_zeta(end),obj.Z_xi(end)))); |
185 alphaC = max(eig(obj.Chat(obj,obj.X(end), obj.Y(end),obj.Z(end), obj.X_xi(end),obj.X_eta(end),obj.Y_xi(end),obj.Y_eta(end),obj.Z_xi(end),obj.Z_eta(end)))); | 184 alphaC = max(eig(obj.Chat(obj,obj.X(end), obj.Y(end),obj.Z(end), obj.X_xi(end),obj.X_eta(end),obj.Y_xi(end),obj.Y_eta(end),obj.Z_xi(end),obj.Z_eta(end)))); |
186 | 185 |
187 Ap = (obj.Aevaluated+alphaA*I_N)/2; | 186 Ap = (obj.Aevaluated+alphaA*I_N)/2; |
187 Dmxi = kr(I_n, ops_xi.Dm, I_eta,I_zeta); | |
188 diffSum=-Ap*Dmxi; | |
189 clear Ap Dmxi | |
190 | |
188 Am = (obj.Aevaluated-alphaA*I_N)/2; | 191 Am = (obj.Aevaluated-alphaA*I_N)/2; |
192 clear obj.Aevaluated | |
193 Dpxi = kr(I_n, ops_xi.Dp, I_eta,I_zeta); | |
194 temp=Am*Dpxi; | |
195 diffSum=diffSum-temp; | |
196 clear Am Dpxi | |
197 | |
189 Bp = (obj.Bevaluated+alphaB*I_N)/2; | 198 Bp = (obj.Bevaluated+alphaB*I_N)/2; |
199 Dmeta = kr(I_n, I_xi, ops_eta.Dm,I_zeta); | |
200 temp=Bp*Dmeta; | |
201 diffSum=diffSum-temp; | |
202 clear Bp Dmeta | |
203 | |
190 Bm = (obj.Bevaluated-alphaB*I_N)/2; | 204 Bm = (obj.Bevaluated-alphaB*I_N)/2; |
205 clear obj.Bevaluated | |
206 Dpeta = kr(I_n, I_xi, ops_eta.Dp,I_zeta); | |
207 temp=Bm*Dpeta; | |
208 diffSum=diffSum-temp; | |
209 | |
210 | |
191 Cp = (obj.Cevaluated+alphaC*I_N)/2; | 211 Cp = (obj.Cevaluated+alphaC*I_N)/2; |
192 Cm = (obj.Cevaluated-alphaC*I_N)/2; | 212 Dmzeta = kr(I_n, I_xi, I_eta,ops_zeta.Dm); |
193 | 213 temp=Cp*Dmzeta; |
194 Dpxi = kr(I_n, ops_xi.Dp, I_eta,I_zeta); | 214 diffSum=diffSum-temp; |
195 Dmxi = kr(I_n, ops_xi.Dm, I_eta,I_zeta); | 215 clear Cp Dmzeta |
196 Dpeta = kr(I_n, I_xi, ops_eta.Dp,I_zeta); | 216 |
197 Dmeta = kr(I_n, I_xi, ops_eta.Dm,I_zeta); | 217 Cm = (obj.Cevaluated-alphaC*I_N)/2; |
218 clear obj.Cevaluated | |
198 Dpzeta = kr(I_n, I_xi, I_eta,ops_zeta.Dp); | 219 Dpzeta = kr(I_n, I_xi, I_eta,ops_zeta.Dp); |
199 Dmzeta = kr(I_n, I_xi, I_eta,ops_zeta.Dm); | 220 temp=Cm*Dpzeta; |
200 | 221 diffSum=diffSum-temp; |
201 obj.D = obj.Ji*(-Am*Dpxi-Ap*Dmxi-Bm*Dpeta-Bp*Dmeta-Cm*Dpzeta-Cp*Dmzeta)-obj.Eevaluated; | 222 |
223 obj.D = obj.Ji*diffSum-obj.Eevaluated; | |
202 otherwise | 224 otherwise |
203 obj.D = obj.Ji*(-obj.Aevaluated*D1_xi-obj.Bevaluated*D1_eta -obj.Cevaluated*D1_zeta)-obj.Eevaluated; | 225 obj.D = obj.Ji*(-obj.Aevaluated*D1_xi-obj.Bevaluated*D1_eta -obj.Cevaluated*D1_zeta)-obj.Eevaluated; |
204 end | 226 end |
205 | 227 |
206 | 228 |