17 ms·
>This is exactly the field I want to enter! Please do! >I really want to work on the tooling side for atomic simulation [...] Please do x2. That's how I star
by moralestapia 1y ago
>This is exactly the field I want to enter!
Please do!
>I really want to work on the tooling side for atomic simulation [...]
Please do x2. That's how I started with this.
With respect to simulations, become as good as you can with the methods that enable them. ODEs, PDEs and how to compute (well ... approximate) them. Spend some time making sure you understand the math properly. You don't need to spend ages here, most of the equations used in the field involve no more than three variables. The trick is in how you solve them, but solvers already exist, ofc.
Write your own FEM solver, this is a must. It's not going to be SOTA, but you'll get a good feel for all the fundamentals. Then you can move on to using whichever you need/want because you'll understand what they do. (I used deal.ii a lot, but there are many more good ones out there).
I would recommend you work with C/C++ instead of Python (ofc. you can do both). The reason for this is that you'll kill two birds with one stone by getting a good sense of how a computer actually executes things. Python is too abstracted away from that, and in this particular field, you really need to know what the hardware is doing and how.
Then move into GPUs. Actually, if you can write this FEM solver in something like CUDA or JAX, you will kill three birds with one stone.
I would then try to join a research group doing this, even if it's for free, only a couple months. My personal preferred niche is what is now called morphodynamics. Just approach any of these groups and tell them "Hey, I'm good with CUDA/JAX, I wrote this solver, I made this small simulation, I'm interested in doing biological simulations and want to learn more", 8/10 will say yes, there aren't many people out there with this skillset, it's not crowded.
I mentioned "even if it's for free", the thing is, everyone says yes to free, lol. Your goal is to get one paper out there with your name on it. It doesn't have to be your own idea/project, just help them build whatever they're doing and make sure your name is there. Then ... you're pretty much in. You can stay there or go to a different group, but now you can say "hey I worked on this project, here's the paper, I can do X" and you take it from there. :D
If you want to be in touch email me hn @ moralestapia . com. My profile seems empty bc. our friend @dang hid it, but just send me an email.
- dang 1y ago> My profile seems empty bc. our friend @dang hid it I actually undid that yesterday, after replying to you here: https://news.ycombinator.com/item?id=44321299 https://news.ycombinator.com/item?id=44321299. I did so because I didn't want to give the wrong impression of having punished you after moderating you, when in fact the two issues are unrelated. Since you brought it up, I'll clarify here: you're abusing your profile page to publish false and misleading claims about HN. Specifically, you say that "some users are favored so they get more upvotes" and "some users get a handicap, so upvotes to their accounts do not register". Both claims are untrue. I understand that HN's voting algorithm is hard to figure out from the outside—it needs to be, for several reasons, such as that people are constantly trying to game it. But that doesn't make it ok to publish damaging falsehoods about HN. A user who doesn't know this place well, who happens to read that, will come away with an untrue impression which could easily discourage them from participating here. Had you said those things in a comment, we could provide corrective information in a reply—but there's no way to do that on someone's profile page. Besides that, the About box isn't supposed to be for venting grievances or taking revenge on HN (as people are sometimes wont to do). When people abuse the About box in such ways, I think it's reasonable to hide it. Now that I've made it clear what the issue is, and that it is unrelated to the other moderation reply, I'm going to hide your About box again. If you want to edit it to take out the false claims, I'd be happy to reverse that again. --- Edit: it turns out that I emailed you when we originally did this back in March, and explained all of the above: "This is unrelated to the moderation reply I just posted at https://news.ycombinator.com/item?id=43520108 https://news.ycombinator.com/item?id=43520108, other than that I happened to look at your profile page while writing it. I just noticed that you have this in the About box of your profile: "PSA: HN has a hidden algorithm that manipulates the vote count for specific lists of users. Some users are favored so they get 10 x more upvotes, some other users get a handicap on them, so upvotes to their accounts do not register. So, don't take karma at face value, as it is not "honest". tl;dr, even HN is propaganda." That's entirely false and badly misleading of others. I'm not ok with that being published on HN in a place where there's no way to answer or correct it, so I've turned off the About field in your public profile. I have nothing against you and you're welcome on HN, but not to make false statements like this which poison others against the site and the community. If you want to take that out of your profile and let me know when it's done, I'll be happy to restore your About field to public view. Daniel (dang)
- moralestapia 1y agoOk, I removed that bit. I'll check that email, also.
- dang 1y agoOk! I've removed the penalty on your profile.
- moralestapia 1y agoFair! :D Thanks @dang. I'm probably the most scolded user on the site, that's still alive, lol.
- aspenmayer 1y ago> I'm probably the most scolded user on the site, that's still alive, lol. If you want to feel better, check my comment history. I have also been scolded by mods and senior users here, and I haven’t always handled it well in the moment, to my great shame. The fact that I’m still able to post here is thanks to much gracious hand-holding, patience, and generosity of the mods and legacy users.
- smj-edison 1y agoThank you so much for the detailed reply! I've worked a lot with Rust, and a decent bit of C, but pretty much no C++ or GPU programming. Do you have a sense of whether it would be better to pursue CUDA or JAX? That's also encouraging to know that there's openings for computational simulation—I've been a little worried that there wouldn't be any openings for computational simulation since it seems like a rather small field. Off the top of your head do you know of any resources for learning FEM? Happy to look for it myself but it's always nice to have pointers.
- moralestapia 1y agoIf I had to choose I would choose CUDA. I recently got myself into JAX, I think it has a fair chance of being the dominant framework in 5-10 years; but also, a native version of CUDA is coming to Python so ... idk. deal.ii has a bunch of tutorials worth gold [1]. I learned by following them and that's why I ended up using deal.ii for almost everything. If you know C well, moving to C++ won't be quite difficult. deal.ii uses a lot of templates, that would prob. be the most unusual thing to you, coming from C, but you'll get used to the syntax. Pay special care to the heat equation [2], tutorial #26. Diffusion is modeled by a trivially modified version of it; heat uses a constant diffusion coefficient, in molecular diffusion this can vary. Roughly speaking, about 50% of what you'll model will be derived from effects related to diffusion, another 40% will have to do with "tangible" mechanical effects (think of pressure, structure, tension), the remaining 10% has to do with parametrizing the model properly for the Biology and Chemistry involved. Although, 90/90 rules applies and you'll end up spending a lot of time on this "last" parametrization. A lot of these constants are unknown, you'll have to guesstimate them based on whatever plausible theory you can come up with. But this is not a bad thing, recall that we are doing simulations in silico, so, you could (and should) try all ranges of parameters and study the results. You might find something that makes a lot of sense and then you can work backwards and make a prediction on the operative range of these unknown parameters. I did that with my plant model, there was a hormone transporter for which the rate of transport had not been determined. So, I tried a wide range of values and measured the viability of the phenotypes over it; it very clearly showed that only a narrow window of values allowed it, on a very specific time during plant development, derived from the geometrical configuration of that specific spot at that moment. We then devised an experiment for that, measured it, and it was bullseye over what I predicted. See [3]. That would have made for a killer paper if I had been rigorous enough to publish it, but I got my M.Sc. out of it and kind of forgot about it. Don't do that, publish everything you find! 1: https://dealii.org/current/doxygen/deal.II/Tutorial.html https://dealii.org/current/doxygen/deal.II/Tutorial.html 2: https://en.wikipedia.org/wiki/Heat_equation https://en.wikipedia.org/wiki/Heat_equation 3: https://moralestapia.com/img/Fig.19.png https://moralestapia.com/img/Fig.19.png 3 Footnote: PIN1,4,7 are hormone transporters in Arabidopsis thaliana (a model plant). A specific balance of transporter activity is required to recover phenotype. In the plot, the darker the region, the most likely it is to reproduce the phenotype. The red dot is the optimal value, but anything in the black area is also really good, which is what we measured and found to be within it.