pycesam Module





The pycesam modeule is installed automatically with Cesam2k20. It allows to post-process and visualise models.


Module pycesam


How to run a model with pycesam:

from pycesam import *

mdl = CModel( 'my_model' ) # create instance of CModel
mdl( )                     # run model if not already computed

This will get you a model run with default parameters, very similar to the sun.
To change parameters vefore running the model, you can set different values like this:

mdl.params.y0 = 0.26                # changes initial helium
mdl.params.alpha = 1.70             # changes value of alpha parameter
mdl.params.diffusion = True         # activate diffusion
mdl.params.nom_difft_ = 'difft_sun' # turbulent diffusion following Gabriel+1997
mdl.params.mkdon( )                 # build .don file
mdl( )                              # run model

Data generated are automatically read. Variables read in .HRnew file are stored, for the most important one with following name:


mdl.log_teff (list): \(\log T_{\rm eff}\) along evolution
mdl.log_l (list): \(\log L / L_\odot\) along evolution
mdl.log_g (list): \(\log g\) along evolution
mdl.log_r (list): \(\log R/R_\odot\) along evolution
mdl.age (list): Age (Myrs) at each time step of the evolution
mdl.ab_c (dict): Central abundances along evolution (e.g: mdl.ab_c['H1'] is the central abundance of hydrogen along evolution)
mdl.ab_s (dict): Surface abundances along evolution (e.g: mdl.ab_s['H1'] is the surface abundance of hydrogen along evolution)

Variables stored in the .osc file are global variables stored in mdl.glob and structure variables in mdl.var. These array may habve an extra dimension if .osc file is written not only for last model, but at all time step.


In mdl.glob:

mdl.glob[0]: \(M_\star\)
mdl.glob[1]: \(R_\star\)
mdl.glob[2]: \(L_\star\)
mdl.glob[3]: Initial \(Z\)
mdl.glob[4]: Initial \(X\)
mdl.glob[5]: \(\alpha_\mathrm{MLT}\)
mdl.glob[6]: Surface \(X\)
mdl.glob[7]: Surface \(Y\)
mdl.glob[8]: \(\partial^2 p / \partial r^2\) at center
mdl.glob[9]: \(\partial^2 \rho / \partial r^2\) at center
mdl.glob[10]: Age

In mdl.var:

mdl.var[0]: \(r~\rm (cm)\),
mdl.var[1]: \(m/M_{\star}\),
mdl.var[2]: \(T~\rm (K)\),
mdl.var[3]: \(P_\mathrm{tot}~\rm (dyn/cm^2)\),
mdl.var[4]: \(\rho~\rm (g/cm)^3\),
mdl.var[5]: \(\nabla\),
mdl.var[6]: \(L ~\rm (erg/s)\),
mdl.var[7]: \(\kappa~\rm(cm^2/g)\),
mdl.var[8]: \(\varepsilon~\rm (erg/g/s)\),
mdl.var[9]: \(\Gamma_1\),
mdl.var[10]: \(\nabla_\mathrm{ad}\),
mdl.var[21]: \(\nabla_\mathrm{rad}\),
mdl.var[31]: \(u\),
mdl.var[45]: \(X_\mathrm{H1}\),
mdl.var[46]: \(X_\mathrm{He3}\),
mdl.var[47]: \(X_\mathrm{He4}\),
mdl.var[48]: \(X_\mathrm{C12}\),
mdl.var[49]: \(X_\mathrm{C13}\),
mdl.var[50]: \(X_\mathrm{N14}\),
mdl.var[51]: \(X_\mathrm{N15}\),
mdl.var[52]: \(X_\mathrm{O16}\),
mdl.var[53]: \(X_\mathrm{O17}\),
mdl.var[54]: \(X_\mathrm{Si29}\).

Module pycesam.gui


pycesam also comes with a package that offers some plot methods.
from pycesam.gui import *

mdl = CModelGUI( 'my_model' ) # create instance of CModelGUI

Many methods exists, please refer to the english documentation. Main methods are:
mdl.plot_hr(): plots HR diagram
mdl.plot_kiel: plots Kiel diagram
mdl.plot_cz(): plots Kippenhahn diagram