comparison +scheme/LaplaceCurvilinear.m @ 1110:9ddd2e89d018 feature/laplace_curvilinear_test

Bugfix in interfaceNonconforming(). Remove unused properties gamm_u, gamm_v.
author Martin Almquist <malmquist@stanford.edu>
date Wed, 10 Apr 2019 13:27:50 -0700
parents 01d28cfafe7c
children 0e5dc5dfa559
comparison
equal deleted inserted replaced
1109:01d28cfafe7c 1110:9ddd2e89d018
45 theta_R_u, theta_R_v 45 theta_R_u, theta_R_v
46 theta_H_u, theta_H_v 46 theta_H_u, theta_H_v
47 47
48 % Temporary, only used for nonconforming interfaces but should be removed. 48 % Temporary, only used for nonconforming interfaces but should be removed.
49 lambda 49 lambda
50 gamm_u, gamm_v
51
52 end 50 end
53 51
54 methods 52 methods
55 % Implements a*div(b*grad(u)) as a SBP scheme 53 % Implements a*div(b*grad(u)) as a SBP scheme
56 % TODO: Implement proper H, it should be the real physical quadrature, the logic quadrature may be but in a separate variable (H_logic?) 54 % TODO: Implement proper H, it should be the real physical quadrature, the logic quadrature may be but in a separate variable (H_logic?)
260 obj.theta_H_u = h_u*ops_u.borrowing.H11; 258 obj.theta_H_u = h_u*ops_u.borrowing.H11;
261 obj.theta_H_v = h_v*ops_v.borrowing.H11; 259 obj.theta_H_v = h_v*ops_v.borrowing.H11;
262 260
263 % Temporary 261 % Temporary
264 obj.lambda = lambda; 262 obj.lambda = lambda;
265 obj.gamm_u = h_u*ops_u.borrowing.M.d1;
266 obj.gamm_v = h_v*ops_v.borrowing.M.d1;
267 end 263 end
268 264
269 265
270 % Closure functions return the opertors applied to the own doamin to close the boundary 266 % Closure functions return the opertors applied to the own doamin to close the boundary
271 % Penalty functions return the opertors to force the solution. In the case of an interface it returns the operator applied to the other doamin. 267 % Penalty functions return the opertors to force the solution. In the case of an interface it returns the operator applied to the other doamin.
427 tuning = type.tuning; 423 tuning = type.tuning;
428 424
429 425
430 % u denotes the solution in the own domain 426 % u denotes the solution in the own domain
431 % v denotes the solution in the neighbour domain 427 % v denotes the solution in the neighbour domain
432 e_u = obj.getBoundaryOperator('e', boundary); 428 e_u = obj.getBoundaryOperator('e', boundary);
433 d_u = obj.getBoundaryOperator('d', boundary); 429 d_u = obj.getBoundaryOperator('d', boundary);
434 H_b_u = obj.getBoundaryQuadrature(boundary); 430 H_b_u = obj.getBoundaryQuadrature(boundary);
435 I_u = obj.getBoundaryIndices(boundary); 431 I_u = obj.getBoundaryIndices(boundary);
436 gamm_u = obj.getBoundaryBorrowing(boundary); 432 [~, gamm_u] = obj.getBoundaryBorrowing(boundary);
437 433
438 e_v = neighbour_scheme.getBoundaryOperator('e', neighbour_boundary); 434 e_v = neighbour_scheme.getBoundaryOperator('e', neighbour_boundary);
439 d_v = neighbour_scheme.getBoundaryOperator('d', neighbour_boundary); 435 d_v = neighbour_scheme.getBoundaryOperator('d', neighbour_boundary);
440 H_b_v = neighbour_scheme.getBoundaryQuadrature(neighbour_boundary); 436 H_b_v = neighbour_scheme.getBoundaryQuadrature(neighbour_boundary);
441 I_v = neighbour_scheme.getBoundaryIndices(neighbour_boundary); 437 I_v = neighbour_scheme.getBoundaryIndices(neighbour_boundary);
442 gamm_v = neighbour_scheme.getBoundaryBorrowing(neighbour_boundary); 438 [~, gamm_v] = neighbour_scheme.getBoundaryBorrowing(neighbour_boundary);
443 439
444 440
445 % Find the number of grid points along the interface 441 % Find the number of grid points along the interface
446 m_u = size(e_u, 2); 442 m_u = size(e_u, 2);
447 m_v = size(e_v, 2); 443 m_v = size(e_v, 2);