Commit 65223665 authored by Mathieu RASSON's avatar Mathieu RASSON

Readme and Report update

parent 8c012b8d
......@@ -6,6 +6,8 @@ Numerical simulation of propagation with filamentation of a cylindrical laser be
All codes leading to simulations are saved under /codes/production/CN_classes/. Classes containing Crank-Nicholson solvers are implemented in .py files, when scripts instantiating objects and applying the resolution are in Jupyter Notebooks. In those notebooks, integration parameters can be adjusted according to the effects targeted.
Parameters leading to the plots displayed in the report are listed in captions. Some parameters are as well commented in notebooks, in full filamentation for instance.
## Data analysis
Data saved with .dat files or direct analysis in script notebooks ?
Integration data are saved in .npy files thanks to the save function of Numpy. Then they are loaded into a analysis notebooks in which plots are implemented. **NB:** for the heavy integrations required by full filamentation data is not saved, because of the size of field and charge matrices. Analysis is done just after integration in the notebook and plots are saved.
No preview for this file type
......@@ -229,11 +229,11 @@ With this method all non linear terms can be added one by one, to be tested indi
\subsubsection{Plasma Coupling}
The evolution of the electric field and that of the density of free charges are coupled through ionisation and the answer of those charges under the laser pulse. As the electric field, this density of free charges is discretised according to $(n,j,k) \mapsto \rho(z_n, r_j, t_k)$.
The evolution of the \textbf{electric field} and that of the \textbf{density of free charges} are coupled through ionisation and the answer of those charges under the laser pulse. As the electric field, this density of free charges is discretised according to $(n,j,k) \mapsto \rho(z_n, r_j, t_k)$.
The field and the density has to be estimated together at each propagation step to account for the coupling. At each $z$ step, the electric field is calculated first thanks to the charge density at the $z_{n-1}$, and the field calculated makes it possible to update the value of the density at $z_n$. Then there is only an integration along $t$ for all $r$ position.
The equation ruling the creation of free charges is treated in a semi-analytical manner in time. This method avoids any negative value which could be created by an integration tool as \texttt{odeint} from \texttt{scipy}, if wrong steps are chosen. The idea is to write a formal integration of the first order linear equation leading $\rho$, neglecting recombination in $\rho^2$.
The equation ruling the creation of free charges is treated in a \textbf{semi-analytical} manner in time. This method avoids any negative value which could be created by an integration tool as \texttt{odeint} from \texttt{scipy}, if wrong steps are chosen. The idea is to write a formal integration of the first order linear equation leading $\rho$, neglecting recombination in $\rho^2$.
\begin{equation*}
\rho(t) = \int_{-\infty}^t \dfrac{\beta^{(K)}}{\hbar \omega_0 K} |\mathcal{E}|^{2K} (t') \int_{t'}^t \dfrac{\sigma}{n_b^2 E_g} |\mathcal{E}|^{2}(t'') \, {\rm d}t' {\rm d}t''
\end{equation*}
......@@ -245,11 +245,11 @@ Then the first integral can be discretised regarding a time step $\Delta t$ and
& + \dfrac{\Delta t}{2} \dfrac{\beta^{(K)}}{\hbar \omega_0 K} |\mathcal{E}|^{2K}(z_{n+1}, r_j, t_{k+1})
\end{split}
\end{equation*}
As the field is known, the charge density can be calculated from a null initial condition at the beginning of the time integration box.
As the field is known, the charge density can be calculated from \textbf{null initial conditions} at the beginning of the time integration box.
Then, the coupling of field and charge density through the reaction of free charges is inserted with the non linear terms in the Crank-Nicholson scheme. The same symmetrisation is applied to this effect.
Thus, all effects leading to the saturation of the intensity autofocused, to its decrease by defocusing and to autofocusing again are taken into account is the propagation solver implemented. Now integration parameters, such as the dimensions of the box and integrations steps, have to be adapted so that the numerical algorithm reproduces physical phenomena.
Thus, all effects leading to the \textbf{saturation} of the intensity autofocused, to its decrease by defocusing and to autofocusing again are taken into account is the propagation solver implemented. Now integration parameters, such as the dimensions of the box and integrations steps, have to be adapted so that the numerical algorithm reproduces physical phenomena.
\newpage
......@@ -289,6 +289,9 @@ Thus, all effects leading to the saturation of the intensity autofocused, to its
% Behaviour up to 10 P_cr
% Multifilamentation?
% Analytical equilibrium between Kerr and Plasma
% Saturation intensity independent on P_in?
\newpage
......@@ -307,10 +310,22 @@ Thus, all effects leading to the saturation of the intensity autofocused, to its
\appendix
%---------------User`s Guide-----------------
%---------------User's Guide-----------------
% How to use codes and reproduce results
\section{User`s Guide}
\section{User's Guide}
The different Crank-Nicholson solvers, according to the effects implemented, are in classes saved in \texttt{.py} files at \texttt{/codes/CN\_classes/}. The names refer to the step towards full filamentation:
\begin{itemize}
\item \texttt{CCCN.py}: Cylindrical Diffraction;
\item \texttt{HSCN.py}: Diffraction and Dispersion;
\item \texttt{KCN.py}: Kerr effect;
\item \texttt{FCN.py}: Full Filamentation.
\end{itemize}
Each of those classes are accompanied by a Jupyter Notebook named \texttt{*\_script.ipynb}, which instantiates the solver and runs the integration. Then, for linear integrations, data are saved in a \texttt{.npy} file and analysed in another Jupyter Notebook at \texttt{/codes/analyse}. For non linear integrations, results are analysed directly in the integration notebook.
\newpage
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment