Commit graph

111 commits

Author SHA1 Message Date
73f585ed8b Inout working 2026-04-08 15:47:36 +02:00
eb10ae92a6 It seems to work, but I don't think this is quite useful for the manuscript 2026-04-08 15:17:30 +02:00
1b864d6bed Skeleton of functions 2026-04-06 18:01:48 +02:00
04cd9dffc6 Implementing output for injects. Cleaning code 2026-04-01 16:19:16 +02:00
f400bd46eb Reorganization of boundaries EM 2026-03-31 20:00:20 +02:00
d680112764 Reorganization of boundaries Particles 2026-03-31 19:58:00 +02:00
818f9fe37b Rename of procedures in boundaries 2026-03-14 20:28:03 +01:00
c325e12553 Correct input 2026-03-14 20:03:17 +01:00
7f9d6da2fc First verstion that seems to work! 2026-03-14 18:53:05 +01:00
e54c86a952 Recovered the ouflowBoundary code 2026-03-12 20:09:34 +01:00
9f4d357593 Finally, using the right center for each element 2026-03-12 19:04:47 +01:00
ab7cf76be6 Boundary ionization now outputs the number of ionization events during the iteration 2026-03-12 12:55:08 +01:00
0109dc2f06 Trying to organise output better 2026-03-11 19:15:58 +01:00
c01f0bd381 Proper output file for particle boundaries. Missing input toggle 2026-03-11 16:32:17 +01:00
a48e5111e7 Corrections and some basic printing 2026-03-10 18:26:47 +01:00
776734db58 Calculates a reflection parameter (alpha) per edge based on the ratio of densities between the incident species and the rest 2026-03-09 14:31:11 +01:00
ecb1364d6a Boundaries (EM and particles) can now be updated at every iteration 2026-03-06 20:00:46 +01:00
600f7305bd Added center point procedure to edge and eps in inside to avoid some rounding errors 2026-03-04 10:41:55 +01:00
31f0b510bc The program reads the case but stops while doind the simulation 2026-02-26 14:25:47 +01:00
be9b7be280 IT COMPILES
I don't belive it, this was the largest change in the code ever made and
it is compiling now.

Now, I have to test, clean the code, change the examples and update the
documentation...
2026-02-25 09:02:09 +01:00
6b4d4fbcc3 Almost compiling. Issue was in generating objects for submodules 2026-02-24 20:18:06 +01:00
135f1f464c Files compile but there is no linking in mesh module 2026-02-24 20:03:36 +01:00
70f6db0883 Add new elements to point containers is now more general 2026-02-20 11:03:11 +01:00
ce6b6a41a6 New physical surfaces implemented 2026-02-20 09:50:42 +01:00
a0d45503f7 Working on init for new physical surfaces 2026-02-19 20:42:28 +01:00
1b32dfdfd6 Rewriting surfaces and boundaries 2026-02-19 20:23:13 +01:00
d211ed9a71 Almost done with EM, not to modify the EM module itself 2026-02-18 15:14:59 +01:00
0379ea42c2 I have to change the init of the edges to include the EM boundaries now 2026-02-18 13:50:14 +01:00
4c72e68246 Boundaries for EM almost done 2026-02-18 13:31:38 +01:00
6a7c92f62f Skeleton of boundaries for EM with new structure for mesh 2026-02-17 14:54:22 +01:00
6f8656bc21 Init for boundaries particles 2026-02-16 20:05:23 +01:00
6b96d56c9d Init for edges changed. Now, input 2026-02-13 10:58:31 +01:00
defcf02466 Preparing to change the input 2026-02-10 18:46:37 +01:00
c1b6cf1b31 Now the deferred apply is pass and I made some generic boundaries to use internally 2026-02-10 17:22:56 +01:00
0ccf455986 Boundaries done. Now to change the input and edges 2026-02-09 18:43:59 +01:00
c78d92fa7d Changing now boundaries 2026-02-09 15:22:41 +01:00
58e2fa7566 Working towards compilation with submodules 2026-02-09 13:52:52 +01:00
fbbb0d5d13 fPsi functions for edges
I need to make a common module for mesh, many functions for elements are
shared.

Also, try to reduce the 'select type' statements, but I don't know
enough Fortran for it.
2026-02-05 15:30:50 +01:00
e7e6e1bece New BC for quasi-neutrality
Still, the adjustment it is not iterative.
I need to build new subroutines to gather values of edges.
2026-02-05 11:01:15 +01:00
3083e20ff7 Subroutine for reading mesh
It is now complete and working. I also added some minor improvements to moduleMesh.f90 using 'associate' to practice.

I noticed there are a lot of things (allocating K, for example) that are common for all meshes and should be moved to a general module.
2026-01-22 14:06:20 +01:00
7d4f4b98c3 Implementing input subroutines 2026-01-19 15:37:31 +01:00
6f185c4188 Organizing things
Move the array of pointers to the nodes to moduleMesh.
2024-07-13 12:35:42 +02:00
ac27725940 Big one...
I should've commited before, but I wanted to make things compile.

The big change is that I've added a global time step so the parameter
does not need to be passed in each function. This is useful as we are
moving towards using time profiles for boundary conditions and injection
of particles (not in this branch, but in the future and the procedure
will be quite similar)
2024-07-12 23:08:19 +02:00
bc8f205287 Clean-up!
Trying to reduce warnings and unused variables in the code. This should
not be in this branch.
2024-07-11 15:55:02 +02:00
e23fc2fc2c Small progress
I made some small changes to how things are calculated.

I have also discovered that the issue with different density when
changing injection is not related with the node volume but with the way
injection is carried out. When loading particles from a file, all
provide the same density regardless the cell (node) volume.

I am doing testing in 2DCart as it is easier to set up.
2024-07-11 11:21:38 +02:00
9d961bb85f Removing weight from edges
This parameter is no longer needed.

Also removing the cumulative sum of weights from the injection.
2024-07-10 21:57:22 +02:00
b36f9c2615 Shifting towards constant number of particles per edge
So now each edge has the same number of particles and the weight of each
particle is calculated based on the surface of each edge compared to the
total one.

Only in 2DCyl, still to extend to other geometries.

Not perfect constant density, but the issue might be the node volume.
2024-07-09 17:49:42 +02:00
4585390b50 Fixing issue
Fixing an issue with reading tables led me to other issues with
collisions that I think are fixed right now. I am testing with the 1D
ionization model for ALPHIE and things seems to be working properly.
2023-11-21 09:53:36 +01:00
e05c0d4635 Coulomb Scattering fully conservative
Coulomb scattering is now fully conservative thanks to the method in
lemos2009small.

The trick was to conserve the momentum and energy of ALL particles
involved in the scattering in each cell.

The substeps in Coulomb collisions have been removed as they are no
longer necessary.

Still some issues with e-i, but I don't know right now.
2023-07-16 14:30:49 +02:00
c3a6f77ffc Combining ij - ji collisions
In an attempt to make the operator fully conservarive I have combined ij
and ji collisions (when i/=j).

Now the matter is to find a way that makes this conserve momentum and
energy for intraspecies.
2023-07-12 15:17:26 +02:00