From 8971c8fcdce60145eda4015ff21f39fcd825a92b Mon Sep 17 00:00:00 2001 From: Daniel Uber Date: Fri, 8 Jun 2012 11:46:01 -0500 Subject: [PATCH] added announcement/watchers to ODE --- .../instance/version203..st | 11 ++++++----- .../monticello.meta/version | 2 +- .../properties.json | 2 ++ .../ControlledStepper.class/properties.json | 2 ++ .../DenseOutputStepper.class/properties.json | 2 ++ .../ExplicitAnnouncer.class/README.md | 1 + .../ExplicitAnnouncer.class/properties.json | 16 ++++++++++++++++ .../ExplicitSolverAnnouncement.class/README.md | 1 + .../class/x.t..st | 3 +++ .../instance/t.st | 3 +++ .../instance/x.st | 3 +++ .../instance/x.t..st | 4 ++++ .../properties.json | 17 +++++++++++++++++ .../ExplicitSolverSubscriber.class/README.md | 0 .../class/forAnnouncer..st | 3 +++ .../class/forSolver..st | 3 +++ .../instance/announcers.st | 4 ++++ .../instance/block..st | 3 +++ .../instance/block.st | 3 +++ .../instance/forAnnouncer..st | 4 ++++ .../instance/initialize.st | 5 +++++ .../instance/release.st | 5 +++++ .../instance/unsubscribe..st | 4 ++++ .../instance/unsubscribe.st | 3 +++ .../properties.json | 17 +++++++++++++++++ .../ExplicitStepper.class/properties.json | 2 ++ .../ExplicitSystem.class/properties.json | 2 ++ .../ImplicitStepper.class/properties.json | 2 ++ .../ImplicitSystem.class/properties.json | 2 ++ .../MultiStepper.class/properties.json | 2 ++ Math-ODE.package/ODESolver.class/README.md | 3 ++- .../ODESolver.class/instance/announcer..st | 3 +++ .../ODESolver.class/instance/announcer.st | 3 +++ .../ODESolver.class/instance/initialize.st | 5 +++++ .../solve.startState.startTime.endTime..st | 5 +++-- .../ODESolver.class/properties.json | 5 ++++- .../ODESystem.class/properties.json | 2 ++ .../Rosenbrock4Controller.class/properties.json | 2 ++ .../properties.json | 2 ++ .../RungeKuttaStepper.class/properties.json | 2 ++ .../properties.json | 2 ++ Math-ODE.package/StateRecorder.class/README.md | 3 +++ .../StateRecorder.class/class/demo.st | 13 +++++++++++++ .../StateRecorder.class/instance/add.at..st | 3 +++ .../instance/defaultBlock.st | 3 +++ .../StateRecorder.class/instance/initialize.st | 5 +++++ .../StateRecorder.class/instance/states.st | 3 +++ .../StateRecorder.class/properties.json | 16 ++++++++++++++++ Math-ODE.package/Stepper.class/properties.json | 2 ++ .../properties.json | 2 ++ .../SymplecticStepper.class/properties.json | 2 ++ .../SymplecticSystem.class/properties.json | 2 ++ .../TranscriptRecorder.class/README.md | 2 ++ .../TranscriptRecorder.class/class/demo.st | 17 +++++++++++++++++ .../instance/defaultBlock.st | 9 +++++++++ .../TranscriptRecorder.class/properties.json | 16 ++++++++++++++++ Math-ODE.package/monticello.meta/version | 2 +- .../testBinomialGeneratorConvergesToMean.st | 6 +++--- .../monticello.meta/version | 2 +- 59 files changed, 258 insertions(+), 15 deletions(-) create mode 100644 Math-ODE.package/ExplicitAnnouncer.class/README.md create mode 100644 Math-ODE.package/ExplicitAnnouncer.class/properties.json create mode 100644 Math-ODE.package/ExplicitSolverAnnouncement.class/README.md create mode 100644 Math-ODE.package/ExplicitSolverAnnouncement.class/class/x.t..st create mode 100644 Math-ODE.package/ExplicitSolverAnnouncement.class/instance/t.st create mode 100644 Math-ODE.package/ExplicitSolverAnnouncement.class/instance/x.st create mode 100644 Math-ODE.package/ExplicitSolverAnnouncement.class/instance/x.t..st create mode 100644 Math-ODE.package/ExplicitSolverAnnouncement.class/properties.json create mode 100644 Math-ODE.package/ExplicitSolverSubscriber.class/README.md create mode 100644 Math-ODE.package/ExplicitSolverSubscriber.class/class/forAnnouncer..st create mode 100644 Math-ODE.package/ExplicitSolverSubscriber.class/class/forSolver..st create mode 100644 Math-ODE.package/ExplicitSolverSubscriber.class/instance/announcers.st create mode 100644 Math-ODE.package/ExplicitSolverSubscriber.class/instance/block..st create mode 100644 Math-ODE.package/ExplicitSolverSubscriber.class/instance/block.st create mode 100644 Math-ODE.package/ExplicitSolverSubscriber.class/instance/forAnnouncer..st create mode 100644 Math-ODE.package/ExplicitSolverSubscriber.class/instance/initialize.st create mode 100644 Math-ODE.package/ExplicitSolverSubscriber.class/instance/release.st create mode 100644 Math-ODE.package/ExplicitSolverSubscriber.class/instance/unsubscribe..st create mode 100644 Math-ODE.package/ExplicitSolverSubscriber.class/instance/unsubscribe.st create mode 100644 Math-ODE.package/ExplicitSolverSubscriber.class/properties.json create mode 100644 Math-ODE.package/ODESolver.class/instance/announcer..st create mode 100644 Math-ODE.package/ODESolver.class/instance/announcer.st create mode 100644 Math-ODE.package/ODESolver.class/instance/initialize.st create mode 100644 Math-ODE.package/StateRecorder.class/README.md create mode 100644 Math-ODE.package/StateRecorder.class/class/demo.st create mode 100644 Math-ODE.package/StateRecorder.class/instance/add.at..st create mode 100644 Math-ODE.package/StateRecorder.class/instance/defaultBlock.st create mode 100644 Math-ODE.package/StateRecorder.class/instance/initialize.st create mode 100644 Math-ODE.package/StateRecorder.class/instance/states.st create mode 100644 Math-ODE.package/StateRecorder.class/properties.json create mode 100644 Math-ODE.package/TranscriptRecorder.class/README.md create mode 100644 Math-ODE.package/TranscriptRecorder.class/class/demo.st create mode 100644 Math-ODE.package/TranscriptRecorder.class/instance/defaultBlock.st create mode 100644 Math-ODE.package/TranscriptRecorder.class/properties.json diff --git a/ConfigurationOfSciSmalltalk.package/ConfigurationOfSciSmalltalk.class/instance/version203..st b/ConfigurationOfSciSmalltalk.package/ConfigurationOfSciSmalltalk.class/instance/version203..st index 21bb71b..b051239 100644 --- a/ConfigurationOfSciSmalltalk.package/ConfigurationOfSciSmalltalk.class/instance/version203..st +++ b/ConfigurationOfSciSmalltalk.package/ConfigurationOfSciSmalltalk.class/instance/version203..st @@ -5,18 +5,19 @@ version203: spec spec for: #'common' do: [ spec blessing: #'development'. spec description: 'modified Random tests and fixed an error in MTGenerator -relaxed convergence bound on PoissonGenerator'. +relaxed convergence bound on PoissonGenerator +added announcements/watchers to ODESolver '. spec author: 'DanielUber'. - spec timestamp: '6/7/2012 14:27'. + spec timestamp: '6/8/2012 11:43'. spec package: 'Math-Random' with: 'Math-Random-DanielUber.6'; package: 'Math-KDTree' with: 'Math-KDTree-wernerkassens.6'; - package: 'Math-ODE' with: 'Math-ODE-DanielUber.10'; + package: 'Math-ODE' with: 'Math-ODE-DanielUber.11'; package: 'Math-Complex' with: 'Math-Complex-DanielUber.6'; package: 'Math-Quaternion' with: 'Math-Quaternion-DanielUber.5'; - package: 'Math-DHB-Numerical' with: 'Math-DHB-Numerical-DanielUber.19'; + package: 'Math-DHB-Numerical' with: 'Math-DHB-Numerical-DanielUber.20'; package: 'Math-Number-Extensions.Pharo' with: 'Math-Number-Extensions.Pharo-DanielUber.8'; - package: 'Math-RandomTests' with: 'Math-RandomTests-DanielUber.6'; + package: 'Math-RandomTests' with: 'Math-RandomTests-DanielUber.7'; package: 'Math-ComplexExtensions' with: 'Math-ComplexExtensions-DanielUber.1'; package: 'Math-DHB-NumericalExtensions' with: 'Math-DHB-NumericalExtensions-DanielUber.2'; package: 'Math-Extensions' with: 'Math-Extensions-DanielUber.3'; diff --git a/ConfigurationOfSciSmalltalk.package/monticello.meta/version b/ConfigurationOfSciSmalltalk.package/monticello.meta/version index a469700..7a5a3e0 100644 --- a/ConfigurationOfSciSmalltalk.package/monticello.meta/version +++ b/ConfigurationOfSciSmalltalk.package/monticello.meta/version @@ -1 +1 @@ -(name 'ConfigurationOfSciSmalltalk-DanielUber.23' message 'relaxed convergence bound on PoissonGenerator' id '747d7c2f-457a-4132-a957-33750cff5d47' date '7 June 2012' time '2:27:51.162 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.22' message 'modified Random tests and fixed an error in MTGenerator' id '0f45fdc1-0c58-4010-a30e-50f0130ca821' date '7 June 2012' time '2:08:52.142 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.21' message 'added development version' id 'b6d83195-55f7-40ff-8b10-5f232f1761a1' date '6 June 2012' time '12:01:21.914 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.20' message 'made 1-03 stable' id '60e30bf9-2e99-46cf-95d6-60c606751abf' date '6 June 2012' time '11:49:17.017 am' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.19' message 'fixed version 1-03' id '805189c6-d9db-4f4e-8a91-625b86bddbb4' date '6 June 2012' time '11:43:44.484 am' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.18' message 'version 1.03 using new Random and RandomTests packages. Testing automatic version generation using MetacelloToolbox.' id '0958cbf7-a326-44ce-96ce-d711aaf153a6' date '6 June 2012' time '11:01:46.953 am' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.17' message 'changed bleedingEdge to use development.' id '082f9c55-8dcc-4e25-a860-06bf37cc7774' date '6 June 2012' time '10:58:05.406 am' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.16' message 'changed version 1.02 to reflect new Complex, Quaternion, and Numerical package numbers.' id 'f8b5a5fe-dec3-4e50-8a28-83d6de695fd7' date '5 June 2012' time '5:03:59.538 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.15' message 'updated package names after renaming extensions packages for Quaternion, Numerical, and Complex.' id '0cd8165d-d9e9-4364-8962-5bab5cb8d9a9' date '5 June 2012' time '4:57:50.098 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.14' message 'changed load order.' id '0b8e97a6-643c-439f-a5a9-105967bd3462' date '5 June 2012' time '4:27:20.258 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.13' message 'separated package load. ' id 'a9546148-d07f-465c-9f30-753f18440cdd' date '5 June 2012' time '3:39:42.348 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.12' message 'corrected typo in bleedingEdge.' id '7f0f99d3-5579-45f3-b07c-b3a6eccdb21f' date '20 May 2012' time '2:47:13.668 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.11' message 'added bleedingEdge version and updated to version 1.01' id '7e959693-c85b-4404-96d3-6e6cde48cb78' date '20 May 2012' time '2:44:26.266 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.10' message 'modified to try to load Math-All from ss3.' id '58c70684-ae18-470a-95cc-a4d4210e951b' date '17 May 2012' time '2:19:41.766 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.9' message 'currently loading DHB-Numerical, then Complex. There is an issue where DHB-Numerical needs Complex and Quaternion due to extensions, and Complex needs DHB-Numerical due to extensions. This may take some rethinking of the package structure (or require an extensions package).' id '9f772bde-a2f4-4d3a-9902-366cb0feeaf2' date '16 May 2012' time '4:11:19.556 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.8' message 'fixed typo in baseline.' id '384b19df-693f-4625-8399-bb2d83b68f14' date '16 May 2012' time '3:52:32.332 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.7' message 'added DHB-Numerical and fixed typos. Added to default and tests.' id 'b22b3ea1-6136-4ad2-ad87-b39fcfe6fb21' date '16 May 2012' time '3:50:26.232 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.6' message 'added DHB-Numerics as a dependency for Math-Complex.' id '2eb9c399-f1a4-4d7f-893d-48d06fc55424' date '16 May 2012' time '3:45:29.334 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.5' message 'added development version' id '0af623af-81f0-47ba-89e0-cc51698b2e9c' date '16 May 2012' time '3:35:20.434 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.4' message 'fixed dependency in baseline from Example-Core to Math-Complex.' id '7c5f16b4-3bfe-43bf-8ff6-33a9682d6f73' date '16 May 2012' time '3:28:34.716 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.3' message 'added version 100' id '3aae054c-4bc9-42e2-972c-dd44b5a1c722' date '16 May 2012' time '3:26:12.942 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.2' message 'created baseline for complex.' id '0c94552e-1fa2-437f-a308-71a3b71ab8dd' date '16 May 2012' time '3:21:19.742 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.1' message 'empty configuration. First commit.' id '2b16cd0b-9384-4fe9-a139-62c2f1fb7e84' date '16 May 2012' time '2:04:26.726 pm' author 'DanielUber' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'ConfigurationOfSciSmalltalk-DanielUber.24' message 'added announcements/watchers to ODESolver ' id '7e0b4886-52a9-4491-b929-f7641c5670d9' date '8 June 2012' time '11:43:57.51 am' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.23' message 'relaxed convergence bound on PoissonGenerator' id '747d7c2f-457a-4132-a957-33750cff5d47' date '7 June 2012' time '2:27:51.162 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.22' message 'modified Random tests and fixed an error in MTGenerator' id '0f45fdc1-0c58-4010-a30e-50f0130ca821' date '7 June 2012' time '2:08:52.142 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.21' message 'added development version' id 'b6d83195-55f7-40ff-8b10-5f232f1761a1' date '6 June 2012' time '12:01:21.914 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.20' message 'made 1-03 stable' id '60e30bf9-2e99-46cf-95d6-60c606751abf' date '6 June 2012' time '11:49:17.017 am' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.19' message 'fixed version 1-03' id '805189c6-d9db-4f4e-8a91-625b86bddbb4' date '6 June 2012' time '11:43:44.484 am' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.18' message 'version 1.03 using new Random and RandomTests packages. Testing automatic version generation using MetacelloToolbox.' id '0958cbf7-a326-44ce-96ce-d711aaf153a6' date '6 June 2012' time '11:01:46.953 am' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.17' message 'changed bleedingEdge to use development.' id '082f9c55-8dcc-4e25-a860-06bf37cc7774' date '6 June 2012' time '10:58:05.406 am' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.16' message 'changed version 1.02 to reflect new Complex, Quaternion, and Numerical package numbers.' id 'f8b5a5fe-dec3-4e50-8a28-83d6de695fd7' date '5 June 2012' time '5:03:59.538 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.15' message 'updated package names after renaming extensions packages for Quaternion, Numerical, and Complex.' id '0cd8165d-d9e9-4364-8962-5bab5cb8d9a9' date '5 June 2012' time '4:57:50.098 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.14' message 'changed load order.' id '0b8e97a6-643c-439f-a5a9-105967bd3462' date '5 June 2012' time '4:27:20.258 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.13' message 'separated package load. ' id 'a9546148-d07f-465c-9f30-753f18440cdd' date '5 June 2012' time '3:39:42.348 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.12' message 'corrected typo in bleedingEdge.' id '7f0f99d3-5579-45f3-b07c-b3a6eccdb21f' date '20 May 2012' time '2:47:13.668 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.11' message 'added bleedingEdge version and updated to version 1.01' id '7e959693-c85b-4404-96d3-6e6cde48cb78' date '20 May 2012' time '2:44:26.266 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.10' message 'modified to try to load Math-All from ss3.' id '58c70684-ae18-470a-95cc-a4d4210e951b' date '17 May 2012' time '2:19:41.766 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.9' message 'currently loading DHB-Numerical, then Complex. There is an issue where DHB-Numerical needs Complex and Quaternion due to extensions, and Complex needs DHB-Numerical due to extensions. This may take some rethinking of the package structure (or require an extensions package).' id '9f772bde-a2f4-4d3a-9902-366cb0feeaf2' date '16 May 2012' time '4:11:19.556 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.8' message 'fixed typo in baseline.' id '384b19df-693f-4625-8399-bb2d83b68f14' date '16 May 2012' time '3:52:32.332 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.7' message 'added DHB-Numerical and fixed typos. Added to default and tests.' id 'b22b3ea1-6136-4ad2-ad87-b39fcfe6fb21' date '16 May 2012' time '3:50:26.232 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.6' message 'added DHB-Numerics as a dependency for Math-Complex.' id '2eb9c399-f1a4-4d7f-893d-48d06fc55424' date '16 May 2012' time '3:45:29.334 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.5' message 'added development version' id '0af623af-81f0-47ba-89e0-cc51698b2e9c' date '16 May 2012' time '3:35:20.434 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.4' message 'fixed dependency in baseline from Example-Core to Math-Complex.' id '7c5f16b4-3bfe-43bf-8ff6-33a9682d6f73' date '16 May 2012' time '3:28:34.716 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.3' message 'added version 100' id '3aae054c-4bc9-42e2-972c-dd44b5a1c722' date '16 May 2012' time '3:26:12.942 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.2' message 'created baseline for complex.' id '0c94552e-1fa2-437f-a308-71a3b71ab8dd' date '16 May 2012' time '3:21:19.742 pm' author 'DanielUber' ancestors ((name 'ConfigurationOfSciSmalltalk-DanielUber.1' message 'empty configuration. First commit.' id '2b16cd0b-9384-4fe9-a139-62c2f1fb7e84' date '16 May 2012' time '2:04:26.726 pm' author 'DanielUber' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/Math-ODE.package/ControlledRungeKuttaStepper.class/properties.json b/Math-ODE.package/ControlledRungeKuttaStepper.class/properties.json index 0489ee9..9ab2a07 100644 --- a/Math-ODE.package/ControlledRungeKuttaStepper.class/properties.json +++ b/Math-ODE.package/ControlledRungeKuttaStepper.class/properties.json @@ -2,6 +2,7 @@ "category" : "Math-ODE", "classinstvars" : [ ], + "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "", @@ -11,4 +12,5 @@ "pools" : [ ], "super" : "ControlledStepper", + "traitcomposition" : "{}", "type" : "normal" } diff --git a/Math-ODE.package/ControlledStepper.class/properties.json b/Math-ODE.package/ControlledStepper.class/properties.json index 33aee94..6266ab8 100644 --- a/Math-ODE.package/ControlledStepper.class/properties.json +++ b/Math-ODE.package/ControlledStepper.class/properties.json @@ -2,6 +2,7 @@ "category" : "Math-ODE", "classinstvars" : [ ], + "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "", @@ -11,4 +12,5 @@ "pools" : [ ], "super" : "Stepper", + "traitcomposition" : "{}", "type" : "normal" } diff --git a/Math-ODE.package/DenseOutputStepper.class/properties.json b/Math-ODE.package/DenseOutputStepper.class/properties.json index 6b7541b..b46e3fb 100644 --- a/Math-ODE.package/DenseOutputStepper.class/properties.json +++ b/Math-ODE.package/DenseOutputStepper.class/properties.json @@ -2,6 +2,7 @@ "category" : "Math-ODE", "classinstvars" : [ ], + "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "", @@ -11,4 +12,5 @@ "pools" : [ ], "super" : "Stepper", + "traitcomposition" : "{}", "type" : "normal" } diff --git a/Math-ODE.package/ExplicitAnnouncer.class/README.md b/Math-ODE.package/ExplicitAnnouncer.class/README.md new file mode 100644 index 0000000..bc930c7 --- /dev/null +++ b/Math-ODE.package/ExplicitAnnouncer.class/README.md @@ -0,0 +1 @@ +An ExplicitAnnouncer is used by ODESolver to announce step results (ExplicitSolverAnnouncement). \ No newline at end of file diff --git a/Math-ODE.package/ExplicitAnnouncer.class/properties.json b/Math-ODE.package/ExplicitAnnouncer.class/properties.json new file mode 100644 index 0000000..65ea52c --- /dev/null +++ b/Math-ODE.package/ExplicitAnnouncer.class/properties.json @@ -0,0 +1,16 @@ +{ + "category" : "Math-ODE", + "classinstvars" : [ + ], + "classtraitcomposition" : "{}", + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "ExplicitAnnouncer", + "pools" : [ + ], + "super" : "Announcer", + "traitcomposition" : "{}", + "type" : "normal" } diff --git a/Math-ODE.package/ExplicitSolverAnnouncement.class/README.md b/Math-ODE.package/ExplicitSolverAnnouncement.class/README.md new file mode 100644 index 0000000..cb83a3b --- /dev/null +++ b/Math-ODE.package/ExplicitSolverAnnouncement.class/README.md @@ -0,0 +1 @@ +An ExplicitSolverAnnouncement is a record of a step in an explicit system. It contains a time and a state. \ No newline at end of file diff --git a/Math-ODE.package/ExplicitSolverAnnouncement.class/class/x.t..st b/Math-ODE.package/ExplicitSolverAnnouncement.class/class/x.t..st new file mode 100644 index 0000000..f068e56 --- /dev/null +++ b/Math-ODE.package/ExplicitSolverAnnouncement.class/class/x.t..st @@ -0,0 +1,3 @@ +accessing +x: aState t: aTime + ^ self new x: aState t: aTime; yourself. \ No newline at end of file diff --git a/Math-ODE.package/ExplicitSolverAnnouncement.class/instance/t.st b/Math-ODE.package/ExplicitSolverAnnouncement.class/instance/t.st new file mode 100644 index 0000000..aea9a12 --- /dev/null +++ b/Math-ODE.package/ExplicitSolverAnnouncement.class/instance/t.st @@ -0,0 +1,3 @@ +accessing +t + ^ t \ No newline at end of file diff --git a/Math-ODE.package/ExplicitSolverAnnouncement.class/instance/x.st b/Math-ODE.package/ExplicitSolverAnnouncement.class/instance/x.st new file mode 100644 index 0000000..071bec0 --- /dev/null +++ b/Math-ODE.package/ExplicitSolverAnnouncement.class/instance/x.st @@ -0,0 +1,3 @@ +accessing +x + ^ state \ No newline at end of file diff --git a/Math-ODE.package/ExplicitSolverAnnouncement.class/instance/x.t..st b/Math-ODE.package/ExplicitSolverAnnouncement.class/instance/x.t..st new file mode 100644 index 0000000..1683728 --- /dev/null +++ b/Math-ODE.package/ExplicitSolverAnnouncement.class/instance/x.t..st @@ -0,0 +1,4 @@ +accessing +x: aState t: aTime + state:= aState. + t := aTime. \ No newline at end of file diff --git a/Math-ODE.package/ExplicitSolverAnnouncement.class/properties.json b/Math-ODE.package/ExplicitSolverAnnouncement.class/properties.json new file mode 100644 index 0000000..2d6195d --- /dev/null +++ b/Math-ODE.package/ExplicitSolverAnnouncement.class/properties.json @@ -0,0 +1,17 @@ +{ + "category" : "Math-ODE", + "classinstvars" : [ + ], + "classtraitcomposition" : "{}", + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "t", + "state" ], + "name" : "ExplicitSolverAnnouncement", + "pools" : [ + ], + "super" : "Announcement", + "traitcomposition" : "{}", + "type" : "normal" } diff --git a/Math-ODE.package/ExplicitSolverSubscriber.class/README.md b/Math-ODE.package/ExplicitSolverSubscriber.class/README.md new file mode 100644 index 0000000..e69de29 diff --git a/Math-ODE.package/ExplicitSolverSubscriber.class/class/forAnnouncer..st b/Math-ODE.package/ExplicitSolverSubscriber.class/class/forAnnouncer..st new file mode 100644 index 0000000..7511593 --- /dev/null +++ b/Math-ODE.package/ExplicitSolverSubscriber.class/class/forAnnouncer..st @@ -0,0 +1,3 @@ +instance creation +forAnnouncer: anAnnouncer + ^ self new forAnnouncer: anAnnouncer. \ No newline at end of file diff --git a/Math-ODE.package/ExplicitSolverSubscriber.class/class/forSolver..st b/Math-ODE.package/ExplicitSolverSubscriber.class/class/forSolver..st new file mode 100644 index 0000000..690da49 --- /dev/null +++ b/Math-ODE.package/ExplicitSolverSubscriber.class/class/forSolver..st @@ -0,0 +1,3 @@ +instance creation +forSolver: anODESolver + ^ self forAnnouncer: anODESolver announcer \ No newline at end of file diff --git a/Math-ODE.package/ExplicitSolverSubscriber.class/instance/announcers.st b/Math-ODE.package/ExplicitSolverSubscriber.class/instance/announcers.st new file mode 100644 index 0000000..6aeb8eb --- /dev/null +++ b/Math-ODE.package/ExplicitSolverSubscriber.class/instance/announcers.st @@ -0,0 +1,4 @@ +accessing +announcers + + ^ announcers \ No newline at end of file diff --git a/Math-ODE.package/ExplicitSolverSubscriber.class/instance/block..st b/Math-ODE.package/ExplicitSolverSubscriber.class/instance/block..st new file mode 100644 index 0000000..9b6ce7a --- /dev/null +++ b/Math-ODE.package/ExplicitSolverSubscriber.class/instance/block..st @@ -0,0 +1,3 @@ +accessing +block: aFormatBlock + block := aFormatBlock \ No newline at end of file diff --git a/Math-ODE.package/ExplicitSolverSubscriber.class/instance/block.st b/Math-ODE.package/ExplicitSolverSubscriber.class/instance/block.st new file mode 100644 index 0000000..278c766 --- /dev/null +++ b/Math-ODE.package/ExplicitSolverSubscriber.class/instance/block.st @@ -0,0 +1,3 @@ +accessing +block + ^ block \ No newline at end of file diff --git a/Math-ODE.package/ExplicitSolverSubscriber.class/instance/forAnnouncer..st b/Math-ODE.package/ExplicitSolverSubscriber.class/instance/forAnnouncer..st new file mode 100644 index 0000000..0865ded --- /dev/null +++ b/Math-ODE.package/ExplicitSolverSubscriber.class/instance/forAnnouncer..st @@ -0,0 +1,4 @@ +subscription +forAnnouncer: anAnnouncer + anAnnouncer on: ExplicitSolverAnnouncement do: self block. + announcers add: anAnnouncer. \ No newline at end of file diff --git a/Math-ODE.package/ExplicitSolverSubscriber.class/instance/initialize.st b/Math-ODE.package/ExplicitSolverSubscriber.class/instance/initialize.st new file mode 100644 index 0000000..da78344 --- /dev/null +++ b/Math-ODE.package/ExplicitSolverSubscriber.class/instance/initialize.st @@ -0,0 +1,5 @@ +initialize-release +initialize + announcers := IdentitySet new. + block := self defaultBlock. + ^ self \ No newline at end of file diff --git a/Math-ODE.package/ExplicitSolverSubscriber.class/instance/release.st b/Math-ODE.package/ExplicitSolverSubscriber.class/instance/release.st new file mode 100644 index 0000000..2241821 --- /dev/null +++ b/Math-ODE.package/ExplicitSolverSubscriber.class/instance/release.st @@ -0,0 +1,5 @@ +initialize-release +release + "stop announcers from sending messages" + self unsubscribe. + super release. \ No newline at end of file diff --git a/Math-ODE.package/ExplicitSolverSubscriber.class/instance/unsubscribe..st b/Math-ODE.package/ExplicitSolverSubscriber.class/instance/unsubscribe..st new file mode 100644 index 0000000..628ddaf --- /dev/null +++ b/Math-ODE.package/ExplicitSolverSubscriber.class/instance/unsubscribe..st @@ -0,0 +1,4 @@ +subscription +unsubscribe: anAnnouncer + anAnnouncer unsubscribe: self. + announcers remove: anAnnouncer ifAbsent: []. \ No newline at end of file diff --git a/Math-ODE.package/ExplicitSolverSubscriber.class/instance/unsubscribe.st b/Math-ODE.package/ExplicitSolverSubscriber.class/instance/unsubscribe.st new file mode 100644 index 0000000..cded35f --- /dev/null +++ b/Math-ODE.package/ExplicitSolverSubscriber.class/instance/unsubscribe.st @@ -0,0 +1,3 @@ +subscription +unsubscribe + announcers do: [:ea | self unsubscribe: ea]. diff --git a/Math-ODE.package/ExplicitSolverSubscriber.class/properties.json b/Math-ODE.package/ExplicitSolverSubscriber.class/properties.json new file mode 100644 index 0000000..9a931a6 --- /dev/null +++ b/Math-ODE.package/ExplicitSolverSubscriber.class/properties.json @@ -0,0 +1,17 @@ +{ + "category" : "Math-ODE", + "classinstvars" : [ + ], + "classtraitcomposition" : "{}", + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "announcers", + "block" ], + "name" : "ExplicitSolverSubscriber", + "pools" : [ + ], + "super" : "Object", + "traitcomposition" : "{}", + "type" : "normal" } diff --git a/Math-ODE.package/ExplicitStepper.class/properties.json b/Math-ODE.package/ExplicitStepper.class/properties.json index dfcef0d..987d4e1 100644 --- a/Math-ODE.package/ExplicitStepper.class/properties.json +++ b/Math-ODE.package/ExplicitStepper.class/properties.json @@ -2,6 +2,7 @@ "category" : "Math-ODE", "classinstvars" : [ ], + "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "", @@ -11,4 +12,5 @@ "pools" : [ ], "super" : "Stepper", + "traitcomposition" : "{}", "type" : "normal" } diff --git a/Math-ODE.package/ExplicitSystem.class/properties.json b/Math-ODE.package/ExplicitSystem.class/properties.json index cf7a30e..e401610 100644 --- a/Math-ODE.package/ExplicitSystem.class/properties.json +++ b/Math-ODE.package/ExplicitSystem.class/properties.json @@ -2,6 +2,7 @@ "category" : "Math-ODE", "classinstvars" : [ ], + "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "", @@ -11,4 +12,5 @@ "pools" : [ ], "super" : "ODESystem", + "traitcomposition" : "{}", "type" : "normal" } diff --git a/Math-ODE.package/ImplicitStepper.class/properties.json b/Math-ODE.package/ImplicitStepper.class/properties.json index dff4ab7..46cc04f 100644 --- a/Math-ODE.package/ImplicitStepper.class/properties.json +++ b/Math-ODE.package/ImplicitStepper.class/properties.json @@ -2,6 +2,7 @@ "category" : "Math-ODE", "classinstvars" : [ ], + "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "", @@ -11,4 +12,5 @@ "pools" : [ ], "super" : "Stepper", + "traitcomposition" : "{}", "type" : "normal" } diff --git a/Math-ODE.package/ImplicitSystem.class/properties.json b/Math-ODE.package/ImplicitSystem.class/properties.json index 09b0649..1d48b96 100644 --- a/Math-ODE.package/ImplicitSystem.class/properties.json +++ b/Math-ODE.package/ImplicitSystem.class/properties.json @@ -2,6 +2,7 @@ "category" : "Math-ODE", "classinstvars" : [ ], + "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "", @@ -12,4 +13,5 @@ "pools" : [ ], "super" : "ODESystem", + "traitcomposition" : "{}", "type" : "normal" } diff --git a/Math-ODE.package/MultiStepper.class/properties.json b/Math-ODE.package/MultiStepper.class/properties.json index 76c9798..743db40 100644 --- a/Math-ODE.package/MultiStepper.class/properties.json +++ b/Math-ODE.package/MultiStepper.class/properties.json @@ -2,6 +2,7 @@ "category" : "Math-ODE", "classinstvars" : [ ], + "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "", @@ -11,4 +12,5 @@ "pools" : [ ], "super" : "Stepper", + "traitcomposition" : "{}", "type" : "normal" } diff --git a/Math-ODE.package/ODESolver.class/README.md b/Math-ODE.package/ODESolver.class/README.md index fab5fad..93fd979 100644 --- a/Math-ODE.package/ODESolver.class/README.md +++ b/Math-ODE.package/ODESolver.class/README.md @@ -3,4 +3,5 @@ An ODE Solver uses a Stepper to solve a System. The main interface once the solver is set up (it has a stepper and a solver) is solve: system x0: aState t0: startTime t1: endTime solve: system x0: aState t0: startTime t1: endTime stepSize: dt - \ No newline at end of file + +Announcements are made when a step is taken. \ No newline at end of file diff --git a/Math-ODE.package/ODESolver.class/instance/announcer..st b/Math-ODE.package/ODESolver.class/instance/announcer..st new file mode 100644 index 0000000..4e6ce0d --- /dev/null +++ b/Math-ODE.package/ODESolver.class/instance/announcer..st @@ -0,0 +1,3 @@ +accessing +announcer: anAnnouncer + announcer := anAnnouncer \ No newline at end of file diff --git a/Math-ODE.package/ODESolver.class/instance/announcer.st b/Math-ODE.package/ODESolver.class/instance/announcer.st new file mode 100644 index 0000000..3903dba --- /dev/null +++ b/Math-ODE.package/ODESolver.class/instance/announcer.st @@ -0,0 +1,3 @@ +accessing +announcer + ^ announcer \ No newline at end of file diff --git a/Math-ODE.package/ODESolver.class/instance/initialize.st b/Math-ODE.package/ODESolver.class/instance/initialize.st new file mode 100644 index 0000000..f5fd921 --- /dev/null +++ b/Math-ODE.package/ODESolver.class/instance/initialize.st @@ -0,0 +1,5 @@ +initialize-release +initialize + super initialize. + announcer := ExplicitAnnouncer new. + ^ self \ No newline at end of file diff --git a/Math-ODE.package/ODESolver.class/instance/solve.startState.startTime.endTime..st b/Math-ODE.package/ODESolver.class/instance/solve.startState.startTime.endTime..st index f1e965a..99312d2 100644 --- a/Math-ODE.package/ODESolver.class/instance/solve.startState.startTime.endTime..st +++ b/Math-ODE.package/ODESolver.class/instance/solve.startState.startTime.endTime..st @@ -11,6 +11,7 @@ solve: aSystem startState: initialState startTime: initialTime endTime: endTime doStep: state time: time stepSize: self dt. - self fixMe: 'add a monitor method/announcement here'. - ]. + "announce step results" + announcer announce: (ExplicitSolverAnnouncement x: state t: time). + ]. ^ state \ No newline at end of file diff --git a/Math-ODE.package/ODESolver.class/properties.json b/Math-ODE.package/ODESolver.class/properties.json index f524782..c3c2816 100644 --- a/Math-ODE.package/ODESolver.class/properties.json +++ b/Math-ODE.package/ODESolver.class/properties.json @@ -2,15 +2,18 @@ "category" : "Math-ODE", "classinstvars" : [ ], + "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "", "instvars" : [ "stepper", "system", - "dt" ], + "dt", + "announcer" ], "name" : "ODESolver", "pools" : [ ], "super" : "Object", + "traitcomposition" : "{}", "type" : "normal" } diff --git a/Math-ODE.package/ODESystem.class/properties.json b/Math-ODE.package/ODESystem.class/properties.json index c12ee85..4fc6951 100644 --- a/Math-ODE.package/ODESystem.class/properties.json +++ b/Math-ODE.package/ODESystem.class/properties.json @@ -2,6 +2,7 @@ "category" : "Math-ODE", "classinstvars" : [ ], + "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "", @@ -11,4 +12,5 @@ "pools" : [ ], "super" : "Object", + "traitcomposition" : "{}", "type" : "normal" } diff --git a/Math-ODE.package/Rosenbrock4Controller.class/properties.json b/Math-ODE.package/Rosenbrock4Controller.class/properties.json index fae3f1c..f5674e1 100644 --- a/Math-ODE.package/Rosenbrock4Controller.class/properties.json +++ b/Math-ODE.package/Rosenbrock4Controller.class/properties.json @@ -2,6 +2,7 @@ "category" : "Math-ODE", "classinstvars" : [ ], + "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "", @@ -11,4 +12,5 @@ "pools" : [ ], "super" : "ControlledStepper", + "traitcomposition" : "{}", "type" : "normal" } diff --git a/Math-ODE.package/RungeKuttaNystromStepper.class/properties.json b/Math-ODE.package/RungeKuttaNystromStepper.class/properties.json index 4a90d64..422939d 100644 --- a/Math-ODE.package/RungeKuttaNystromStepper.class/properties.json +++ b/Math-ODE.package/RungeKuttaNystromStepper.class/properties.json @@ -2,6 +2,7 @@ "category" : "Math-ODE", "classinstvars" : [ ], + "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "", @@ -11,4 +12,5 @@ "pools" : [ ], "super" : "SymplecticStepper", + "traitcomposition" : "{}", "type" : "normal" } diff --git a/Math-ODE.package/RungeKuttaStepper.class/properties.json b/Math-ODE.package/RungeKuttaStepper.class/properties.json index b88c5b2..5437a5d 100644 --- a/Math-ODE.package/RungeKuttaStepper.class/properties.json +++ b/Math-ODE.package/RungeKuttaStepper.class/properties.json @@ -2,6 +2,7 @@ "category" : "Math-ODE", "classinstvars" : [ ], + "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "", @@ -11,4 +12,5 @@ "pools" : [ ], "super" : "ExplicitStepper", + "traitcomposition" : "{}", "type" : "normal" } diff --git a/Math-ODE.package/SimpleSymplecticSystem.class/properties.json b/Math-ODE.package/SimpleSymplecticSystem.class/properties.json index df48945..2160b84 100644 --- a/Math-ODE.package/SimpleSymplecticSystem.class/properties.json +++ b/Math-ODE.package/SimpleSymplecticSystem.class/properties.json @@ -2,6 +2,7 @@ "category" : "Math-ODE", "classinstvars" : [ ], + "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "", @@ -11,4 +12,5 @@ "pools" : [ ], "super" : "SymplecticSystem", + "traitcomposition" : "{}", "type" : "normal" } diff --git a/Math-ODE.package/StateRecorder.class/README.md b/Math-ODE.package/StateRecorder.class/README.md new file mode 100644 index 0000000..ee1c8cc --- /dev/null +++ b/Math-ODE.package/StateRecorder.class/README.md @@ -0,0 +1,3 @@ +A StateRecorder captures each step in an ODESolvers history. + +It stores these as a sorted collection of state,time points, in increasing time order. \ No newline at end of file diff --git a/Math-ODE.package/StateRecorder.class/class/demo.st b/Math-ODE.package/StateRecorder.class/class/demo.st new file mode 100644 index 0000000..4107ec5 --- /dev/null +++ b/Math-ODE.package/StateRecorder.class/class/demo.st @@ -0,0 +1,13 @@ +example +demo +| solver system recorder | + +solver := ODESolver new. +system := ExplicitSystem block: [:x :t | t]. +recorder := self forSolver: solver. +solver solve: system startState: 0 startTime: 0 endTime: 2 stepSize: 0.1. + +recorder unsubscribe. +"these wont be captured" +solver solve: system startState: 0 startTime: 0 endTime: 5 stepSize: 0.1. +recorder states inspect. \ No newline at end of file diff --git a/Math-ODE.package/StateRecorder.class/instance/add.at..st b/Math-ODE.package/StateRecorder.class/instance/add.at..st new file mode 100644 index 0000000..a8dd3cc --- /dev/null +++ b/Math-ODE.package/StateRecorder.class/instance/add.at..st @@ -0,0 +1,3 @@ +accessing +add: aState at: aTime + states add: aState @ aTime \ No newline at end of file diff --git a/Math-ODE.package/StateRecorder.class/instance/defaultBlock.st b/Math-ODE.package/StateRecorder.class/instance/defaultBlock.st new file mode 100644 index 0000000..6ead84d --- /dev/null +++ b/Math-ODE.package/StateRecorder.class/instance/defaultBlock.st @@ -0,0 +1,3 @@ +accessing +defaultBlock + ^ [:ann | self add: ann x at: ann t]. \ No newline at end of file diff --git a/Math-ODE.package/StateRecorder.class/instance/initialize.st b/Math-ODE.package/StateRecorder.class/instance/initialize.st new file mode 100644 index 0000000..468fe93 --- /dev/null +++ b/Math-ODE.package/StateRecorder.class/instance/initialize.st @@ -0,0 +1,5 @@ +initialize-release +initialize + super initialize. + states := SortedCollection sortBlock: [:x :y | x y < y y]. + ^ self \ No newline at end of file diff --git a/Math-ODE.package/StateRecorder.class/instance/states.st b/Math-ODE.package/StateRecorder.class/instance/states.st new file mode 100644 index 0000000..e9ce751 --- /dev/null +++ b/Math-ODE.package/StateRecorder.class/instance/states.st @@ -0,0 +1,3 @@ +accessing +states + ^ states \ No newline at end of file diff --git a/Math-ODE.package/StateRecorder.class/properties.json b/Math-ODE.package/StateRecorder.class/properties.json new file mode 100644 index 0000000..10a8b49 --- /dev/null +++ b/Math-ODE.package/StateRecorder.class/properties.json @@ -0,0 +1,16 @@ +{ + "category" : "Math-ODE", + "classinstvars" : [ + ], + "classtraitcomposition" : "{}", + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + "states" ], + "name" : "StateRecorder", + "pools" : [ + ], + "super" : "ExplicitSolverSubscriber", + "traitcomposition" : "{}", + "type" : "normal" } diff --git a/Math-ODE.package/Stepper.class/properties.json b/Math-ODE.package/Stepper.class/properties.json index 657df64..7d2beea 100644 --- a/Math-ODE.package/Stepper.class/properties.json +++ b/Math-ODE.package/Stepper.class/properties.json @@ -2,6 +2,7 @@ "category" : "Math-ODE", "classinstvars" : [ ], + "classtraitcomposition" : "{}", "classvars" : [ "order" ], "commentStamp" : "", @@ -11,4 +12,5 @@ "pools" : [ ], "super" : "Object", + "traitcomposition" : "{}", "type" : "normal" } diff --git a/Math-ODE.package/SymplecticEulerStepper.class/properties.json b/Math-ODE.package/SymplecticEulerStepper.class/properties.json index 3eaca2b..a76f92e 100644 --- a/Math-ODE.package/SymplecticEulerStepper.class/properties.json +++ b/Math-ODE.package/SymplecticEulerStepper.class/properties.json @@ -2,6 +2,7 @@ "category" : "Math-ODE", "classinstvars" : [ ], + "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "", @@ -11,4 +12,5 @@ "pools" : [ ], "super" : "SymplecticStepper", + "traitcomposition" : "{}", "type" : "normal" } diff --git a/Math-ODE.package/SymplecticStepper.class/properties.json b/Math-ODE.package/SymplecticStepper.class/properties.json index cb65e10..9d4d796 100644 --- a/Math-ODE.package/SymplecticStepper.class/properties.json +++ b/Math-ODE.package/SymplecticStepper.class/properties.json @@ -2,6 +2,7 @@ "category" : "Math-ODE", "classinstvars" : [ ], + "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "", @@ -11,4 +12,5 @@ "pools" : [ ], "super" : "Stepper", + "traitcomposition" : "{}", "type" : "normal" } diff --git a/Math-ODE.package/SymplecticSystem.class/properties.json b/Math-ODE.package/SymplecticSystem.class/properties.json index b5fc547..125fb5d 100644 --- a/Math-ODE.package/SymplecticSystem.class/properties.json +++ b/Math-ODE.package/SymplecticSystem.class/properties.json @@ -2,6 +2,7 @@ "category" : "Math-ODE", "classinstvars" : [ ], + "classtraitcomposition" : "{}", "classvars" : [ ], "commentStamp" : "", @@ -14,4 +15,5 @@ "pools" : [ ], "super" : "ODESystem", + "traitcomposition" : "{}", "type" : "normal" } diff --git a/Math-ODE.package/TranscriptRecorder.class/README.md b/Math-ODE.package/TranscriptRecorder.class/README.md new file mode 100644 index 0000000..cb55cf1 --- /dev/null +++ b/Math-ODE.package/TranscriptRecorder.class/README.md @@ -0,0 +1,2 @@ +A TranscriptRecorder is a very primitive tool. +It prints a message to transcript when a step is taken by the solver. \ No newline at end of file diff --git a/Math-ODE.package/TranscriptRecorder.class/class/demo.st b/Math-ODE.package/TranscriptRecorder.class/class/demo.st new file mode 100644 index 0000000..a0537a1 --- /dev/null +++ b/Math-ODE.package/TranscriptRecorder.class/class/demo.st @@ -0,0 +1,17 @@ +example +demo +| solver system recorder | +Transcript openAsMorphLabel: 'TransciptRecorderDemo'. +Transcript + cr; + show: 'TranscriptRecorder demo start'; + cr. +solver := ODESolver new. +system := ExplicitSystem block: [:x :t | t]. +recorder := self forSolver: solver. +"this should be shown" +solver solve: system startState: 0 startTime: 0 endTime: 2 stepSize: 0.1. +recorder unsubscribe. +"this should not be shown" +solver solve: system startState: 0 startTime: 0 endTime: 5 stepSize: 0.1. +Transcript show: 'TranscriptRecorder demo end'; cr. \ No newline at end of file diff --git a/Math-ODE.package/TranscriptRecorder.class/instance/defaultBlock.st b/Math-ODE.package/TranscriptRecorder.class/instance/defaultBlock.st new file mode 100644 index 0000000..838147f --- /dev/null +++ b/Math-ODE.package/TranscriptRecorder.class/instance/defaultBlock.st @@ -0,0 +1,9 @@ +accessing +defaultBlock + "this is the default transcript output" + ^ [:ann | Transcript show: 'state: '; + show: ann x asString ; + tab; tab; + show: ' time: '; + show: ann t asString; + cr ]. diff --git a/Math-ODE.package/TranscriptRecorder.class/properties.json b/Math-ODE.package/TranscriptRecorder.class/properties.json new file mode 100644 index 0000000..2280d8a --- /dev/null +++ b/Math-ODE.package/TranscriptRecorder.class/properties.json @@ -0,0 +1,16 @@ +{ + "category" : "Math-ODE", + "classinstvars" : [ + ], + "classtraitcomposition" : "{}", + "classvars" : [ + ], + "commentStamp" : "", + "instvars" : [ + ], + "name" : "TranscriptRecorder", + "pools" : [ + ], + "super" : "ExplicitSolverSubscriber", + "traitcomposition" : "{}", + "type" : "normal" } diff --git a/Math-ODE.package/monticello.meta/version b/Math-ODE.package/monticello.meta/version index 201630f..79e96ea 100644 --- a/Math-ODE.package/monticello.meta/version +++ b/Math-ODE.package/monticello.meta/version @@ -1 +1 @@ -(name 'Math-ODE-DanielUber.10' message 'RungeKuttaStepper added. Corrected issue where ODESolver would overwrite stepper.' id 'aa5aa7b0-eb57-457f-a08a-f9971db062b3' date '29 May 2012' time '11:38:04.988 am' author 'DanielUber' ancestors ((name 'Math-ODE-DanielUber.9' message 'working copy ' id '7356b953-4511-44c1-baed-671b73abdd00' date '29 May 2012' time '8:07:06.734 am' author 'DanielUber' ancestors ((name 'Math-ODE-DanielUber.8' message 'empty log message' id '5c0bc90a-2387-41bc-ab90-a88883002a50' date '23 May 2012' time '2:26:31.909 pm' author 'DanielUber' ancestors ((name 'Math-ODE-DanielUber.7' message 'added stepSize method to ODESolver to match documentation.' id '955dc50b-d09e-41cf-b8dd-f0ae03bc864f' date '22 May 2012' time '1:13:52.298 pm' author 'DanielUber' ancestors ((name 'Math-ODE-DanielUber.6' message 'added classes from odeint-v2. Need to flush out methods.' id 'ff724335-5ab4-435c-8c05-59aba765771b' date '22 May 2012' time '1:08:22.878 pm' author 'DanielUber' ancestors ((name 'Math-ODE-DanielUber.5' message 'removed stepSize method' id 'e61dae0a-b3ed-4cdb-a664-339a0f9b5b1e' date '22 May 2012' time '12:19:42.946 pm' author 'DanielUber' ancestors ((name 'Math-ODE-DanielUber.4' message 'added ODESolver. Need to seriously refactor this.' id '571a4c4d-eaf0-4e41-86c4-759345442aaa' date '22 May 2012' time '12:00:41.72 pm' author 'DanielUber' ancestors ((name 'Math-ODE-DanielUber.3' message 'added dostep:time:stepSize: to Explicit Stepper.' id '22698f56-b98a-42f8-aa9a-a5ebd7040fba' date '22 May 2012' time '11:00:33.138 am' author 'DanielUber' ancestors ((name 'Math-ODE-DanielUber.2' message 'added Stepper instance side order method' id '1985fcfd-5303-402a-9827-079a288c913c' date '22 May 2012' time '10:28:29.012 am' author 'DanielUber' ancestors ((name 'Math-ODE-DanielUber.1' message 'adding tests ' id 'b3f035a5-9b7e-4620-82d1-01b71791d425' date '22 May 2012' time '10:22:15.344 am' author 'DanielUber' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'Math-ODE-DanielUber.11' message 'added announcements/watchers to ODESolver ' id '42c431f9-2754-4d1d-b60f-5d5c011c4ade' date '8 June 2012' time '11:43:43.202 am' author 'DanielUber' ancestors ((name 'Math-ODE-DanielUber.10' message 'RungeKuttaStepper added. Corrected issue where ODESolver would overwrite stepper.' id 'aa5aa7b0-eb57-457f-a08a-f9971db062b3' date '29 May 2012' time '11:38:04.988 am' author 'DanielUber' ancestors ((name 'Math-ODE-DanielUber.9' message 'working copy ' id '7356b953-4511-44c1-baed-671b73abdd00' date '29 May 2012' time '8:07:06.734 am' author 'DanielUber' ancestors ((name 'Math-ODE-DanielUber.8' message 'empty log message' id '5c0bc90a-2387-41bc-ab90-a88883002a50' date '23 May 2012' time '2:26:31.909 pm' author 'DanielUber' ancestors ((name 'Math-ODE-DanielUber.7' message 'added stepSize method to ODESolver to match documentation.' id '955dc50b-d09e-41cf-b8dd-f0ae03bc864f' date '22 May 2012' time '1:13:52.298 pm' author 'DanielUber' ancestors ((name 'Math-ODE-DanielUber.6' message 'added classes from odeint-v2. Need to flush out methods.' id 'ff724335-5ab4-435c-8c05-59aba765771b' date '22 May 2012' time '1:08:22.878 pm' author 'DanielUber' ancestors ((name 'Math-ODE-DanielUber.5' message 'removed stepSize method' id 'e61dae0a-b3ed-4cdb-a664-339a0f9b5b1e' date '22 May 2012' time '12:19:42.946 pm' author 'DanielUber' ancestors ((name 'Math-ODE-DanielUber.4' message 'added ODESolver. Need to seriously refactor this.' id '571a4c4d-eaf0-4e41-86c4-759345442aaa' date '22 May 2012' time '12:00:41.72 pm' author 'DanielUber' ancestors ((name 'Math-ODE-DanielUber.3' message 'added dostep:time:stepSize: to Explicit Stepper.' id '22698f56-b98a-42f8-aa9a-a5ebd7040fba' date '22 May 2012' time '11:00:33.138 am' author 'DanielUber' ancestors ((name 'Math-ODE-DanielUber.2' message 'added Stepper instance side order method' id '1985fcfd-5303-402a-9827-079a288c913c' date '22 May 2012' time '10:28:29.012 am' author 'DanielUber' ancestors ((name 'Math-ODE-DanielUber.1' message 'adding tests ' id 'b3f035a5-9b7e-4620-82d1-01b71791d425' date '22 May 2012' time '10:22:15.344 am' author 'DanielUber' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file diff --git a/Math-RandomTests.package/BinomialGeneratorTest.class/instance/testBinomialGeneratorConvergesToMean.st b/Math-RandomTests.package/BinomialGeneratorTest.class/instance/testBinomialGeneratorConvergesToMean.st index 1c093d6..95efaca 100644 --- a/Math-RandomTests.package/BinomialGeneratorTest.class/instance/testBinomialGeneratorConvergesToMean.st +++ b/Math-RandomTests.package/BinomialGeneratorTest.class/instance/testBinomialGeneratorConvergesToMean.st @@ -3,10 +3,10 @@ testBinomialGeneratorConvergesToMean "this test may fail one or more assertions, but its purpose is to verify correct convergence of the binomial distribution, should be Normal (np, np(1-p))" | gen nums mean| mean := Float random sqrt. - gen := BinomialGenerator n: 1000 p: mean. - mean := mean * 1000. + gen := BinomialGenerator n: 3000 p: mean. + mean := mean * 3000. nums := OrderedCollection new. - (1 to: 1000) do: [:ea | nums add: gen next]. + (1 to: 3000) do: [:ea | nums add: gen next]. self should: [nums min > (mean * 0.8)]. self should: [nums max < (mean * 1.2)]. self should: [(nums average - mean) abs < 5 ]. diff --git a/Math-RandomTests.package/monticello.meta/version b/Math-RandomTests.package/monticello.meta/version index 0819d18..97631c7 100644 --- a/Math-RandomTests.package/monticello.meta/version +++ b/Math-RandomTests.package/monticello.meta/version @@ -1 +1 @@ -(name 'Math-RandomTests-DanielUber.6' message 'relaxed convergence bound on PoissonGenerator' id '036a11a4-9b61-46b5-9e21-a95693f470f4' date '7 June 2012' time '2:27:37.569 pm' author 'DanielUber' ancestors ((name 'Math-RandomTests-DanielUber.5' message 'modified Random tests and fixed an error in MTGenerator' id 'bdb03197-bc89-46d8-899a-ff43a8b20adb' date '7 June 2012' time '2:08:29.074 pm' author 'DanielUber' ancestors ((name 'Math-RandomTests-DanielUber.4' message 'added NumberGeneratorTest and added tests for PoissonGenerator.' id '01216067-5fa8-49d9-8d69-db60a5734b4d' date '6 June 2012' time '10:28:52.78 am' author 'DanielUber' ancestors ((name 'Math-RandomTests-DanielUber.3' message 'formatting' id '8bcedbb9-c3ba-4b6c-9869-6438830a8a3c' date '5 June 2012' time '8:16:53.696 am' author 'DanielUber' ancestors ((name 'Math-RandomTests-DanielUber.2' message '' id 'ee3a7b5f-de73-4ca6-8c88-faf8878239b3' date '31 May 2012' time '9:52:48.324 am' author 'DanielUber' ancestors ((name 'Math-RandomTests-DanielUber.1' message 'changed name' id 'ae9601b6-b400-4c49-b5d3-efe3361226ad' date '22 May 2012' time '7:50:53.5 am' author 'DanielUber' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file +(name 'Math-RandomTests-DanielUber.7' message 'added announcements/watchers to ODESolver ' id '93d41cc3-36cd-41cb-8fa7-95ee6de3fc42' date '8 June 2012' time '11:43:31.448 am' author 'DanielUber' ancestors ((name 'Math-RandomTests-DanielUber.6' message 'relaxed convergence bound on PoissonGenerator' id '036a11a4-9b61-46b5-9e21-a95693f470f4' date '7 June 2012' time '2:27:37.569 pm' author 'DanielUber' ancestors ((name 'Math-RandomTests-DanielUber.5' message 'modified Random tests and fixed an error in MTGenerator' id 'bdb03197-bc89-46d8-899a-ff43a8b20adb' date '7 June 2012' time '2:08:29.074 pm' author 'DanielUber' ancestors ((name 'Math-RandomTests-DanielUber.4' message 'added NumberGeneratorTest and added tests for PoissonGenerator.' id '01216067-5fa8-49d9-8d69-db60a5734b4d' date '6 June 2012' time '10:28:52.78 am' author 'DanielUber' ancestors ((name 'Math-RandomTests-DanielUber.3' message 'formatting' id '8bcedbb9-c3ba-4b6c-9869-6438830a8a3c' date '5 June 2012' time '8:16:53.696 am' author 'DanielUber' ancestors ((name 'Math-RandomTests-DanielUber.2' message '' id 'ee3a7b5f-de73-4ca6-8c88-faf8878239b3' date '31 May 2012' time '9:52:48.324 am' author 'DanielUber' ancestors ((name 'Math-RandomTests-DanielUber.1' message 'changed name' id 'ae9601b6-b400-4c49-b5d3-efe3361226ad' date '22 May 2012' time '7:50:53.5 am' author 'DanielUber' ancestors () stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ())) stepChildren ()) \ No newline at end of file