Commit graph

115 commits

Author SHA1 Message Date
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
f1d74d954c Implementation of 0D dummy pusher and modifications to input parameters
to allow 0D runs.
2021-04-13 17:40:33 +02:00
8775bce11f Merge branch 'feature/initial' into 'development'
New format for initial state

See merge request JorgeGonz/fpakc!14
2021-04-13 15:06:10 +00:00
e25b567d36 Now the initial state has the same format as the mesh file, i.e., is
easy to use a file from a previous run without processing it into a
plain text file.

Although the previous method presented some updates for 1D small cases,
this is quite easy to do with any type of simulations and, in the
future, with different mesh formats.
2021-04-13 16:55:50 +02:00
d2b36632c9 Implementation of 0D grid for analysis of collisional operators.
Still need to add a 0D pusher and the corresponding input configuration
and documentation.
2021-04-12 18:54:33 +02:00
439a45efbf Merge branch 'feature/doubleMesh' into 'development'
Improvements to mesh and double mesh

See merge request JorgeGonz/fpakc!13
2021-04-05 07:49:26 +00:00
cbcefb06c8 Final implementation of a specific mesh for MCC, added a case for
cylFlow that used two meshes and the User Manual has been updated.
2021-04-05 09:45:57 +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
16b86542d4 Modified documentation to change input meshFormat from gmsh to gmsh2 in
preparation for supporting gmsh v4 in the future.
2021-03-29 09:49:19 +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
46348c86ee Improved some general things using pointers. 2021-03-28 16:52:01 +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
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