adouge / solensim Goto Github PK
View Code? Open in Web Editor NEWSolenoid simulation project
License: GNU General Public License v3.0
Solenoid simulation project
License: GNU General Public License v3.0
xtol, gtol, ptol are starting to make a difference. They should be dynamically adjusted based on the problem's conditions and desired level of precision.
needs planning
There's a limitation on how many output files ASTRA is willing to generate, placing a cap on relative step size.
It's an issue for future development, irrelevant to current tasks, so goes here.
Solution:
Self-explanatory.
Expand model to add a yoke
F calculation method via field integrals (from Acc101, thesis) gives f-values lower than tracking does.
Add structure to how you interact with the repo, since we intend to finish this shit together.
Поставь teamviewer, на след неделе подключим тебе гит нормально. Пока еще нет интерфейса к твоему коду, так что просто организованно тут лежать будет; полезно использовать орг возможности платформы. Потом, как прогресс по направлению бечелорарбайта будет, будем рассматривать интеграцию.
Todo для меня:
Have selectable models use common interface and core backend;
Aim:
Goal:
Methods:
Functionality demands:
use f90nml for manipulating namelists.
Desired functionality (WIP):
Eventuell:
Mostly basic commands; track module should organize the API provided here for higher-level subroutines
To close:
Final Version (c)
Was sagt mir eigentlich die ASTRA?
p = sqrt(2m*(E-mc^2)), applicable for v << c,
whereas the relativistic general energy-momentum relation is to be used
https://en.wikipedia.org/wiki/Energy%E2%80%93momentum_relation
The resulting scaling parameter is always almost the same as the starting one.
Possible reason: inconsistent scaling of parameters, i.e. o(geometry) = 10^(-3), o(N*I) = 10^3
Possible fix: have the algorithm optimize in normalized parameters
Running same labels adds duplicate entries to track.results instead of modifying existing entries.
--> Replace append(df) with .loc writing
Plots:
For better wide-interval optimization.
Then, from optimal rsq/c, different configurations can be proposed.
Root directory:
Expand the user-facing features
Choose a way of communication between various functionality groups.
An "interface" object carrying all the data in it might be too complex to make it the defauklt way; the python workspace should be utilized more
various descriptive methods (get_l, max B, f etc.) rerun field integrals; each field integral calls on Bz, multiple times (F3 calls once for B, second time for num differentiation to 2nd order)
--> too many field calculations;
with a more complicated model, it will slow down to a crawl.
Need to restructure backend.
Since the spot size is not directly prop to cs, and there are cases where f is higher for lower cs.
Use trajectory probe particles from phi-independent distributions to draw a "sideways"-view of the field
--> need a phi-independent, 2D, non-monochromatic distribution, with symmetrical sets of monochrome particles at various radial distances:
--> need validation from Jens on this
--> need customized distributions
E.g. have the minimum internal radius not dependent on beam radius, but a separate constraint parameter
Optimizing for cs is unreasonable;
calculated spot sizes are 3-4 orders of magnitude below the PROTON RADIUS, i.e. irrelevant.
Chromatic aberrations are what we should consider.
Future - document the software, comment code
Updated 28.08.20:
GPL is somewhat impractical, and there might be limitations to the end software's applicability - I doubt that every potential user would be ready to release their work incorporating solensim into the open access circulation.
AFAIK/IIRC, LGPL should avoid this limitation.
As the GNU site says, releasing software with non-unique functionality under GPL is impractical.
solensim is, in that sense, not too unique - it is merely an interface over other fieldsim / tracking software.
But - I'm not sure about the design optimization part. If that would turn out to be unique...
We'll see. That is a question for later.
Take #20 further - have an option to save current work state, as in separate "projects", to continue at an arbitrary time later.
TODO: Presentation:
Sections:
As Jens proposed, brute force everything by simulating an electron passing through the fields?
If I understand it correctly.
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.