Thread: [liblamp-developers] First steps
Status: Pre-Alpha
Brought to you by:
noah1989
From: Philipp K. <phi...@ph...> - 2008-03-18 18:28:32
|
Hiho, Alright, so let's talk english. Didn't know that it's an english mailinglist, sorry for that. Just wanna write some thoughts about your last email, Stefan: 1) It surely has to be very abstract, however, this will make everything alot more difficult. As I've seen, you've already implemented the SI-System. Just want to mention that it's prolly not the most used system in the world; the cgs-system is probably used more often, especially as it's kinda common in the USA. So we should always remember to write the code for all unit-systems (e.g. theoretical physicists usually use "god-given units", i.e. c = \epsilon_0 = \mu_0 = \hbar = ... = 1, if I remember correctly). 2) Using prewritten units for the numerical part is prolly a good first step, however, these units are usually very difficult to use and make things much more complex and not always faster. I wasn't able to use a lot of these libraries, as they are usually licensed under the GPL and my thesis programs are close-sourced, however, the one I have used didnt make things faster and so I've written most of the stuff myself. I've written quite fast classes (in FreePascal tho) for vectors and matrices. Solving ODEs will probably be the most difficult stuff and shouldnt be underestimated (Euler, Runge-Kutta etc. will NOT work for alot, if not most, of the ODEs you'll see in "real physics".) 3) Implementing mechanics at first is probably correct, however, I would NOT use Lagrange for it, but Hamilton or Hamilton-Jacobi. Using Hamilton has the big advantage that you can most likely use the same classes (if written abstract) for thermodynamics, statistical physics and electrodynamics (among others), as all of these fields can be described using the basic "field theory". As Newton, Lagrange and Hamilton is basically the same, atleast from a theoretical aspect (the only difference is that it's much more easy to solve problems with Lagrange / Hamilton for _us_), it could perhaps not make any difference, however, I'm not really into this stuff ATM. So far, Philipp P.S. If you wanna know more about mentioned stuff, feel free to ask. If you need advise for good books, feel free to ask. If you wanna meet in any way: sure! ;) |
From: Stefan N. <noa...@go...> - 2008-03-18 20:16:52
|
Hi , > 1) It surely has to be very abstract, however, this will make > everything alot more difficult. As I've seen, you've already > implemented the SI-System. Just want to mention that it's prolly not > the most used system in the world; the cgs-system is probably used > more often, especially as it's kinda common in the USA. So we should > always remember to write the code for all unit-systems (e.g. > theoretical physicists usually use "god-given units", i.e. c = > \epsilon_0 = \mu_0 = \hbar = ... = 1, if I remember correctly). Yes, that's what I discovered, too. Therefore the SI system is just a module, the framework and the quantity class works with all unit systems. However, for the implementation of certain objects because not all unit systems can be converted into each other. I suggest to use the most appropiate unit system for each problem, for example the use of sophisticted units makes maxwell's equations look much less complicated. > 2) Using prewritten units for the numerical part is prolly a good > first step, however, these units are usually very difficult to use and > make things much more complex and not always faster. We can also make our own numerical backend, but we should provide an interface to make the numerical part substitutable. > Solving ODEs will probably be the most difficult stuff and shouldnt be > underestimated (Euler, Runge-Kutta etc. will NOT work for alot, if not > most, of the ODEs you'll see in "real physics".) Yes, i know ^^ That's why I'm going to study computational science to learn more :) > 3) Implementing mechanics at first is probably correct, however, I > would NOT use Lagrange for it, but Hamilton or Hamilton-Jacobi. okay.. i don't know hamilton, i will do some research on that the reason why i suggested lagrange is that you can respect constraints by transforming everything into virtual coordinates. i also have a plan how a lagrange-based system might work, however i don't know if it is still "real" lagrange what i made up. > Using Hamilton has the big advantage that you can most likely use the > same classes (if written abstract) for thermodynamics, statistical > physics and electrodynamics (among others), as all of these fields can > be described using the basic "field theory". wow, that's cool :) > As Newton, Lagrange and Hamilton is basically the same, atleast from a > theoretical aspect (the only difference is that it's much more easy to > solve problems with Lagrange / Hamilton for _us_), it could perhaps > not make any difference, however, I'm not really into this stuff ATM. yes, maybe the difference is small, it might me best to implement the sings that are the basic ideas of all systems in an abstract way whic makes it easier to vary details. another thing that i want to mention is that performance is relevant for us but usability and the representation of physical concepts is more important. > you need advise for good books, feel free to ask. If you wanna meet in > any way: sure! ;) okay: I need some good books, do you know some? There is a Lamp project meeting every Thursday in our school. I will ask the other folks next time if they would come to my home (i just moved to chemnitz lest week) instead after the easter holidays. Maybe you'd like to come, too? |