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