Mercurial > repos > public > sbplib
comparison +scheme/Elastic2dVariable.m @ 919:e30aaa4a3e09 feature/poroelastic
Bugfix in Elastic2dVariable.get_boundary_ops
author | Martin Almquist <malmquist@stanford.edu> |
---|---|
date | Wed, 28 Nov 2018 14:04:31 -0800 |
parents | 14fee299ada2 |
children | 72cd29107a9a |
comparison
equal
deleted
inserted
replaced
884:7d4f57725192 | 919:e30aaa4a3e09 |
---|---|
513 % alpha = alpha(i,j) is the penalty strength for displacement BC. | 513 % alpha = alpha(i,j) is the penalty strength for displacement BC. |
514 tuning = 1.2; | 514 tuning = 1.2; |
515 LAMBDA = obj.LAMBDA; | 515 LAMBDA = obj.LAMBDA; |
516 MU = obj.MU; | 516 MU = obj.MU; |
517 | 517 |
518 phi = obj.phi{j}; | |
519 h = obj.h(j); | |
520 h11 = obj.H11{j}*h; | |
521 gamma = obj.gamma{j}; | |
522 dim = obj.dim; | 518 dim = obj.dim; |
523 | 519 theta_R = obj.theta_R{j}; |
524 a_lambda = dim/h11 + 1/(h11*phi); | 520 theta_H = obj.theta_H{j}; |
525 a_mu_i = 2/(gamma*h); | 521 theta_M = obj.theta_M{j}; |
526 a_mu_ij = 2/h11 + 1/(h11*phi); | 522 |
523 a_lambda = dim/theta_H + 1/theta_R; | |
524 a_mu_i = 2/theta_M; | |
525 a_mu_ij = 2/theta_H + 1/theta_R; | |
527 | 526 |
528 d = @kroneckerDelta; % Kronecker delta | 527 d = @kroneckerDelta; % Kronecker delta |
529 db = @(i,j) 1-d(i,j); % Logical not of Kronecker delta | 528 db = @(i,j) 1-d(i,j); % Logical not of Kronecker delta |
530 alpha = @(i,k) d(i,k)*tuning*( d(i,j)* a_lambda*LAMBDA ... | 529 alpha = @(i,j) tuning*( d(i,j)* a_lambda*LAMBDA ... |
531 + d(i,j)* a_mu_i*MU ... | 530 + d(i,j)* a_mu_i*MU ... |
532 + db(i,j)*a_mu_ij*MU ); | 531 + db(i,j)*a_mu_ij*MU ); |
532 | |
533 varargout{i} = alpha; | 533 varargout{i} = alpha; |
534 otherwise | 534 otherwise |
535 error(['No such operator: operator = ' op{i}]); | 535 error(['No such operator: operator = ' op{i}]); |
536 end | 536 end |
537 end | 537 end |