Commit graph

24 commits

Author SHA1 Message Date
4c72e68246 Boundaries for EM almost done 2026-02-18 13:31:38 +01:00
58e2fa7566 Working towards compilation with submodules 2026-02-09 13:52:52 +01:00
9f9bacca7c Skeleton implementation of text mesh for simple 1D cases. 2026-01-19 14:48:06 +01:00
601103105f First attempt at Coulomb collisions
First attemp for Coulomb collisions based on the moments distribtuions.
Still the method is not done and far from being complete but input
options and basic math are implemented.
2023-02-24 21:46:01 +01:00
acc8505485 Issue with -llapack option
Some versions of gfortran (in the foss framework) were having issues
with the -llpack flag, so it is disables as OpenBLAS takes the work.
2023-02-17 13:03:22 +01:00
2c55913501 First version of vtu file format
After some testing and making things a bit better and more general, I am
quite happy with the implementation of vtu and it seems that it is
working (at least as good as Gmsh2).

There are some procedures that might be useful for other XML-like
formats that might be moved in the future to the common module (I am
    thinking right now in the implementation of a general format like
    XDMF3).
2023-02-07 16:02:36 +01:00
f5be04587a First step towards reading .vtu mesh
Just setting up the required functions.
2023-02-04 15:41:13 +01:00
aca84d6312 First output in VTU format
Testing new VTU format.

For now, species information is ALWAYS output in .vtu (to test, this will
    be an independent format in the future).
A .pvd file is produced to do time-series.

Still to implement other outputs (electromagnetic, average,
    collisions...)

Still to implement reading a mesh from .vtu file
2023-02-03 20:14:53 +01:00
d9a1869564 Reorganization of solver
I started grouping similar modules in subfolders to ease the expansion
process.
2022-12-24 12:59:23 +01:00
b2eb7c5622 First commit for average scheme
New module defined that will take care of averaging the output in the
nodes.
2022-12-14 16:22:59 +01:00
56967dd6c7 First implementation of probing method
The code nows offer the possibility to obtain the distribution function
for a specific species in a 3D velocity grid at a determined position.

This is a simple method that just scatter the particles in one cell into
the velocity grid.
2021-06-29 10:37:39 +02:00
f1d74d954c Implementation of 0D dummy pusher and modifications to input parameters
to allow 0D runs.
2021-04-13 17:40:33 +02:00
3f91d9e1ed Reading of mesh files has been made independent from geometry and
prepared to accept different formats.
2021-03-29 09:45:51 +02:00
db6b0a2c03 Fixed an issue with reflection of particles in all geometries and also
assigning the normal vector in 2D and 3D.

3D Cartesian geometry is working properly, although it needs testing.

Still issue with ionization boundary.
2021-03-22 12:39:34 +01:00
7e5b78f72f Implementation of 3D cartesian coordinates completed. Last commit before
testing.
2021-03-11 16:25:30 +01:00
ac2965621a Structure for 3D Cartesian Grid created.
Unification of boundary conditions into one file.

Some changes to input file for reference cases. This should have been
done in another branch but I wanto to commit to save progress and I
don't want to deal with tswitching branches right now, I'm very busy
watching Futurama.
2021-02-27 16:24:44 +01:00
2ae4a6c785 First implementation of 2D Cartesian space.
Files and types with 'Cyl' have been changed to '2DCyl' to better
differentiate between the two types of 2D geometry.

Solvers for charged and neutral particles in 2D Cartesian space.

Added solveds for 1D neutral particles (this branch is not the place to
    do it, but it was a minor change).

User Manual updated with the new accepted options.
2021-01-21 12:03:10 +01:00
9e0d1a7cc7 Final implementation of ionization process by electron impact.
Possibility to input initial species distributions (density, velocity
    and temperature) via an input file for each species.

New moduleRandom includes function to generate random numbers in
different ways (still uses) the implicit RANDOM_NUMBER().
2020-12-26 22:45:55 +01:00
d3d070a367 First implementation of 1D radial case. Only charged particles taked
into account (as in 1D Cartesian case).

The 1D Cathode example case has been modified, having now 2 input files:
  - inputCart.json: Used for Cartesian coordinates
  - inputRad.json:  Used for Radial coordinates

Pusher is a Boris pusher but without z direction.
2020-12-13 22:14:37 +01:00
37b0139b1f Implementation of different distribution functions for velocities.
Maxwellian and Diract Delta distributions have been implemented.

The input for injection of particles should be rewritten to allow more
clear input file.
2020-12-13 13:56:48 +01:00
d69b59143d !Implementation for 1D solver for charged particles. Added a 1D case for
testing. Still, no formal test has been performed so issues may appear.
2020-12-07 09:12:30 +01:00
c82279f5c5 First version with possibility for charged particles to be included.
Now, the solver needs to be an input parameter of the case, to select if
it is for charged or neutral particles.

Resolution of Poisson equation with Dirichlet boundary conditions is
possible. The source vector is the charge density. This resolution is
done in two steps to save computational time:
  1. When reading the mesh, the PLU factorization of the K matrix is
  computed.
  2. In each iteration, the system K*u = f is solved, in which f is the
  source vector (charge density) and u is the solution (potential) in
  each node.

No case has been added to the repository. This will be done in next
commit.

The 'non-analog' scheme has been commented. It still needs to split
the particle to avoid 'overweight' particles.
2020-11-15 21:16:02 +01:00
60f38a2d95 Commit befor trying to convert particle array to linked list to improve
performance.
2020-10-10 21:25:49 +02:00
bd7e8b040b First commit of code.
New functionality:
- DSMC module:
  - 2D cyl geometry
    - GMSH file format
    - Elastic cross-section for Argon-Argon collisions.
    - Basic boundary conditions: reflection, absorption and axis
      symmetry.

Bugs fixed:

Other comments:
- Still searching for name.
2020-10-09 08:45:07 +02:00