-
Notifications
You must be signed in to change notification settings - Fork 1
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Stargen Fake accretion process. #15
Comments
I would absolutely love help with this. even if you don't know a modern programming language if you can just write up pseudo-code I'm sure I can translate it to c++ |
Okay, two things, I am not a coder, I prefer not to have to use the command prompt, do you have a version compiled for Windows? second, do you know what file has the formulas that are used to calculate the final planet temperatures? That is the thing that bugs me the most, the output temperatures, except exosphere temperature, have no reference. Global average annual temperature is a real thing, but those day/night, max/min are for what? With the formulas I can figure out their relationships and what they are referring to. There is probably a better starting point, but that's the itch I have been wanting to scratch for the longest time. If I did understand correctly, you are hoping that I help you redesign Stargen from scratch, but I believe it okay to start in the middle. I believe understanding the temperature formulas is a good first step. I could research and design temperature formulas and outputs on my own, but studying the Stargen's will make it easier. It's not the beginning of the program, I think |
we don't have to redesign from scratch. I pick one thing to improve at a time. sometimes that means adding a new thing, but often it means replacing an existing thing. I don't have a version compiled for windows, but I can try to make one. I have a virtual machine with windows on it. for temperature you can start with https://github.com/sirus20x6/stargen/blob/master/enviro.cpp just search for the word temperature, and after you read all of those you can try just temp.
|
I have updated the github repo to have windows releases, I'm not sure if they work yet I haven't had a chance to test them. they might require mingw to be installed. in the future maybe I can bundle those libraries with it |
I do have Cygwin64 Terminal install on the laptop that I use most but I've still had to go on a hunt for "libgcc_s_eh-1.dll" and locate where a copy is supposed to be, I should be able to fix that to get the program running, So far I have added copies of these files as the request have come up, back to a generic (0xc000007b) it won't run message:
...so far. |
I'll take a look. when I run it on my vm I get no output, which isn't helpful. maybe I have to bundle the library files from the specific version I used to compile it |
BTW, I'm looking through the enviro.cpp file for formulas related to temperature and it may be buried in too much code for me to figure out. I'll have to spread it between two monitors maybe, and try my best to ignore the code formatting. |
It's a good suggestion, I've also gotten into the habit of checking with this AI or another on different things, and if I can figure out a good dialogue with an AI that will help me flesh out some algorithms/subroutines it will make some of this go faster. Nope, there is still far less code to sift through looking at the document in Microsoft Word, than in VisualStudio, unless there is some setting I don't know about. Right away I'm noticing the way the program creates stars maybe wrong, you can't just slap together any spectral classification with any luminosity class, as stars don't all evolve the same way. For example there is no Giant Star class that are O, B, A, or F, only the spectral types G, K, M can be Giant Star class. I'm impressed that they are using sub-brown-dwarf categories. Did you add this code? return tempK[lumIndex][sub_type]; One of the Jim Burrow fallices created by his program is that there is a small range of stars that can support life, which only factors in heat from the star, and this is false because there are other forms of heat that can support life. A brown dwarf that is not even really a star can have a planet outside of the goldilocks zone producing heat from flexing because of it's orbit around a gas giant. [edit] |
wasn't me. it looks like that spec type stuff has been in enviro.cpp since https://github.com/omega13a/stargen/blob/master/enviro.cpp which was 10 years ago. I'm not sure where he got his code for that. When I first created this version I pulled from I want to say 3 different version of stargen that I found and tried to bring in everything I could. |
This is another image I made, except this one is an animated gif for Stargen, I'd have to dig up the other one, I think I did Terrestrial, gasDwarf, and Jupiter. Maybe Mars, I can't remember. You just have to change the name to the original name after you rename the original as an old version to see it work. |
Okay well, I thought I would try this out, since I found thr Bing app on my tablet and didn't remember installing it. I didn't have any expectations, but this surprised me, in a few ways. Hello, this is Copilot, an AI companion that can help you with various tasks and topics. 😊 I can try to generate some code in C++ for calculating the global annual average temperature of a planet, as well as the extreme high and low, based on some given parameters. However, please note that this is just an example and not a verified or optimized solution. You should always test and modify the code according to your needs and specifications. Here is the code I generated: // This program calculates the global annual average temperature of a planet, #include // Define some constants // Define a function to calculate the luminosity of a star, given its radius and temperature // Define a function to calculate the global annual average temperature of a planet, // Define a function to calculate the extreme high and low temperatures of a planet, // Define a function to print the results in a formatted way // Define the main function
} I hope this helps you with your task. If you have any questions or feedback, please let me know. 😊 ------‐--------------------------------------------------------------------------------------------------------------------- f= ((R^2)* (sbc)* (T^4)) /d^2 |
Stargen Planet Ecc test temp.xlsx This was my incomplete attempt to see if stargen was factoring in the eccentricity of the planet in the temperature ranges. |
Hey, I've been thinking about star stuff now enough that I remembered a simple program no one has written yet, that I think you could make a little bit of money from. I know it will sell, and I know who it will sell to. I won't mention it here. I don't know how to DM on this platform but if you want me to pass on the idea you can message me at gabe 69 velasquez (at) hotmail com |
So Roche limits and Hillspheres. If you get used to Stargen outputs you loose sight of how far, and how empty, the spaces between planets in our solar system are. It is quite amazing. This video is one of two examples of how empty this entire solar system is when you look at the massive distances between objects. For a program like Stargen to incorporate this scientific perspective into it's accretion modeling is very important, you can't force planetoids/planetesimals to collide without a very good factoring of Roshe Limits and Hillsphere Radius. (Nearly) Scale Model of the Solar System on the LAX Field *The reason for the use of "(Nearly)" in the title is |
I'm going on vacation this week, but I'll try and take a look at all this stuff soon |
Starting point of the program. Two angles: (b) https://en.wikipedia.org/wiki/Meteorite_classification This is where you start the program. All 98 elements in ratio. Stellar Abundance of Elements.xlsx Start with something like 10 times the amount of hydrogen and the other elements on the list, and use mass to create a ping pong ball like simulation where they can clump together. This would be a test, a mini-version, two dimensional: location (distance from star) and column like accumulation of elements. But the column would have to sort the elements by mass. I opened Visual Studio to look at files, and I discovered the Elements file. It will be easier to study as a CSV file in excel. // An sym HTML symbol name Aw melt boil dens p0 c n ABUNDe ABUNDs Rea Max inspired pp Min inspired pp |
PERPLEXITY.ai Me: Me: Answer: |
Chat gpt is usually a bit better at this stuff The columns in the initGases function of the elements.cpp file from the Stargen project are as follows:
|
It looks like ChatGPT got one more than PERPLEXITY.ai but ChatGPT missed one that PERPLEXITY.ai got. I have a copy of Habitable Planets for man by Stephen H. Dole that I printed out, single side, What do you think of my atom/particle clumping simulation idea? Hydrogen 10x 3,099,999,999,969.0 = 30,999,999,999,690.0 atoms used in simulation
This link is for the images: Sphinkie/StarGen-II#2 |
I'm looking at the enviro file in Visual Studio Code doesn't help. I wondering if you would be willing to use the file to create a stand alone program with only that file with an inputs and out GUI? I would like to test the input/output results, see if it works okay or it should be upgraded. Each subroutine, or I think these says they say algorithm should get this treatment. Dune: We simulated the desert planet of Arrakis to see if humans could survive there... |
https://web.archive.org/web/20120716190212/http://www.extrasolar.net/starlisttour.asp?StarcatID=normal |
I think your abundance idea is a good one. I don't fully yet have a handle on how it decides what elements it uses or at what stage, but I had some time to work on the app again. I'm going through and trying to improve things. when I have a better handle on it I might tackle that one. I will have to think on pulling parts out to make them stand alone. that might be a lot of work. |
So what I imagine for a simulation using element abundance has to do with tracking locations. At each location you would have each of the 98 elements, and each would be in the ratio that I described, (eg. 3,099,999,999,969.0 Hydrogen to 1 Uranium) but that would be just for the start. Then add in the iterations the effect of gravity, and let the accretion process do it's thing. I know that would be a massive amount of tracking, but that's why I suggested a one dimensional array to try for a proof of concept test. |
that does make sense. can you look at elements.cpp? it has tables for elements and some molecules. of particular interest is ABUNDe and ABUNDs. I wasn't sure how they related to abundance so I asked chatgpt
I think the most obvious win is to tweak the ABUNDe and ABUNDs values with modern observations and theories, the next obvious win would be adding more molecules and their abundances. The harder part will be to make sure the simulation is accurate. so it looks like the code spawns dust lanes with inner and outer edges and some lanes have gas in them and those gasses have chemicals populated from the chemical table. haven't had a chance yet to dig in to see if all the gasses are the same or if they shuffle the elements up in the solar system a little |
also have you seen Abundance gradients in the Milky Way for α elements, iron peak elements, barium, lanthanum, and europium* https://www.aanda.org/articles/aa/pdf/2007/06/aa5403-06.pdf table 4 shows variances in the distance to the galactic center. I do want this program to eventually be able to generate galaxies, so stars should have a 3d position in that galaxy and take on properties from that location before the solar system generation takes place |
Gas accretion as the origin of chemical abundance gradients in distant galaxies https://arxiv.org/pdf/1010.2534 |
please take a look at the newly created https://github.com/sirus20x6/stargen/blob/master/data/elements.yaml |
This is my analysis of your ChatGPT answer... https://1drv.ms/x/c/fa9c75dc9d8c88ad/Ea2IjJ3cdZwggPpJAwAAAAAB2qxMevvbrZcs14TJoNYRIw?e=embgnb In case you haven't come across this yet, it will eventually become relevant... |
why is it all relative to silicon? |
I'm going to look at the peer reviewed papers, they seem really involved and thorough, but I have to concentrate more there, and I have other distractions I have to put aside. For instance my 5 year old and 3 year old boys are watching a lot of Minecraft videos, and they never played and I never told them I played years ago, so I surprised them by reinstalling it on my computer, and now they watch videos and they want to try what they learned, they want to play every day now. |
This is ambitious, but if you want to go this far then I recommend that you begin with POP3 stars, and make your way to neutron stars, metalicity being key. A proper table of elements made to highlight how each of the elements was created will reference neutron stars, and of course the earliest stars were simply Hydrogen and Helium when they first formed in a system of Hydrogen and Helium only, but for pop 2 stars created SOME elements to spray out when they went nova. |
Incidentally, I hope you noticed that I converted it to 1 Uranium atom in the columns I use, the 1 silicon was the original. I am browsing the papers now. Metallicity is an importance concept in the paper, unfortunately you have to put up with the definition that's contradictory... |
(shareable) https://www.perplexity.ai/search/why-is-it-that-some-elements-f-DMXb.8WDSsCQWmRwT8sglQ |
Started reading this, to much to summarize for perplexity, by more than double the limit.... |
n-body instead of the dust lanes approach would be interesting. I'm thinking of adding some optional visualization to the process now so I can see what's going on |
Okay, I was trying to make things simpler to make thing easier, if you think in the end that approach is feasible, not needing a huge amount of CPU/RAM or GPU for that matter, then great. Aren't you talking about a massive array of data? You don't think you could expand one dimension at a time, as you get one going add another etc. or am I missing something? |
the simulation right now only runs on a single thread, this can eventually
be fixed. the simulation also doesn't use any single instruction multiple
data acceleration which would speed things up. I also have plans on
removing all memory allocations from the running loops and to only do
allocation at the beginning. these things would massively speed up the
application. that should leave plenty of performance on the table to have
some optional runs with visualizations.
…On Thu, Oct 10, 2024 at 1:59 PM Gabriel D Velasquez < ***@***.***> wrote:
n-body instead of the dust lanes approach would be interesting. I'm
thinking of adding some optional visualization to the process now so I can
see what's going on
Okay, I was trying to make things simpler to make thing easier, if you
think in the end that approach is feasible, not needing a huge amount of
CPU/RAM or GPU for that matter, then great. Aren't you talking about a
massive array of data? You don't think you could expand one dimension at a
time, or am I missing something?
—
Reply to this email directly, view it on GitHub
<#15 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABG55X7ODKEJHMLRE5MYL63Z23FALAVCNFSM6AAAAABBKXF4NSVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDIMBVHAZTCOBWHE>
.
You are receiving this because you commented.Message ID:
***@***.***>
|
Well I'll be glad if you getting anything to test compiled to run on Windows. |
I would love to, but getting software to work on windows is pretty hard. I'll see if I can figure out why it's not compiling, but no promises |
How is your N-body work going? |
Stargen Fake accretion process.
The other day I was looking at some of the Stargen code. I was looking for the file(s) that refer to the elements that are used in the accretion process, because the outputs never seem to show any gases other than the ones that you might find on a habitable or almost habitable world. Since I've known that Stargen uses only a handful of elements and molecules, I have believed that Stargen planets are made from nothing because of that, but it wasn't until I noticed this bit of code that decides a planet's density from the distance it is from the star, that I finally realized that the accretion model is completely phony. The list of elements should contain all 98 natural elements, plus another 300 or more molecules to a proper accretion simulation, and have outputs that have gone through a proper coalescing and differentiation, so that they have detailed atmospheres for all planets.
https://en.wikipedia.org/wiki/Planetesimal
https://en.wikipedia.org/wiki/Planetary_differentiation
Even Mercury has an atmosphere, it's made mainly of Sodium gas. So many outputs have a 100% Neon atmosphere, but fall short of talking about the Neon oceans that would exist closer to the poles, only water oceans are bothered with.
https://en.wikipedia.org/wiki/Extraterrestrial_atmosphere
Sorry to sound so critical, but I can help with this if you ever decide you would like to create an accurate accretion model.
I should add I don't know a modern programming language, and haven't done any code work in 35 years,
but have studied a lot of astrophysics, planetology, climatology, and accretion theory, and hope to help that way.
I will eventually expand this part of this code for myself, even if no one ever bothers to use it:
/* Now for a few molecular weights (used for RMS velocity calcs): /
/ This table is from Dole's book "Habitable Planets for Man", p. 38 */
#define ATOMIC_HYDROGEN (1.0) /* H /
#define MOL_HYDROGEN (2.0) / H2 /
#define HELIUM (4.0) / He /
#define ATOMIC_NITROGEN (14.0) / N /
#define ATOMIC_OXYGEN (16.0) / O /
#define METHANE (16.0) / CH4 /
#define AMMONIA (17.0) / NH3 /
#define WATER_VAPOR (18.0) / H2O /
#define NEON (20.2) / Ne /
#define MOL_NITROGEN (28.0) / N2 /
#define CARBON_MONOXIDE (28.0) / CO /
#define NITRIC_OXIDE (30.0) / NO /
#define MOL_OXYGEN (32.0) / O2 /
#define HYDROGEN_SULPHIDE (34.1) / H2S /
#define ARGON (39.9) / Ar /
#define CARBON_DIOXIDE (44.0) / CO2 /
#define NITROUS_OXIDE (44.0) / N2O /
#define NITROGEN_DIOXIDE (46.0) / NO2 /
#define OZONE (48.0) / O3 /
#define SULPH_DIOXIDE (64.1) / SO2 /
#define SULPH_TRIOXIDE (80.1) / SO3 /
#define KRYPTON (83.8) / Kr /
#define XENON (131.3) / Xe */
// Atomic numbers, are used as a gas ID key
#define AN_H 1
#define AN_HE 2
#define AN_C 6
#define AN_N 7
#define AN_O 8
#define AN_F 9
#define AN_NE 10
#define AN_P 15
#define AN_S 16
#define AN_CL 17
#define AN_AR 18
#define AN_FE 26
#define AN_NI 28
#define AN_CU 29
#define AN_BR 35
#define AN_KR 36
#define AN_I 53
#define AN_XE 54
#define AN_HG 80
#define AN_AT 85
#define AN_RN 86
#define AN_FR 87
#define AN_NH3 900
#define AN_H2O 901
#define AN_CO2 902
#define AN_O3 903
#define AN_CH4 904
#define AN_SO2 905
#define AN_CH3CH2OH 906
#define AN_CO 907
The text was updated successfully, but these errors were encountered: