comparison +scheme/ViscoElastic2d.m @ 1311:b2e84fe336d8 feature/poroelastic

Move common code for displacement and traction BC outside of switch statement
author Martin Almquist <malmquist@stanford.edu>
date Mon, 20 Jul 2020 22:21:57 -0700
parents eb015fe9605b
children 6d64b57caf46
comparison
equal deleted inserted replaced
1310:eb015fe9605b 1311:b2e84fe336d8
270 C = obj.C; 270 C = obj.C;
271 Eu = obj.Eu; 271 Eu = obj.Eu;
272 eU = obj.eU; 272 eU = obj.eU;
273 eGamma = obj.eGamma; 273 eGamma = obj.eGamma;
274 274
275 % Get elastic closure and penalty
276 [closure, penalty] = obj.elasticObj.boundary_condition(boundary, bc, tuning);
277 closure = Eu*closure*Eu';
278 penalty = Eu*penalty;
279
280 switch component
281 case 't'
282 dir = obj.getTangent(boundary);
283 case 'n'
284 dir = obj.getNormal(boundary);
285 case 1
286 dir = {1, 0};
287 case 2
288 dir = {0, 1};
289 end
290
275 switch type 291 switch type
276 case {'F','f','Free','free','traction','Traction','t','T'} 292 case {'F','f','Free','free','traction','Traction','t','T'}
277
278 % Get elastic closure and penalty
279 [closure, penalty] = obj.elasticObj.boundary_condition(boundary, bc, tuning);
280 closure = Eu*closure*Eu';
281 penalty = Eu*penalty;
282
283 switch component
284 case 't'
285 dir = obj.getTangent(boundary);
286 case 'n'
287 dir = obj.getNormal(boundary);
288 case 1
289 dir = {1, 0};
290 case 2
291 dir = {0, 1};
292 end
293 293
294 % Add viscous part of closure 294 % Add viscous part of closure
295 for i = 1:dim 295 for i = 1:dim
296 for j = 1:dim 296 for j = 1:dim
297 for k = 1:dim 297 for k = 1:dim
303 end 303 end
304 end 304 end
305 end 305 end
306 306
307 case {'D','d','dirichlet','Dirichlet','displacement','Displacement'} 307 case {'D','d','dirichlet','Dirichlet','displacement','Displacement'}
308
309 % Get elastic closure and penalty
310 [closure, penalty] = obj.elasticObj.boundary_condition(boundary, bc, tuning);
311 closure = Eu*closure*Eu';
312 penalty = Eu*penalty;
313
314 switch component
315 case 't'
316 dir = obj.getTangent(boundary);
317 case 'n'
318 dir = obj.getNormal(boundary);
319 case 1
320 dir = {1, 0};
321 case 2
322 dir = {0, 1};
323 end
324 308
325 % Add penalty to strain rate eq 309 % Add penalty to strain rate eq
326 for i = 1:dim 310 for i = 1:dim
327 for j = 1:dim 311 for j = 1:dim
328 for k = 1:dim 312 for k = 1:dim