Discussione: MESA tra Fortran e Python
-
02-01-2026, 21:06 #1
MESA tra Fortran e Python
Ciao a tutti e soprattutto un felicissimo anno nuovo.
Per Natale, (anche un po' prima veramente) mi sono fatto il regalo di decidermi ad affrontare l'impresa di installare ed imparare ad usare MESA ed accessori, per modellare stelle, simularne l'evoluzione e rappresentarla in grafici.
Partendo da zero con strumenti così, ho provato a rivolgermi a Gemini, l'AI mode di Google.
Sono riuscito ad installare ed a fare un po' di prove. Ho incominciato a capire un poco, grosso modo, come funziona questo sistema di strumenti. Ma ora mi sono arenato. Sono giorni che Gemini mi sta facendo impazzire rigirando intorno allo stesso problema senza arrivare ad una soluzione.
C'è qualcuno dall'intelligenza NATURALE esperto di MESA e dei suoi script in Fortran ed in Python che mi può aiutare?
Sto solo cercando di imparare a creare correttamente, con accuratezza, un primo modello di evoluzione, da nebulosa protostellare a stella ZAMS, prendendo come esempio il nostro Sole. Poi di simularne l'evoluzione fino a poco dopo la TAMS e preparare un bel grafico con Matplotlib.
Da dove incominciamo?
Dagll'ultimo script per ZAMS che ho scritto con l'aiuto di Gemini?
O dobbiamo fare dei passi indietro?
Intanto vi posto questo, così si vede, spero, a che punto sono.
! inlist per la formazione a ZAMS di una stella uguale al Sole
&star_job
! Opzionale: azzera l'età e il numero di step se vuoi i grafici puliti
set_initial_age = .true.
initial_age = 0.0
set_initial_model_number = .true.
initial_model_number = 0
create_pre_main_sequence_model = .true.
load_saved_model = .false.
save_model_when_terminate = .true.
save_model_filename = 'sole_zams.mod'
! Attiva la rotazione solo quando la stella è quasi arrivata alla ZAMS
set_near_zams_surface_rotation_v_steps = 100
new_surface_rotation_v = 2.0
! Carica una rete con 21 o più isotopi (invece dei 7 standard)
change_net = .true.
new_net_name = 'approx21.net'
! display on-screen plots
pgstar_flag = .false.
history_columns_file = 'history_columns.list'
/ ! end of star_job namelist
&eos
! eos options
! see eos/defaults/eos.defaults
/ ! end of eos namelist
&kap
! kap options
! see kap/defaults/kap.defaults
use_Type2_opacities = .true.
Zbase = 0.0142 ! Mantenere la coerenza tra il modello di ZAMS e l'evoluzione successiva
kap_file_prefix = 'a09' ! Seleziona le tabelle di opacità da Asplund 2009
/ ! end of kap namelist
&controls
! --- Caratteristiche Fisiche Iniziali ---
initial_mass = 1.0 ! Massa in unità solari
initial_y = 0.26 ! Elio solare moderno
initial_z = 0.0142 ! Metallicità solare moderna (Asplund 2009)
! Fisica
diffusion_dt_limit = 1d0 ! Limita l'impatto della diffusione se il passo temporale è instabile
mixing_length_alpha = 1.9 ! Regola l'efficienza della convezione (MLT)
! Valore più alto evoluzione più veloce
! Overshooting (Superfluo per 1Msun, ma cruciale sopra 1.2 Msun)
! Definizione dello schema 2: Sotto la zona convettiva superficiale
overshoot_scheme(2) = 'exponential'
overshoot_zone_type(2) = 'nonburn'
overshoot_zone_loc(2) = 'shell'
overshoot_bdy_loc(2) = 'bottom'
overshoot_f(2) = 0.015
overshoot_f0(2) = 0.005
! Trasporto del momento angolare e mixing chimico indotto da rotazione
am_nu_visc_factor = 1.0d0
am_D_mix_factor = 1.0d0
! Correzioni fisiche per la rotazione
mlt_use_rotation_correction = .true.
use_gravity_rotation_correction = .true.
! options for energy conservation (see MESA V, Section 3)
energy_eqn_option = 'dedt'
use_gold_tolerances = .true.
! --- Condizioni di Arresto ---
! La simulazione si ferma quando la luminosità nucleare
! copre quasi tutta la luminosità totale (definizione di ZAMS)
stop_near_zams = .true.
Lnuc_div_L_zams_limit = 0.99d0
! Risoluzione
mesh_delta_coeff = 0.7
varcontrol_target = 3d-4
! Frequenza di scrittura
history_interval = 5 ! Scrive ogni 5 step invece di ogni 1
terminal_interval = 10 ! Aggiorna i log a terminale ogni 10 step
photo_interval = 50 ! Salva un checkpoint ogni 50 step
photo_directory = 'photos' ! I file andranno nella sottocartella photos
photo_digits = 3 ! I nomi saranno photo_050, photo_100, ecc
/ ! end of controls namelist
-
-
03-01-2026, 09:36 #2Staff • Moderatore Globale
- Data Registrazione
- Feb 2012
- Località
- Varese provincia
- Messaggi
- 6,863
- Taggato in
- 566 Post(s)


Re: MESA tra Fortran e Python
Ho spostato la discussione qui, mi sembra la sezione più appropriata.
Forse @Pierluigi Panunzi ne sa qualcosa...Collabora anche tu a creare ASTROWIKI! Unisciti al censimento utenti del Forum!!!
Reputazione: a cosa serve e perchè usarla con criterio
Etiam si omnes, ego non - Uno spirito forte, un cuore tenero - BLOG
-
03-01-2026, 11:59 #3Staff • Autore
- Data Registrazione
- Jan 2012
- Località
- Roma, vicino a Monte Sacro
- Messaggi
- 2,469
- Taggato in
- 158 Post(s)


Re: MESA tra Fortran e Python
mmmm...

del titolo del post conosco bene solamente la parola "Fortran"
"Python" so cosa sia, ma non l'ho mai usato, mentre MESA ... boh
riguardo al contenuto del post non conosco assolutamente Gemini e ZAMS di provenienza artificiale...
nota la mia allergia all'IA (che normalmente osservo con sospetto, ma con meraviglia se applicata all'Astronomia), magari potrebbe essere un'occasione per vederne i lati positivi... chissà...
Telescopio detto Monster : SkyMaster 25012 (riflettore da 10"), montatura equatoriale EQ6 motorizzata
Fotocamera Nikon Z50 mirrorless con sensore in formato DX, adattatore FTZ
tele MTO 500mm, Nikkor 18-50mm,Tamron 70-300mm, tele JINTU 420-800mm
Fotocamere Nikon Coolpix P1100 (focale 3000mm ottico, zoom 4x digitale)
con filtro Hoya NDPro 100k
Montatura equatoriale eq1 motorizzata
LA GUIDA DI STELLARIUM
LE COSTELLAZIONI IN 3D
LE SONDE SPAZIALI
I VIAGGI VIRTUALI
-
03-01-2026, 17:50 #4
Re: MESA tra Fortran e Python
MESA (Modules for Experiments in Stellar Astrophysics).
https://docs.mesastar.org/en/latest/index.html#
Scusatemi. Ho dato per scontato che in un ambiente di interessati all'astrofisica, MESA fosse molto conosciuto. Io l'ho scoperto solo un paio di settimane fa interrogando gemini.
Gemini è solo la intelligenza artificiale di Google. Corrisponde alla scheda "AI mode".
Pur con i suoi difetti e limiti, l'intelligenza artificiale riesce ad aiutare un po', basta scoprire quali sono le domande giuste da fargli e che in giro ci siano anche le risposte.
Con l'aiuto di gemini ho individuato ed installato strumenti accesori da usare con MESA.
MesaReader: È una libreria Python creata specificamente per MESA per leggere i file .data.
Matplotlib: È la libreria di disegno più usata in ambito scientifico (Python).
Gli script di MESA per simulare la formazione e l'evoluzione di stelle sono in Fortran.
Gli script per creare grafici con i dati forniti dalle simulazioni di MESA sono in Python.
Ora sto cercando di imparare l'uso.
Solo che:
Di astrofisica ho solo un po' di nozioni di livello divulgativo.
Fortran e Python sono due parole che ho già letto da qualche parte.
ZAMS sta per Zero Age Main Sequence. Non è possibile che quì risulti una sigla dubbia.
-
Oggi, 16:41 #5
Re: MESA tra Fortran e Python
Ciao a tutti,
Poi ho continuato a sperimentare MESA e Matplotlib, con l'assistenza dell'intelligenza artificiale.
Ho portato a termine la simulazione di una stella quasi uguale al Sole ed un mio grafico della sua evoluzione.
Poi sono passato alla sperimentazione di una stella "ingegnerizzata". Cioè, cosmologicamente irreale, perchè, essendo una stella costruita, caratteristiche come la composizione e la rotazione iniziale sono svincolate dal reperibile in natura, ma la simulazione evolutiva rispetta le leggi fisiche.
In mancanza di un vero esperto di MESA, senza l'assistenza dell'AI, avrei abbandonato, sopraffatto dalle difficoltà.
Invece sto continuando.
-


Rispondi Citando

Punte di spillo o pallini di...
Ieri, 19:21 in Telescopi e Montature