Code Monkey home page Code Monkey logo

Comments (6)

MickaelGrech avatar MickaelGrech commented on May 27, 2024

Hi!

So SMILEI is built up on relativistic normalized units that appear naturally from the Vlasov-Maxwell system of equations.
This is explained here, and also discussed in SMILEI paper which you can find here.

Now, if you are considering a simulation relying on the Vlasov-Maxwell system only, i.e. as long as you do not use additional physics modules such as collisions and/or ionization etc..., you can scale your system by introducing a characteristic (reference) angular frequency $\omega_r$.
(1) If you are considering a plasma only (e.g. no laser), the best is to chose $\omega_r = \omega_{p0}$ with $\omega_{p0}$ the electron plasma frequency for a given density of $n_0$ of your plasma. Then this density :$n_0$ will be equal to 1 in the code, and you will have to normalize your density profile to this $n_0$ density.
(2) If you are considering laser-plasma interaction, it is better to consider $\omega = \omega_0$, with $\omega_0 = 2\pi c/\lambda_0$ the angular frequency of your laser (with $\lambda_0$ its wavelength). Doing so implies that all densities in the code will be in units of the critical density for the electromagnetic radiation at angular frequency $\omega_0$.

From your previous issue, I guess that you are in situation (2).
That means that all times in the code will be in units of $\omega_0^{-1}$, and distances in units of $k_0^{-1} = \omega_0/c$.
Obviously, it might be more tractable for you to express everything in units of the laser wavelength in your input file.
This is where SMILEI's python input file becomes very useful.
Indeed, you can just introduce the normalized laser wavelength $\hat{\lambda}_0 = k_0,\lambda_0 = 2\pi$, and similarly for times the normalized optical cycle $\hat{\tau}_0 = \omega_0,\lambda_0/c = 2\pi$.
Then, whenever you need to define a distance in your input file (similarly a duration) you will write it as $\hat{D} = (D/\lambda_0) * \hat{\lambda}_0$ ($\hat{T} = (T/\tau_0) * \hat{\tau}_0$, with $tau_0=\lambda_0/c$ the duration of an optical cycle).

from smilei.

dsbertini avatar dsbertini commented on May 27, 2024

Hi Mickael,
Thanks for the detailed information. I am indeed in case (2) so that i will follow your advices.
Now about EM boundaries, i would like to have boundary condition where EM waves impinging on it
are transmitted with as little reflexion as possible ( simple_laser boundary in Epoch ) .
Which boundary option is close to that characteristic in SMilei code?

from smilei.

MickaelGrech avatar MickaelGrech commented on May 27, 2024

from smilei.

dsbertini avatar dsbertini commented on May 27, 2024

you mean CPML : Convolutional Perfectly Matched Layer boundary conditions ?

from smilei.

MickaelGrech avatar MickaelGrech commented on May 27, 2024

from smilei.

dsbertini avatar dsbertini commented on May 27, 2024

I just know that there is a recent implementation of CPML in epoch. The ideas/alogrithms are taken from the book in Computational Electrodynamics: The Finite-Difference Time-Domain Method” by Taflove and Hagness

from smilei.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.