comparison +scheme/LaplaceCurvilinearNew.m @ 1084:d5290a056049 feature/laplace_curvilinear_test

Fix bug in new implementations that made matrices non-sparse.
author Martin Almquist <malmquist@stanford.edu>
date Wed, 27 Mar 2019 15:56:42 -0700
parents 7a55a72729e6
children 49c0b8c7330a
comparison
equal deleted inserted replaced
1069:7a55a72729e6 1084:d5290a056049
294 switch type 294 switch type
295 % Dirichlet boundary condition 295 % Dirichlet boundary condition
296 case {'D','d','dirichlet'} 296 case {'D','d','dirichlet'}
297 tuning = 1.0; 297 tuning = 1.0;
298 298
299 sigma = 0; 299 sigma = 0*b_b;
300 for i = 1:obj.dim 300 for i = 1:obj.dim
301 sigma = sigma + e'*J*K{i,m}*K{i,m}*e; 301 sigma = sigma + e'*J*K{i,m}*K{i,m}*e;
302 end 302 end
303 sigma = sigma/s_b; 303 sigma = sigma/s_b;
304 % tau = tuning*(1/th_R + obj.dim/th_H)*sigma; 304 % tau = tuning*(1/th_R + obj.dim/th_H)*sigma;
387 K_v = v.K; 387 K_v = v.K;
388 J_v = v.J; 388 J_v = v.J;
389 b_b_v = e_v'*v.b*e_v; 389 b_b_v = e_v'*v.b*e_v;
390 390
391 %--- Penalty strength tau ------------- 391 %--- Penalty strength tau -------------
392 sigma_u = 0; 392 sigma_u = 0*b_b_u;
393 sigma_v = 0; 393 sigma_v = 0*b_b_v;
394 for i = 1:obj.dim 394 for i = 1:obj.dim
395 sigma_u = sigma_u + e_u'*J_u*K_u{i,m_u}*K_u{i,m_u}*e_u; 395 sigma_u = sigma_u + e_u'*J_u*K_u{i,m_u}*K_u{i,m_u}*e_u;
396 sigma_v = sigma_v + e_v'*J_v*K_v{i,m_v}*K_v{i,m_v}*e_v; 396 sigma_v = sigma_v + e_v'*J_v*K_v{i,m_v}*K_v{i,m_v}*e_v;
397 end 397 end
398 sigma_u = sigma_u/s_b_u; 398 sigma_u = sigma_u/s_b_u;