Mercurial > repos > public > sbplib
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); |