changeset 387:45c69aff2f41 feature/beams

Swtich to using centerd difference for calculating the first derivative
author Jonatan Werpers <jonatan@werpers.com>
date Thu, 05 Jan 2017 18:36:01 +0100
parents 4f935415700e
children 288138d9586d
files +time/CdiffImplicit.m
diffstat 1 files changed, 10 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
diff -r 4f935415700e -r 45c69aff2f41 +time/CdiffImplicit.m
--- a/+time/CdiffImplicit.m	Thu Jan 05 13:28:43 2017 +0100
+++ b/+time/CdiffImplicit.m	Thu Jan 05 18:36:01 2017 +0100
@@ -90,7 +90,16 @@
         end
 
         function [vt,t] = getVt(obj)
-            vt = (obj.v-obj.v_prev)/obj.k;
+            % Calculate next time step to be able to do centered diff.
+            v_next = zeros(size(obj.v));
+            b = obj.G(obj.t) - obj.BB*obj.v - obj.CC*obj.v_prev;
+
+            y = obj.L\b(obj.p);
+            z = obj.U\y;
+            v_next(obj.q) = z;
+
+
+            vt = (v_next-obj.v_prev)/(2*obj.k);
             t = obj.t;
         end