changeset 961:2efeedf8c34f feature/poroelastic

Make ElasticVariable2d.boundary_condition use get_boundary_operator for penalty strength.
author Martin Almquist <malmquist@stanford.edu>
date Mon, 17 Dec 2018 21:07:59 -0800
parents ac566f3dc9b3
children 262b52c3f268
files +scheme/Elastic2dVariable.m
diffstat 1 files changed, 2 insertions(+), 14 deletions(-) [+]
line wrap: on
line diff
diff -r ac566f3dc9b3 -r 2efeedf8c34f +scheme/Elastic2dVariable.m
--- a/+scheme/Elastic2dVariable.m	Mon Dec 17 20:06:50 2018 -0800
+++ b/+scheme/Elastic2dVariable.m	Mon Dec 17 21:07:59 2018 -0800
@@ -349,24 +349,12 @@
             % Dirichlet boundary condition
             case {'D','d','dirichlet','Dirichlet'}
 
-                theta_R = obj.theta_R{j};
-                theta_H = obj.theta_H{j};
-                theta_M = obj.theta_M{j};
-
-                a_lambda = dim/theta_H + 1/theta_R;
-                a_mu_i = 2/theta_M;
-                a_mu_ij = 2/theta_H + 1/theta_R;
-
-                d = @kroneckerDelta;  % Kronecker delta
-                db = @(i,j) 1-d(i,j); % Logical not of Kronecker delta
-                alpha = @(i,j) tuning*( d(i,j)* a_lambda*LAMBDA ...
-                                      + d(i,j)* a_mu_i*MU ...
-                                      + db(i,j)*a_mu_ij*MU );
+                alpha = obj.get_boundary_operator('alpha', boundary);
 
                 % Loop over components that Dirichlet penalties end up on
                 for i = 1:dim
                     C = transpose(T{k,i});
-                    A = -d(i,k)*alpha(i,j);
+                    A = -alpha{i,k};
                     B = A + e*C;
                     closure = closure + E{i}*RHOi*Hi*B'*e*H_gamma*(e'*E{k}' );
                     penalty = penalty - E{i}*RHOi*Hi*B'*e*H_gamma;