Risultati da 1 a 1 di 1
  1. #1
    Meteora L'avatar di Zievatron
    Data Registrazione
    Apr 2015
    Località
    Universo Parallelo
    Messaggi
    26
    Taggato in
    0 Post(s)

    Question 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

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •