Skip to content

JuditNuez/fumagno

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

74 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FUMAGNO

DOI

Matlab code that implements a 3D fully magnetized magnetic nozzle model. You can find all the details of the model in [TBD].

Installation

Installation requires simply that you download FUMAGNO and add the base directory (the one that contains the +fumagno directory) to your Matlab path.

Dependencies

A recent version of Matlab is needed to run the code. FUMAGNO has been developed in Matlab 2016a Academic version.

FUMAGNO depends on other Matlab packages that you can download from my GitHub account: magnetic_field, fluid_plasma, utilities, constants_and_units and akiles. These packages must be installed and added to your Matlab path before running FUMAGNO.

Important comment: I frequently update these repositories and some of the FUMAGNO dependencies in those packages may break. If you detect any such problem, please contact me through our website.

Usage

This package solves to different problems, both in the Fully Magnetized Ions Limit (FMIL):

  1. The fluid equations in the plasma expansion, considering that electrons cool down isotropically (I-FUMAGNO).
  2. The fluid-kinetic model for plasma expansion, using a kinetic approach to solve the cooling of electrons (K-FUMAGNO).

These models are both contained in the same repository as they use mostly the same matlab functions. Example workflow diagram

Fluid Model

I-FUMAGNO is an improved version of the prior model FUMAGNO. It solves the problem by interpolation as follow:

  1. Create a magnetic_field object with the 3D field of the nozzle to be studied. The object must be of a subclass of magnetic_field.element_3d
  2. Create the arrays with the points where the plasma properties will be calculated. This can be done by generating X0,Y0, the points at the initial plane of the magnetic lines of interest. The function x0y0_directis used to compute the remaining arrays.
  3. Create the a fluid_plasma object and the initial condition functions for the potential, velocities and densities in the inital plane.
  4. Use flow_solver to compute the solution of the plasma properties.
    • A function fluid_library that computes the solution for a random vector of plasma densities
    • A function fluid_interp that finds the solution for each magnetic line by interpolation
    • The solution is postprocessed in order to impose the conditions at the throat
  5. Use the output as you see fit (save, plot, etc)

Example workflow diagram

See the tests in tests/fumagno_test.m for examples of calls to these functions.

Fluid-kinetic Model

K-FUMAGNO solves the expansion in the FMIL, retaining kinetic effects. Thia problem can be solved as follows:

  1. Create a magnetic_field object with the 3D field of the nozzle to be studied. The object must be of a subclass of magnetic_field.element_3d
  2. Create the arrays with the points where the plasma properties will be calculated. This can be done by generating X0,Y0, the points at the initial plane of the magnetic lines of interest. The function x0y0_directis used to compute the remaining arrays.
  3. Use kinetic_solver to compute the solution of the plasma properties under isotropic assumptions
  • A function kinetic_library that computes akiles for a random vector of magnetic tube radius
  • A function kinetic_interp that finds the solution for each magnetic line by interpolation.
  • The solution is postprocessed in order to impose the conditions at the throat.
  1. Use the output as you see fit (save, plot, etc)

Example workflow diagram 2

See the test in tests/kinetic_solver_example.m to see how to solve the kinetic problem.

Contributing

If you have any comments for improvement or are interested in contributing to the continued development of this or any of my other codes, you can contact us through our website.

For updates and news, follow us on Twitter: @ep2lab..

Acknowledging

This program is released as open source in the hope that it will be useful to other people. If you find FUMAGNO useful and/or use it in any of your works, we kindly ask you to acknowledge it by citing the following article (preferred):

Mario Merino and Eduardo Ahedo, "Contactless steering of a plasma jet with a 3D magnetic nozzle", Plasma Sources Science and Technology 26, 095001 (2017) DOI

and/or by citing the code directly as:

Mario Merino (2017). mariomerinomartinez/fumagno: First release DOI:10.5281/zenodo.593787

License

Copyright (c) 2017 Mario Merino and Eduardo Ahedo. The software is released as open source with the MIT License.

About

Matlab code of a 3D fully magnetized magnetic nozzle

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • MATLAB 100.0%