Mercurial > repos > public > sbplib
comparison +scheme/Beam.m @ 339:3135e13ae509 feature/beams
Implemented free BC. Not tested yet.
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Mon, 24 Oct 2016 17:01:34 +0200 |
parents | bf801c3709be |
children | 25ae8333ce2b |
comparison
equal
deleted
inserted
replaced
338:3974dccff55b | 339:3135e13ae509 |
---|---|
89 [e, d1, d2, d3, s] = obj.get_boundary_ops(boundary); | 89 [e, d1, d2, d3, s] = obj.get_boundary_ops(boundary); |
90 gamm = obj.gamm; | 90 gamm = obj.gamm; |
91 delt = obj.delt; | 91 delt = obj.delt; |
92 | 92 |
93 switch type | 93 switch type |
94 case {'dn'} % Dirichlet-neumann boundary condition | 94 case {'dn', 'clamped'} % Dirichlet-neumann boundary condition |
95 alpha = obj.alpha; | 95 alpha = obj.alpha; |
96 | 96 |
97 % tau1 < -alpha^2/gamma | 97 % tau1 < -alpha^2/gamma |
98 % tuning = 2; | 98 % tuning = 2; |
99 tuning = 1.1; | 99 tuning = 1.1; |
109 | 109 |
110 closure = obj.Hi*(tau*e' + sig*d1'); | 110 closure = obj.Hi*(tau*e' + sig*d1'); |
111 | 111 |
112 penalty{1} = -obj.Hi*tau; | 112 penalty{1} = -obj.Hi*tau; |
113 penalty{2} = -obj.Hi*sig; | 113 penalty{2} = -obj.Hi*sig; |
114 | |
115 | |
116 case {'free'} | |
117 a = -obj.alpha; | |
118 | |
119 tau = s*a*d1; | |
120 sig = -s*a*e; | |
121 | |
122 closure = obj.Hi*(tau*d2' + sig*d3'); | |
123 penalty{1} = -obj.Hi*tau; | |
124 penalty{1} = -obj.Hi*sig; | |
125 | |
126 | |
114 otherwise % Unknown, boundary condition | 127 otherwise % Unknown, boundary condition |
115 error('No such boundary condition: type = %s',type); | 128 error('No such boundary condition: type = %s',type); |
116 end | 129 end |
117 end | 130 end |
118 | 131 |