Mercurial > repos > public > sbplib
comparison +scheme/ViscoElastic2d.m @ 1309:f59b849df30f feature/poroelastic
Add displacement BC to viscoelastic
author | Martin Almquist <malmquist@stanford.edu> |
---|---|
date | Mon, 20 Jul 2020 17:45:58 -0700 |
parents | 5016f3f3badb |
children | eb015fe9605b |
comparison
equal
deleted
inserted
replaced
1308:5016f3f3badb | 1309:f59b849df30f |
---|---|
264 H_gamma = obj.getBoundaryQuadratureForScalarField(boundary); | 264 H_gamma = obj.getBoundaryQuadratureForScalarField(boundary); |
265 e = obj.getBoundaryOperatorForScalarField('e', boundary); | 265 e = obj.getBoundaryOperatorForScalarField('e', boundary); |
266 | 266 |
267 H = obj.H; | 267 H = obj.H; |
268 RHO = obj.RHO; | 268 RHO = obj.RHO; |
269 ETA = obj.ETA; | |
269 C = obj.C; | 270 C = obj.C; |
270 Eu = obj.Eu; | 271 Eu = obj.Eu; |
271 eU = obj.eU; | 272 eU = obj.eU; |
272 eGamma = obj.eGamma; | 273 eGamma = obj.eGamma; |
273 | 274 |
299 end | 300 end |
300 end | 301 end |
301 end | 302 end |
302 end | 303 end |
303 | 304 |
305 case {'D','d','dirichlet','Dirichlet','displacement','Displacement'} | |
306 | |
307 % Get elastic closure and penalty | |
308 [closure, penalty] = obj.elasticObj.boundary_condition(boundary, bc, tuning); | |
309 closure = Eu*closure*Eu'; | |
310 penalty = Eu*penalty; | |
311 | |
312 % Add penalty to strain rate eq | |
313 l = component; | |
314 for i = 1:dim | |
315 for j = 1:dim | |
316 for k = 1:dim | |
317 closure = closure - eGamma{i,j}*( (H*ETA)\(C{i,j,k,l}*e*H_gamma*n{k}*e'*eU{l}') ); | |
318 penalty = penalty + eGamma{i,j}*( (H*ETA)\(C{i,j,k,l}*e*H_gamma*n{k}) ); | |
319 end | |
320 end | |
321 end | |
322 | |
304 end | 323 end |
305 | 324 |
306 end | 325 end |
307 | 326 |
308 function [closure, penalty] = displacementBCNormalTangential(obj, boundary, bc, tuning) | 327 function [closure, penalty] = displacementBCNormalTangential(obj, boundary, bc, tuning) |