Commit graph

77 commits

Author SHA1 Message Date
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
bf4b8b41d3 Fixed an issue in the compilation caused by not included the
moduleRefCase when using m_ref in moduleInput.
2021-03-28 15:20:27 +02:00
d66add058d Merge branch 'improve/cases' into development 2021-03-28 15:17:45 +02:00
6431120734 Small modifications to the 1D Cathode case. 2021-03-28 15:17:10 +02:00
1f017bc5cc Merge branch 'feature/boundary' into 'development'
Testing of the ionization boundary and 3D geometry.

See merge request JorgeGonz/fpakc!12
2021-03-27 10:41:31 +00:00
2a843547b8 Ionization boundary condition fully tested.
Documentation updated properly.

3D Cartesian geometry also tested.
Documentation updated properly.

Added weighting probability in the injection of particles.
2021-03-27 11:38:18 +01:00
2b78c0a7da Merge branch 'feature/boundary' into 'development'
Ionization and symmetry axis fixin

See merge request JorgeGonz/fpakc!11
2021-03-23 15:50:21 +00:00
12e61731df Ionization boundary ready to testing.
Fixed an issue in which some particles in the corner were interacting
with the axis boundary. Now the axis acts as a reflective boundary in
case a particle is wrongly assigned to it.
2021-03-23 16:43:11 +01:00
9b1b0e4f0a Merge branch 'feature/3DCart' into 'development'
3D geometry and unification of boundary

See merge request JorgeGonz/fpakc!10
2021-03-22 11:43:17 +00: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
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
1e66110014 Merge branch 'development' into feature/3DCart 2021-03-11 18:43:44 +01:00
7e5b78f72f Implementation of 3D cartesian coordinates completed. Last commit before
testing.
2021-03-11 16:25:30 +01:00
61885b4a37 Merge branch 'issue/reflection' into 'development'
Normal of edges unitary

See merge request JorgeGonz/fpakc!8
2021-03-11 11:58:29 +00:00
ff0c09242d Fixed an issue with normal vector not being norm unit, which was causing
reflected particle velocities to increase.
2021-03-11 12:56:15 +01:00
95d5a1200d Included a new cases of 1D Cathode emission based on plasma background
previously computed.
2021-03-11 12:54:51 +01:00
682afaac0c Merge branch 'improve/cases' into 'development'
Structure for 3D Cartesian Grid created.

See merge request JorgeGonz/fpakc!7
2021-03-06 18:21:43 +00:00
1f077eeb91 Modifications to cases to fix minor issues. Work in having a 1D Cathode
model working
2021-03-06 19:19:46 +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
eb6b045734 Merge branch 'issue/stuck_injection' into 'development'
Issue/stuck injection

See merge request JorgeGonz/fpakc!6
2021-01-27 09:03:04 +00:00
9d146b9bcc Number of threads set to 24. 2021-01-27 10:01:19 +01:00
20bc1abc29 Fixed an issue in which the logical coordinates of the particle (xi)
were not being initialized and was causing particles to get stuck in
  the iteration loop.
2021-01-27 09:59:37 +01:00
2eae95002d Small modifications to 1D input files to make them start from a small
x/r position to avoid huge fields in Radial case when r -> 0 due to
charge accumulation.

Added a Gnuplot script to plot both potential profiles extracted from
Gmsh.
2021-01-23 10:58:39 +01:00
81e2202959 Merge branch 'feature/2DCart' into 'development'
First implementation of 2D Cartesian space.

See merge request JorgeGonz/fpakc!5
2021-01-21 11:07:31 +00: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
c378f8c3a2 Merge branch 'feature/output' into 'development'
Folder name

See merge request JorgeGonz/fpakc!4
2021-01-20 15:38:10 +00:00
2a6628d529 Added and option to include an output folder name. The date and time of
creation is still appended to the folder name provided.
2021-01-20 16:36:01 +01:00
95f81173f5 Merge branch 'improve/mesh' into 'development'
Improvements to Triangles

See merge request JorgeGonz/fpakc!3
2021-01-20 15:15:51 +00:00
978eb99f02 New way to deal with electric field in triangles. Some improvements but
rectangles are still recommended for regular grids.
2021-01-20 16:08:01 +01:00
4fb1940085 Merge branch 'documentation' into 'development'
Documentation

See merge request JorgeGonz/fpakc!1
2021-01-19 09:50:45 +00:00
fc272be08f New version of the manual explaining briefly collisional processes and
the examples.

README.md updated to include basic installation instructions.

Small changes to input files (just formatting)
2021-01-19 10:46:09 +01:00
b609430b3c First version of manual incorporated into the main repository.
Information added to account for changes in collisional processes
mostly.
2021-01-12 18:41:42 +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
a45df9de22 Recombination process introduced. No photon creation yet. 2020-12-27 13:15:36 +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
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
159d1527e6 Fixed a bug related with reading information on linking species. 2020-12-22 16:52:05 +01:00
35936ea918 Implementation of charge exchange and structure for ionization
processes.
2020-12-22 10:41:30 +01:00
baf25c1157 New boundary condition 'wallTemperature' that simulates a reflecting
wall with constant temperature and specific heat.
2020-12-19 16:20:28 +01:00
ef0b4ae832 Removed an unusued boundary type 2020-12-17 22:06:23 +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
2c3e25b40e Added the possibility to have different boundary conditions per species.
A boundary condition for each species must be indicated in the case
file.
This opens the door to use boundary conditions with different parameters
(for example, a wall temperature, coefficients for reflection or
 absorption...)

The examples included with the code have been updated accordently.
2020-12-17 18:21:27 +01:00
dc98fe9399 New version of the user manual.
Small modification 1D_Cathode cases.
2020-12-15 15:27:06 +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
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