Mercurial > repos > public > sbplib
comparison +scheme/Wave2dCurve.m @ 704:111fcbcff2e9 feature/optim
merg with featuew grids
author | Ylva Rydin <ylva.rydin@telia.com> |
---|---|
date | Fri, 03 Nov 2017 10:53:15 +0100 |
parents | 4e266dfe9edc |
children | 459eeb99130f |
comparison
equal
deleted
inserted
replaced
703:027f606fa691 | 704:111fcbcff2e9 |
---|---|
25 du_s, dv_s | 25 du_s, dv_s |
26 du_n, dv_n | 26 du_n, dv_n |
27 gamm_u, gamm_v | 27 gamm_u, gamm_v |
28 lambda | 28 lambda |
29 | 29 |
30 Dx, Dy % Physical derivatives | |
31 | |
30 x_u | 32 x_u |
31 x_v | 33 x_v |
32 y_u | 34 y_u |
33 y_v | 35 y_v |
34 end | 36 end |
35 | 37 |
36 methods | 38 methods |
37 function obj = Wave2dCurve(g ,order, c, opSet) | 39 function obj = Wave2dCurve(g ,order, c, opSet) |
38 default_arg('opSet',@sbp.D2Variable); | 40 default_arg('opSet',@sbp.D2Variable); |
39 default_arg('c', 1); | 41 default_arg('c', 1); |
42 | |
43 warning('Use LaplaceCruveilinear instead') | |
40 | 44 |
41 assert(isa(g, 'grid.Curvilinear')) | 45 assert(isa(g, 'grid.Curvilinear')) |
42 | 46 |
43 m = g.size(); | 47 m = g.size(); |
44 m_u = m(1); | 48 m_u = m(1); |
151 obj.a12 = a12; | 155 obj.a12 = a12; |
152 obj.a22 = a22; | 156 obj.a22 = a22; |
153 obj.D = obj.Ji*c^2*(Duu + Duv + Dvu + Dvv); | 157 obj.D = obj.Ji*c^2*(Duu + Duv + Dvu + Dvv); |
154 obj.lambda = lambda; | 158 obj.lambda = lambda; |
155 | 159 |
160 obj.Dx = spdiag( y_v./J)*Du + spdiag(-y_u./J)*Dv; | |
161 obj.Dy = spdiag(-x_v./J)*Du + spdiag( x_u./J)*Dv; | |
162 | |
156 obj.gamm_u = h_u*ops_u.borrowing.M.d1; | 163 obj.gamm_u = h_u*ops_u.borrowing.M.d1; |
157 obj.gamm_v = h_v*ops_v.borrowing.M.d1; | 164 obj.gamm_v = h_v*ops_v.borrowing.M.d1; |
158 end | 165 end |
159 | 166 |
160 | 167 |
223 a_t = spdiags(coeff_t,0,length(coeff_t),length(coeff_t)); | 230 a_t = spdiags(coeff_t,0,length(coeff_t),length(coeff_t)); |
224 d = s*(a_n * d_n' + a_t*d_t')'; % outward facing normal derivative | 231 d = s*(a_n * d_n' + a_t*d_t')'; % outward facing normal derivative |
225 | 232 |
226 tau = -c.^2 * 1/beta*obj.Ji*e; | 233 tau = -c.^2 * 1/beta*obj.Ji*e; |
227 | 234 |
235 warning('is this right?! /c?') | |
228 closure{1} = halfnorm_inv*tau/c*spdiag(scale_factor)*e'; | 236 closure{1} = halfnorm_inv*tau/c*spdiag(scale_factor)*e'; |
229 closure{2} = halfnorm_inv*tau*beta*d'; | 237 closure{2} = halfnorm_inv*tau*beta*d'; |
230 penalty = -halfnorm_inv*tau; | 238 penalty = -halfnorm_inv*tau; |
231 | 239 |
232 % Unknown, boundary condition | 240 % Unknown, boundary condition |