Commit graph

287 commits

Author SHA1 Message Date
dd1fca3fee Fix for node volume
An issue in the node volume calculation in cylindrical coordinates was
found. This was causing wrong conservation of current. Still to test
with ALPHIE_Grid case.

Still to check triangular element.
Still to theck 1D radial geometry
2022-12-20 15:51:43 +01:00
cab07447b5 Averge scheme documented
Documentation of the average scheme for species properties.
2022-12-16 19:27:10 +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
38d28887ff Implementation of average scheme and testing
New input variables to activate the average scheme.
Still only computing the mean, no the standard deviation.

Output checked  with ALPHIE Grid example. Looks good.

No impact on CPU time, although testing is still required.
2022-12-15 08:35:00 +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
239552f715 Merge branch 'feature/electromagnetic' into 'development'
Restructuring pushsers and addition to first electromagnetic pusher

See merge request JorgeGonz/fpakc!27
2022-12-12 18:20:34 +00:00
c7d205e4dd fix possible issue in particle injection 2022-12-12 17:57:18 +01:00
2ee58b6b77 Small change to ionization boundary
Very small change in formats to better account the ionization processes.
Minimum impact in results.
2022-12-12 17:36:10 +01:00
924ba4e20e Alphie grid case and issues
Output for the example ALPHIE_Grid.

Found an issue when multiple injections were used with species with
different time steps.

Modification to the way to compute the ionization boundary:
  The maximum number of ionizations is computed by eRel/eThreshold
  (relative energy / threshold of ionization)
  For each possible ionization, the probability of ionization is
  computed based on the density of neutrals, cross section and effective
  time divided by the number of maximum ionizations.
  If an ionization takes place, the ionization energy is substracted
  from the relative energy.
2022-12-11 22:39:28 +01:00
1587d57cc7 Readme for ALPHIE_Grid example 2022-12-10 11:16:07 +01:00
2850f37551 Test of examples
As all pushers and geometries have change, I'm testing all examples,
   adding a README.txt and a reference output for each case.
2022-12-10 10:37:14 +01:00
8dd3023bc0 Documentation change and testing examples
Documentation adapted to the new way to define geometry and pushers.

Examples are currently being tested and small modifications are being
done to include a reference output.
2022-12-09 16:05:32 +01:00
ae8aa9075e Change in calculation of reduced mass and relative energy
Now reduced mass and relative energy are calculated on the fly per
collision.
2022-12-09 09:54:44 +01:00
50705292a7 Changes in Cross Sections
Changes in cross-sections for Ar, particularly e-Ar process.
2022-12-08 16:37:44 +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
562dba1694 Merge branch 'issue/makefile' into 'development'
Fixing issue with makefile

See merge request JorgeGonz/fpakc!26
2021-10-18 14:39:20 +00:00
90e667f0a5 Fixing issue with makefile
The dependencies of the modules have been streamlined.
2021-10-18 16:36:19 +02:00
4c7ffa946c Merge branch 'feature/probe' into 'development'
Modification to Probes to use all particles

See merge request JorgeGonz/fpakc!25
2021-10-18 14:07:50 +00: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
550f6e2d2e Merge branch 'issue/readEMBoundary' into 'development'
Issue reading EM field

See merge request JorgeGonz/fpakc!24
2021-10-18 08:32:44 +00:00
f9dcd181c8 Issue reading EM field
Fixed an issue reading the EM field from input file.
2021-10-18 10:29:45 +02:00
aa9dda76ca Small improvement.
Small change to probing system.
2021-08-26 11:21:08 +02:00
611fae8d82 Merge branch 'feature/probe' into 'development'
First implementation of probing method

See merge request JorgeGonz/fpakc!23
2021-06-29 08:40:54 +00: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
2d3b163700 Merge branch 'feature/collisionTimeStep' into 'development'
Adding a time step for collisions

See merge request JorgeGonz/fpakc!22
2021-06-15 08:49:19 +00:00
b6a7eb9ced Adding a time step for collisions
A new option has been added in which MCC are computed with its own time
step.

If no time is provided, then the minimum time step of the simulation is
employed.
2021-06-15 10:40:13 +02:00
c6e3238810 Merge branch 'issue/triaInitial' into 'development'
Issue with random position in volumes

See merge request JorgeGonz/fpakc!21
2021-05-24 10:41:28 +00:00
9af3429395 Issue with random position in volumes
Fixed an issue in which  the position in triangular an thetrahedron
elements were not correctly being computed.

Other minor issues fixed:
  - Units in input file now do not use '/'.
  - Collisions accuratly conserve momentum.
  - Minor improvements in mass calculation in collisions.
2021-05-24 12:37:16 +02:00
cfe5616c8c Merge branch 'feature/combineScattering' into 'development'
Common scatter subroutine

See merge request JorgeGonz/fpakc!20
2021-04-21 21:44:58 +00:00
35bd61fda9 Common scatter subroutine
All subroutines of scattering particle properties to the nodes of a
volume have been converged into one in moduleMesh.
2021-04-21 23:40:58 +02:00
d613f80c0d Merge branch 'feature/copyInputFiles' into 'development'
Copy input files to output folder

See merge request JorgeGonz/fpakc!19
2021-04-21 14:03:27 +00:00
027b346a84 Copy input files to output folder
After reading the input, the code copies the JSON input file but the
mesh(es) to the output directory.
2021-04-21 16:01:01 +02:00
302e4ecc1a Merge branch 'issue/initialIteration' into 'development'
Implementation of initial iteration.

See merge request JorgeGonz/fpakc!18
2021-04-17 09:00:57 +00: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
0d2e62421d Merge branch 'issue/initialInput' into 'development'
Small modification in input for initial case.

See merge request JorgeGonz/fpakc!17
2021-04-15 07:49:04 +00:00
f20cb35fc5 Small modification in input for initial case.
Names have been simplified. User manual updated accordingly.
2021-04-15 09:47:19 +02:00
53827ec117 Merge branch 'issue/injectionNormal' into 'development'
The normal vector in an injection is now normalized to 1

See merge request JorgeGonz/fpakc!16
2021-04-14 19:00:08 +00:00
7dccba5906 The normal vector in an injection is now normalized to 1 and it is no
longer responsability of the user to ensure that the norm is 1.

This is a very simple fix and I do not why I did not implemented early.
2021-04-14 20:56:53 +02:00
fd148db2ee Merge branch 'feature/Coulomb' into 'development'
Implementation of 0D grid for analysis of collisional operators.

See merge request JorgeGonz/fpakc!15
2021-04-13 19:57:19 +00:00
b40d867d74 Removed innnecesary input from input file 2021-04-13 21:51:08 +02:00
a681b9f533 0D Grid geometry
Implementation of the 0D grid to test collisional processes.

An OMP_LOCK was added to the nodes to properly write perform the
scattering (it is weird that multiple threads work in the same node at
the same time, but in 0D happens everytime).

Added a new case to test the 0D geometry.

User Manual updated with the new options.
2021-04-13 21:48:44 +02:00
0ffdb8578a Merge branch 'development' into feature/0DGrid
Conflicts:
	src/modules/mesh/moduleMesh.f90
2021-04-13 17:46:20 +02:00