rgerum / elvis Goto Github PK
View Code? Open in Web Editor NEWSimulating networks of springs and viscous elements.
License: MIT License
Simulating networks of springs and viscous elements.
License: MIT License
Should we add unit to Forces (N), Displacements (m), spring constants (N/m), time (s), and damping constants (N*s/m)?
Maybe we should change the label "Force/Displacement" to "Input".
let's rather call the drag coefficient "D" instead of "gamma".
I think it looks weird that nodes are forced to be at y=0 (see current Kelvin body). Also a series of 2x 2 parallel elements (as we discussed this morning) looks wrong to me.
Give the option to make a node fixed (or free).
Maybe it would be practical to only allow the outermost nodes to be fixed and to only allow force generators when both outermost nodes are already fixed. I guess that would save us a lot of trouble, right? I guess there is no biophysical application for a force generator with a free end (?)
When I use an example system (e.g. the Voigt body), klick on a component (e.g. the spring); and change it to another component (e.g. into a dashpot), the system is still called the original system name (e.g. Voigt body).
Elvis allows me to add springs and dampers with "zero length" by drawing an element that starts and ends at the same node. Then the program does weird stuff...
Several students have noted that it is possible to use a "=" operator in answers even though it is not listed as a valid operator in the gray boxes!
Please add the option to extend the simulation time. Also, currently the graph goes up to 5s but the simulation only runs for 4s.
Delta peaks (naturally) mess up the y-axis scaling of the system's force and displacement. Since the interesting thing is the system's response AFTER the force input, I suggest that the y-axis is scaled with respect to the maximum before/after the delta peak. The delta peak itself could be plotted in another color to illustrate that something is going on with it.
A lot of students suggested some kind of help function in case one is stuck with a certain level. I guess the easiest way would be to allow skipping to the solution if a wrong answer has been given more than three times. Maybe there's a better way...
Try the following:
Take a Kelvin body and replace the 2nd spring (the one in series to the dashpot) with a force generator. Change the force generator parameters to F=1N, t=0-2s and let it run. Is this supposed to happen?
Formulas are not shown correctly most of the times and graphics don't work at all!
Several students said they would appreciate buttons to move back and forward between levels. Make sure that you cannot "skip" levels that the user has not yet finished.
The button to start the simulation should switch back from "pause" to "play" when the simulation is done. Also I suggest, that the simulation stops, goes back to the beginning and that the button changes to "play" when you click on another example while the simulation runs.
fixed points - red
differentiate moveable points from the DISPLAYED moveable point
Several students wished for a progress bar.
Oftentimes I can't run the simulation when I have added a force generator. Also, I can only add force generators in the last two examples.
Add ascending ramps, descending ramps, delta peaks, and theta functions.
I don't think that we need that, anymore.
Implement removal of springs and dash pots by dragging them into a trashcan or adding a remove button in the "element properties" menu.
Somehow implement force generators.
Right now you can just change a number in the url and "cheat your way" to a higher level...
Add a label for the respective system after the "System" headline. E.g. "System: Maxwell Body". When the user changes the system, the label should change to e.g. "System: Maxwell Body (edited)".
It would be super cool if Elvis would recognize if the user changes the system to another system. E.g. when the user takes the Voigt body and adds another spring in series to the damper, it would be super cool if Elvis would change the label to "System: Kelvin Body".
More students than we expected had trouble operating the drag-and-drop editor. I suggest to implement a "help" or "Info" button that opens an animated gif of a screencast where show how to use the drag-and-drop editor. Make sure not to build the solution of any level as the video example. Also, is there a way to visualize clicking and releasing the mouse in the screencast?
Some students got frustrated because they couldn't use "0,5" when they meant "0.5" or "1/2". I see no problem in allowing commas...
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.