sarkas.tools.observables.DiffusionFlux
sarkas.tools.observables.DiffusionFlux#
- class sarkas.tools.observables.DiffusionFlux[source]#
Diffusion Fluxes and their Auto-correlation functions.
The \(\alpha\) diffusion flux \(\mathbf J_{\alpha}(t)\) is calculated from eq.~(3.5) in [Zhou and Miller, 1996] which reads
\[\mathbf J_{\alpha}(t) = \frac{m_{\alpha}}{m_{\rm tot} } \sum_{\beta = 1}^{M} \left ( m_{\rm tot} \delta_{\alpha\beta} - x_{\alpha} m_{\beta} \right ) \mathbf j_{\beta} (t)\]where \(M\) is the total number of species, \(m_{\rm tot} = \sum_{i}^M m_{i}\) is the total mass of the system, \(x_{\alpha} = N_{\alpha} / N_{\rm tot}\) is the concentration of species \(\alpha\), and
\[\mathbf j_{\alpha}(t) = \sum_{i = 1}^{N_{\alpha}} \mathbf v_{i}(t)\]is the microscopic velocity field of species \(\alpha\).
Methods
Calculate and save Fourier space data.
DiffusionFlux.calc_kt_data
([nkt_flag, vkt_flag])Calculate Time dependent Fourier space quantities.
Calculate the observable (and its autocorrelation function).
DiffusionFlux.from_dict
(input_dict)Update attributes from input dictionary.
DiffusionFlux.grab_sim_data
([pva])Read in particles data
Grab the pandas dataframe from the saved csv file.
Read in the precomputed Fourier space data.
DiffusionFlux.parse_kt_data
([nkt_flag, vkt_flag])Read in the precomputed time dependent Fourier space data.
DiffusionFlux.plot
([scaling, acf, figname, show])Plot the observable by calling the pandas.DataFrame.plot() function and save the figure.
Print observable parameters for help in choice of simulation parameters.
Read the observable's info from the pickle file.
Save the observable's info into a pickle file.
DiffusionFlux.setup
(params[, phase, no_slices])Assign attributes from simulation's parameters.
DiffusionFlux.setup_init
(params[, phase, ...])Assign Observables attributes and copy the simulation's parameters.
Set the attributes postprocessing_dir and dump_dirs_list.
DiffusionFlux.time_stamp
(message, timing)Print to screen the elapsed time of the calculation.
DiffusionFlux.update_args
(**kwargs)Update observable specific attributes and call
update_finish()
to save info.Update the
slice_steps
, CCF's and DSF's attributes, and save pickle file with observable's info.