From 10539037726353fd5a59e1b6fd99533da049ca07 Mon Sep 17 00:00:00 2001 From: CD Sigma Date: Sat, 21 Jul 2018 21:08:03 -0700 Subject: [PATCH 1/6] Fixes for Verlet in Java - Made compliant with #257 - put in class so it can be run without additional code - removed comments before some functions which say the name of the function --- .../verlet_integration/code/java/verlet.java | 127 ++++++++++-------- 1 file changed, 69 insertions(+), 58 deletions(-) diff --git a/contents/verlet_integration/code/java/verlet.java b/contents/verlet_integration/code/java/verlet.java index de6459508..ca2a529dc 100644 --- a/contents/verlet_integration/code/java/verlet.java +++ b/contents/verlet_integration/code/java/verlet.java @@ -1,66 +1,77 @@ // Submitted by lolatomroflsinnlos -static void verlet(double pos, double acc, double dt){ - - // Note that we are using a temp variable for the previous position - double prev_pos, temp_pos, time; - prev_pos = pos; - time = 0; - - while (pos > 0){ - time += dt; - temp_pos = pos; - pos = pos*2 - prev_pos + acc * dt * dt; - prev_pos = temp_pos; +public class Verlet { + static double verlet(double pos, double acc, double dt) { + + // Note that we are using a temp variable for the previous position + double prev_pos, temp_pos, time; + prev_pos = pos; + time = 0; + + while (pos > 0) { + time += dt; + temp_pos = pos; + pos = pos*2 - prev_pos + acc * dt * dt; + prev_pos = temp_pos; + } + + return time; } - - System.out.println(time); - -} - -// Simple function for stormer-verlet -static void stormer_verlet(double pos, double acc, double dt){ - - // Note that we are using a temp variable for the previous position - double prev_pos, temp_pos, time, vel; - prev_pos = pos; - vel = 0; - time = 0; - while (pos > 0){ - time += dt; - temp_pos = pos; - pos = pos*2 - prev_pos + acc * dt * dt; - prev_pos = temp_pos; - - // The acceleration is constant, so the velocity is straightforward - vel += acc*dt; + + static double[] stormer_verlet(double pos, double acc, double dt) { + + // Note that we are using a temp variable for the previous position + double prev_pos, temp_pos, time, vel; + prev_pos = pos; + vel = 0; + time = 0; + while (pos > 0) { + time += dt; + temp_pos = pos; + pos = pos*2 - prev_pos + acc * dt * dt; + prev_pos = temp_pos; + + // The acceleration is constant, so the velocity is straightforward + vel += acc*dt; + } + + double[] stormerVerlet = new double[2]; + stormerVerlet[0] = time; + stormerVerlet[1] = vel; + + return stormerVerlet; } - System.out.println(time); - -} - -// Simple function for velocity-verlet -static void velocity_verlet(double pos, double acc, double dt){ - - // Note that we are using a temp variable for the previous position - double time, vel; - vel = 0; - time = 0; - while (pos > 0){ - time += dt; - pos += vel*dt + 0.5*acc * dt * dt; - vel += acc*dt; + static double[] velocity_verlet(double pos, double acc, double dt) { + + // Note that we are using a temp variable for the previous position + double time, vel; + vel = 0; + time = 0; + while (pos > 0) { + time += dt; + pos += vel*dt + 0.5*acc * dt * dt; + vel += acc*dt; + } + + double[] velocityVerlet = new double[2]; + velocityVerlet[0] = time; + velocityVerlet[1] = vel; + + return velocityVerlet; } - System.out.println(time); - -} - -public static void main(String[] args) { - - verlet(5.0, -10, 0.01); - stormer_verlet(5.0, -10, 0.01); - velocity_verlet(5.0, -10, 0.01); - + public static void main(String[] args) { + + double verletTime = verlet(5.0, -10, 0.01); + System.out.println("Time for Verlet integration is: " + verletTime); + + double[] stormerVerlet = stormer_verlet(5.0, -10, 0.01); + System.out.println("Time for Stormer Verlet integration is: " + stormerVerlet[0]); + System.out.println("Velocity for Stormer Verlet integration is: " + stormerVerlet[1]); + + double[] velocityVerlet = velocity_verlet(5.0, -10, 0.01); + System.out.println("Time for velocity Verlet integration is: " + velocityVerlet[0]); + System.out.println("Velocity for velocity Verlet integration is: " + velocityVerlet[1]); + } } From 3b0653bc042069aa52e1f9efb07fb7a1ab00b548 Mon Sep 17 00:00:00 2001 From: CDsigma Date: Sun, 22 Jul 2018 11:44:06 -0700 Subject: [PATCH 2/6] fixing .java file name --- .../verlet_integration/code/java/{verlet.java => Verlet.java} | 0 1 file changed, 0 insertions(+), 0 deletions(-) rename contents/verlet_integration/code/java/{verlet.java => Verlet.java} (100%) diff --git a/contents/verlet_integration/code/java/verlet.java b/contents/verlet_integration/code/java/Verlet.java similarity index 100% rename from contents/verlet_integration/code/java/verlet.java rename to contents/verlet_integration/code/java/Verlet.java From 635d305886278dfd05b4355abeed50a08af2a0ce Mon Sep 17 00:00:00 2001 From: CDsigma Date: Sun, 22 Jul 2018 13:18:20 -0700 Subject: [PATCH 3/6] .md fixes --- contents/verlet_integration/verlet_integration.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contents/verlet_integration/verlet_integration.md b/contents/verlet_integration/verlet_integration.md index da97169a0..defdb2a98 100644 --- a/contents/verlet_integration/verlet_integration.md +++ b/contents/verlet_integration/verlet_integration.md @@ -37,7 +37,7 @@ Here is what it looks like in code: {% sample lang="c" %} [import:3-16, lang:"c_cpp"](code/c/verlet.c) {% sample lang="java" %} -[import:2-18, lang:"java"](code/java/verlet.java) +[import:2-18, lang:"java"](code/java/Verlet.java) {% sample lang="py" %} [import:28-33, lang:"python"](code/python/verlet.py) {% sample lang="hs" %} @@ -83,7 +83,7 @@ Here's what it looks like in code: {% sample lang="c" %} [import:18-33, lang:"c_cpp"](code/c/verlet.c) {% sample lang="java" %} -[import:21-40, lang:"java"](code/java/verlet.java) +[import:21-40, lang:"java"](code/java/Verlet.java) {% sample lang="py" %} [import:35-42, lang:"python"](code/python/verlet.py) {% sample lang="hs" %} From 0f3748cd289c3a33af787c8b5d9c339655698362 Mon Sep 17 00:00:00 2001 From: CDsigma Date: Sun, 22 Jul 2018 14:16:39 -0700 Subject: [PATCH 4/6] .md fixes --- contents/verlet_integration/verlet_integration.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/contents/verlet_integration/verlet_integration.md b/contents/verlet_integration/verlet_integration.md index defdb2a98..3416c3169 100644 --- a/contents/verlet_integration/verlet_integration.md +++ b/contents/verlet_integration/verlet_integration.md @@ -140,7 +140,7 @@ Here is the velocity Verlet method in code: {% sample lang="c" %} [import:35-46, lang:"c_cpp"](code/c/verlet.c) {% sample lang="java" %} -[import:43-57, lang:"java"](code/java/verlet.java) +[import:43-57, lang:"java"](code/java/Verlet.java) {% sample lang="py" %} [import:44-48, lang:"python"](code/python/verlet.py) {% sample lang="hs" %} @@ -176,7 +176,7 @@ Both of these methods work simply by iterating timestep-by-timestep and can be w {% sample lang="c" %} [import, lang:"c_cpp"](code/c/verlet.c) {% sample lang="java" %} -[import, lang:"java"](code/java/verlet.java) +[import, lang:"java"](code/java/Verlet.java) {% sample lang="py" %} [import, lang:"python"](code/python/verlet.py) {% sample lang="hs" %} From 806af7b0e61ed6433eb08c5489b822a60d9e9731 Mon Sep 17 00:00:00 2001 From: CD Sigma Date: Thu, 9 Aug 2018 16:37:45 -0700 Subject: [PATCH 5/6] Returning Class instead of double[] - Created VerletValues Class - Changed where double[] was returned to VerletValues - Updated .md with new code cutoffs --- .../verlet_integration/code/java/Verlet.java | 37 ++++++++++--------- .../verlet_integration/verlet_integration.md | 6 +-- 2 files changed, 23 insertions(+), 20 deletions(-) diff --git a/contents/verlet_integration/code/java/Verlet.java b/contents/verlet_integration/code/java/Verlet.java index ca2a529dc..f851d0f3a 100644 --- a/contents/verlet_integration/code/java/Verlet.java +++ b/contents/verlet_integration/code/java/Verlet.java @@ -1,4 +1,14 @@ // Submitted by lolatomroflsinnlos +public class VerletValues { + public double time; + public double vel; + + public VerletValues(double time, double vel) { + this.time = time; + this.vel = vel; + } +} + public class Verlet { static double verlet(double pos, double acc, double dt) { @@ -17,7 +27,7 @@ static double verlet(double pos, double acc, double dt) { return time; } - static double[] stormer_verlet(double pos, double acc, double dt) { + static VerletValues stormer_verlet(double pos, double acc, double dt) { // Note that we are using a temp variable for the previous position double prev_pos, temp_pos, time, vel; @@ -34,14 +44,11 @@ static double[] stormer_verlet(double pos, double acc, double dt) { vel += acc*dt; } - double[] stormerVerlet = new double[2]; - stormerVerlet[0] = time; - stormerVerlet[1] = vel; - + VerletValues stormerVerlet = new VerletValues(time, vel); return stormerVerlet; } - static double[] velocity_verlet(double pos, double acc, double dt) { + static VerletValues velocity_verlet(double pos, double acc, double dt) { // Note that we are using a temp variable for the previous position double time, vel; @@ -53,10 +60,7 @@ static double[] velocity_verlet(double pos, double acc, double dt) { vel += acc*dt; } - double[] velocityVerlet = new double[2]; - velocityVerlet[0] = time; - velocityVerlet[1] = vel; - + VerletValues velocityVerlet = new VerletValues(time, vel); return velocityVerlet; } @@ -65,13 +69,12 @@ public static void main(String[] args) { double verletTime = verlet(5.0, -10, 0.01); System.out.println("Time for Verlet integration is: " + verletTime); - double[] stormerVerlet = stormer_verlet(5.0, -10, 0.01); - System.out.println("Time for Stormer Verlet integration is: " + stormerVerlet[0]); - System.out.println("Velocity for Stormer Verlet integration is: " + stormerVerlet[1]); + VerletValues stormerVerlet = stormer_verlet(5.0, -10, 0.01); + System.out.println("Time for Stormer Verlet integration is: " + stormerVerlet.time); + System.out.println("Velocity for Stormer Verlet integration is: " + stormerVerlet.vel); - double[] velocityVerlet = velocity_verlet(5.0, -10, 0.01); - System.out.println("Time for velocity Verlet integration is: " + velocityVerlet[0]); - System.out.println("Velocity for velocity Verlet integration is: " + velocityVerlet[1]); + VerletValues velocityVerlet = velocity_verlet(5.0, -10, 0.01); + System.out.println("Time for velocity Verlet integration is: " + velocityVerlet.time); + System.out.println("Velocity for velocity Verlet integration is: " + velocityVerlet.vel); } } - diff --git a/contents/verlet_integration/verlet_integration.md b/contents/verlet_integration/verlet_integration.md index 3416c3169..a416a4820 100644 --- a/contents/verlet_integration/verlet_integration.md +++ b/contents/verlet_integration/verlet_integration.md @@ -37,7 +37,7 @@ Here is what it looks like in code: {% sample lang="c" %} [import:3-16, lang:"c_cpp"](code/c/verlet.c) {% sample lang="java" %} -[import:2-18, lang:"java"](code/java/Verlet.java) +[import:13-28, lang:"java"](code/java/Verlet.java) {% sample lang="py" %} [import:28-33, lang:"python"](code/python/verlet.py) {% sample lang="hs" %} @@ -83,7 +83,7 @@ Here's what it looks like in code: {% sample lang="c" %} [import:18-33, lang:"c_cpp"](code/c/verlet.c) {% sample lang="java" %} -[import:21-40, lang:"java"](code/java/Verlet.java) +[import:30-49, lang:"java"](code/java/Verlet.java) {% sample lang="py" %} [import:35-42, lang:"python"](code/python/verlet.py) {% sample lang="hs" %} @@ -140,7 +140,7 @@ Here is the velocity Verlet method in code: {% sample lang="c" %} [import:35-46, lang:"c_cpp"](code/c/verlet.c) {% sample lang="java" %} -[import:43-57, lang:"java"](code/java/Verlet.java) +[import:51-65, lang:"java"](code/java/Verlet.java) {% sample lang="py" %} [import:44-48, lang:"python"](code/python/verlet.py) {% sample lang="hs" %} From 9447fbeb663adee93e572a5dc6c000b25919bc57 Mon Sep 17 00:00:00 2001 From: CDsigma Date: Thu, 9 Aug 2018 16:45:13 -0700 Subject: [PATCH 6/6] Fixing Whitespace --- contents/verlet_integration/code/java/Verlet.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/contents/verlet_integration/code/java/Verlet.java b/contents/verlet_integration/code/java/Verlet.java index f851d0f3a..6d102809b 100644 --- a/contents/verlet_integration/code/java/Verlet.java +++ b/contents/verlet_integration/code/java/Verlet.java @@ -4,7 +4,7 @@ public class VerletValues { public double vel; public VerletValues(double time, double vel) { - this.time = time; + this.time = time; this.vel = vel; } }