Commit graph

31 commits

Author SHA1 Message Date
d9a1869564 Reorganization of solver
I started grouping similar modules in subfolders to ease the expansion
process.
2022-12-24 12:59:23 +01:00
e9c86b4678 Modification of Weighting scheme
The weighting scheme has been modified so that particles are splitted
without modifying the weight.

I have to look a bit more into this.
2022-12-24 11:30:20 +01:00
5509332980 Output of standard deviation
The output for the standard deviation (still Gmsh2 only) was added.

Change in the output routines to reduce code repetition.
2022-12-15 11:40:24 +01:00
c5c4cbefbf Output ready
Output for Gmsh2 ready.

Unfortunatly, code repetition was required.
2022-12-14 18:30:14 +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
23e2fe9bae I'm dying with hay fever but I have to commit
I'm feeling awful but I have work in my desktop that I need to commit so
I can work with my laptop while I'm at the IEPC 2022 in Boston.
2022-06-10 16:07:14 +02:00
cbb5fe0bf2 Merge branch 'feature/collisionPairs' into feature/electromagnetic
Merging branches and fixing a number of important issues:

- Initial particles were not being assigned to the list of particles.

- List of particles was being erased every iteration, even if species
  was not pushed.

These caused issues with the calculation of collisions when a species
was frozen.

Now, things should work properly. All particles are properly added to
the volume list and the list is erased ONLY if the species has been
updated.

I hope that collisions are now properly accounted for per species pair.
2022-04-23 20:48:34 +02:00
4e9514876e Number of collisions per collision pair
Now the number of collisions is calculated per species pair. This allows
that the randomly particles selected for collisions do not have
collisions assigned.
2022-04-23 19:00:33 +02:00
78a97ed7a0 Improve to collisions
Improvement into the collision model to better compute number of
particles collisions.
2022-04-23 18:57:27 +02:00
97718209cc Setting pushers as PURE
Pushers were not set to PURE after testing.
2022-04-09 09:00:40 +02:00
8006f9d768 First EM pusher
First implementation of Electromagnetic pusher.

Some testing is still required.

Documentation needs to be upgraded to match the changes in this branch.
2022-04-09 08:57:06 +02:00
771e336f87 Cart pusher combined
Now, all Cart pushers push particles in 3D, regardless the geometry.
2022-04-08 19:16:41 +02:00
5b5dadce39 Restructuring the geometry and pushers
The geometry and push structure has been reworked to allow eassy adding
new pushers.

Documentation not updated yet.

Baseline for merging Cartesian pushers into one.
2022-04-08 19:06:12 +02:00
e683c66ff8 Modification to Probes to use all particles
Now, probes check all particles in the domain.
This is done only when probes are outputed to save CPU time.
However, still some issues and distribution functions are not properly
being calculated.
2021-10-18 16:00:28 +02:00
dee860e37b Implementation of initial iteration.
An initial simulation time can be provided in the input file. This is
useful when restarting a simulation from a previous file. If no
initial time is provided, the value 0 is used.
2021-04-17 10:45:52 +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
a2631f6b78 Impliementation of a collision mesh which is independent for the mesh
used to scatter particles and compute the EM field.
2021-04-03 09:20:46 +02:00
ec128902ad The integer part%sp that referenced the species index has been
substituted for a pointer to the species.
2021-03-28 15:55:26 +02:00
3b01099aba Merge branch 'development' into feature/3DCart 2021-03-20 13:08:55 +01:00
8cf50cda68 First implementation of ionization boundary. Still some work to do. 2021-03-20 13:08:01 +01:00
c236c5e0e2 Fixing some issues in 3D Cartesian coordinates. Included 3D pusher.
Still there are issues linking a volume to an edge.
2021-03-15 10:00:34 +01:00
7e5b78f72f Implementation of 3D cartesian coordinates completed. Last commit before
testing.
2021-03-11 16:25:30 +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
5516e46ec3 Particles are injected in each iteration and pushed with tauMin when
injected. Then, particles are pushed as normal in their own time step.
2021-01-02 16:31:31 +01:00
874d573e89 New and improved method to calculate collisions per iteration:
In each iteration, number of collisions are calculate as a REAL variable
(collFrac) and stored in each cell. The number of collisions is
calculated as FLOOR(collFrac) and, if it is >1 collisions are computed
as usual. Per each collision calculated, 1.0 is removed from collFrac
2021-01-02 14:09:27 +01:00
4ba08e74af Method to divide collisions from a collisional iteration into multiple
pushing iterations.
2021-01-02 12:50:22 +01:00
e50cc3325b Implementation of ionization process.
Now collisions can have a different time step.

Added species name to output names as it was starting to get confusing
in Gmsh for multiple species.

Output filenames adapted to match any number of iterations.
2020-12-25 23:08:59 +01:00
9e3a1a771b Modification in boundary conditions:
- Now absorption scatte the particle  properties into the edge nodes.
  - New boundary condition 'transparent' subsitute old absorption.
2020-12-17 21:16:35 +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
f151f3cd0e Renaming the generic 'non-analogue' scheme for 'weighting' scheme. 2020-12-13 17:04:52 +01:00
af74205932 Files renamed and makefile make compatible with ifort. 2020-12-10 19:25:17 +01:00