Commit graph

14 commits

Author SHA1 Message Date
3b125d0952 Minor improvement in mesh structure to allow different imput formats.
Organization of meshes per geometry type.
2020-12-08 18:28:24 +01:00
7152a232fe Separating CPU time output from Data outut to allow better analysis. 2020-12-07 17:58:33 +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
7859a73274 First implementation of Non-Analogue Scheme using volume weighting. The
scheme to use is chosen in the input file. Additional schemes could be
added easily.
2020-12-03 08:57:34 +01:00
a5d5ceb53d Implementation of different time steps per species. 2020-12-01 17:37:22 +01:00
d0bd6e73ed First implementation of multiple pushers for different species 2020-11-29 19:10:11 +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
73fc9f69c1 Main changes:
- Injection is now performed in parallalel (an IF statement could be
  required to avoid overhead when number of injected particles is
  below a margin).
- Added the possibility for multiple injections.
2020-10-25 08:08:18 +01:00
5368ff2bf3 Fixing a bug in injection of particles that was creating ghost particles
assumed to be inside the domain but without cell assigned.

Now, particles are assumed to be outside the domain (n_in = .FALSE.)
  until findCell assign them a cell.
2020-10-21 10:13:43 +02:00
ca9948139b Dynamic schedule for collision loop to balance the uneven number of
collisions in each cell.

No success with balancing particle loops (push and weighting).
2020-10-20 17:50:57 +02:00
bf6caad56a Final adjustments, format of verbose corrected and minor modifications
to the input case cylFlow.
2020-10-18 00:21:13 +02:00
fd42e0f3f9 Huge improvement in reset (by increasing a little bit push time) using
OMP locks to assign particles to cells in the pushing step.

Trying to combine push+reset and  collision+scatter did not work.
2020-10-17 18:46:10 +02:00
ffb03e634b Minor improvements in performance and code clarity.
Still no solution for the reset subroutine. It is really time
consumming.
2020-10-13 18:16:18 +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