From 56967dd6c7a8473437f0527f965c039e1b4f0f4a Mon Sep 17 00:00:00 2001 From: Jorge Gonzalez Date: Tue, 29 Jun 2021 10:37:39 +0200 Subject: [PATCH] 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. --- doc/user-manual/fpakc_UserManual.pdf | Bin 169553 -> 173252 bytes doc/user-manual/fpakc_UserManual.tex | 196 +++++++++++++--------- src/fpakc.f90 | 10 +- src/makefile | 1 + src/modules/makefile | 5 +- src/modules/moduleInput.f90 | 48 +++++- src/modules/moduleProbe.f90 | 239 +++++++++++++++++++++++++++ 7 files changed, 413 insertions(+), 86 deletions(-) create mode 100644 src/modules/moduleProbe.f90 diff --git a/doc/user-manual/fpakc_UserManual.pdf b/doc/user-manual/fpakc_UserManual.pdf index 6b3b20a422160a8ab4b068d4c7dcc3440bc83499..c52ee8b945a563a506fe53dc7c7c83a5cf04e8ff 100644 GIT binary patch delta 71992 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 delta 68477 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 T@id3?ZP3c$9fz}@45o9mQceOlv$ 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 diff --git a/doc/user-manual/fpakc_UserManual.tex b/doc/user-manual/fpakc_UserManual.tex index 479efb2..6e43115 100644 --- a/doc/user-manual/fpakc_UserManual.tex +++ b/doc/user-manual/fpakc_UserManual.tex @@ -215,11 +215,12 @@ \item Recombination. When an electron and an ion interact, there is a possibility for them to be recombined into a neutral particle. - The photon emitted by this process is not modeled yet. + The photon emitted by this process is not modelled yet. \end{itemize} - \subsection{\acrlong{cs}} - Although not yet implement, a first approach will be soon implemented using Ref.~\cite{higginson2020corrected} as a guideline. +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% \subsection{\acrlong{cs}} +% Although not yet implement, a first approach will be soon implemented using Ref.~\cite{higginson2020corrected} as a guideline. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Reset of particle array} @@ -227,6 +228,20 @@ The new array containing only the particles inside the domain will be the one used in the next steps. In this section, particles are assigned to the list of particles inside each individual cell. Unfortunately, this is done right now without parallelisation and is very CPU consuming. + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + \section{Probing}\label{sec:probing} + As default, \gls{fpakc} outputs information of macroscopic quantities (density, velocity, temperature\ldots) in the finite element mesh. + However, a lot of information can be extracted from the particle distribution function. + Thus, a probing method is provided to extract the distribution function in a specific position. + + The particles inside a cell in which the input position is located are distributed into a 3D velocity grid. + The user can decide the grid width and the number of points in each direction. + The distribution function will be calculated and wrote with a time step decided by the user. + + If a particle velocity resides outside of the velocity grid (in any direction), it wont be added to the tally of the distribution function. + Due to the limitation of only taking into account particles in the cell, and not neighbour particles, two probes for the same species at different positions but in the same cell will output the same results. + A more advance method taking into account distance between the particles and the probe position as well as particles in neighbour cells could be implemented to improve the statistics of the distribution function. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Scattering} @@ -359,6 +374,30 @@ make Trigger between writings is the same as in \textbf{triggerOutput}. \item \textbf{EMField}: Logical. Determines if the electromagnetic field is printed. + \item \textbf{probes}: Array of objects. + Defines the probes employed for obtaining the distribution function at specific positions. + See Sec.~\ref{sec:probing} for more information. + The object is structured as follows: + \begin{itemize} + \item \textbf{species}: Character. + Species name as defined in \textbf{species} array. + \item \textbf{position}: Real. + Array of dimension $3$. + Units in $\unit{m}$. + Indicates the position of the probing. + \item \textbf{timeStep}: Real + Units in $\unit{s}$. + Optional. + Time step for output of the distribution function. + If none is provided, the minimum time step of the case is used. + \item \textbf{velocity\_1, velocity\_2, velocity\_3}: Real. + Array of dimension $2$. + Velocity range (minimum-maximum) in which the distribution function will be interpolated. + The subscripts 1, 2, 3 indicate the three directions of the case. + \item \textbf{points}: Integer. + Array of dimension $3$. + Number of points in each direction. + \end{itemize} \end{itemize} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -439,72 +478,72 @@ make \begin{itemize} \item \textbf{name}: Character. Name of the boundary. - \item \textbf{type}: Character. - Type of boundary. - Accepted values are: - \begin{itemize} - \item \textbf{reflection}: Elastic reflection of particles. - \item \textbf{absorption}: Particle is eliminated from the domain. - The particle is first moved into the edge and its properties are scattered among the edge nodes. - \item \textbf{transparent}: Particle abandon the numerical domain. - \item \textbf{wallTemperature}: Reflective wall with cosntant temperature that exchange heat with particles. - Required parameters are: - \begin{itemize} - \item \textbf{temperature}: Real. - Units of $\unit{K}$. - Temperature wall. - \item \textbf{specificHeat}: Real. - Units of $\unit{J kg^{-1} K^{-1}}$. - Specific heat capacity of the material. - \end{itemize} - \item \textbf{ionization}: Per each particle crossing the surface with this type of boundary, a number of ionization events are calculated. - A pair of ion-electron is generated for each ionization event taking as a reference a neutral background. - Secondary electron is taken as same type as incident particle. - The available input is: - \begin{itemize} - \item \textbf{neutral}: Object. - Information about the neutral background. - Required parameters are: - \begin{itemize} - \item \textbf{ion}: Character. - Species name of the ion generated as defined in object \textbf{species}. - Required parameter. - \item \textbf{mass}: Real. - Units in $\unit{kg}$. - Mass of neutral species. - If missing, the mass of the ion is ussed - \item \textbf{density}: Real. - Units in $\unit{m^{-3}}$. - Density of neutral background. - Required parameter. - \item \textbf{velocity}: Real. - Units in $\unit{m^{-3}}$. - Array of dimension $3$. - Mean velocity of neutral background. - Required parameter. - \item \textbf{temperature}: Real. - Units in $\unit{K}$. - Temperature of neutral background. - Required parameter. - - \end{itemize} - \item \textbf{effectiveTime}: Real. - Units in $\unit{s}$. - As the particle is no longer simulated once it crossed the boundary, this time represent the effective time in which the particle produces ionization processes in the neutral background. - Required parameter. - \item \textbf{energyThreashold}: Real. - Units in $\unit{eV}$. - Ionization energy threshold for the simulated process. - Required parameter. - \item \textbf{crossSection}: Character. - Complete path to the cross section data for the ionization process. - - \end{itemize} - \item \textbf{axis}: Identifies the symmetry axis for 2D cylindrical simulations. - If for some reason a particle interact with this axis, it is reflected. - \end{itemize} \item \textbf{physicalSurface}: Integer. - Identification of the edge in the mesh file. + Identification of the surface in the mesh file. + \item \textbf{bType}: Array of objects of dimension 'number of species'. + Per each species defined in the case, a boundary \textbf{type} needs to be provided. + Accepted values for \textbf{type} are: + \begin{itemize} + \item \textbf{reflection}: Elastic reflection of particles. + \item \textbf{absorption}: Particle is eliminated from the domain. + The particle is first moved into the edge and its properties are scattered among the edge nodes. + \item \textbf{transparent}: Particle abandon the numerical domain. + \item \textbf{wallTemperature}: Reflective wall with cosntant temperature that exchange heat with particles. + Required parameters are: + \begin{itemize} + \item \textbf{temperature}: Real. + Units of $\unit{K}$. + Temperature wall. + \item \textbf{specificHeat}: Real. + Units of $\unit{J kg^{-1} K^{-1}}$. + Specific heat capacity of the material. + \end{itemize} + \item \textbf{ionization}: Per each particle crossing the surface with this type of boundary, a number of ionization events are calculated. + A pair of ion-electron is generated for each ionization event taking as a reference a neutral background. + Secondary electron is taken as same type as incident particle. + The available input is: + \begin{itemize} + \item \textbf{neutral}: Object. + Information about the neutral background. + Required parameters are: + \begin{itemize} + \item \textbf{ion}: Character. + Species name of the ion generated as defined in object \textbf{species}. + Required parameter. + \item \textbf{mass}: Real. + Units in $\unit{kg}$. + Mass of neutral species. + If missing, the mass of the ion is ussed + \item \textbf{density}: Real. + Units in $\unit{m^{-3}}$. + Density of neutral background. + Required parameter. + \item \textbf{velocity}: Real. + Units in $\unit{m^{-3}}$. + Array of dimension $3$. + Mean velocity of neutral background. + Required parameter. + \item \textbf{temperature}: Real. + Units in $\unit{K}$. + Temperature of neutral background. + Required parameter. + + \end{itemize} + \item \textbf{effectiveTime}: Real. + Units in $\unit{s}$. + As the particle is no longer simulated once it crossed the boundary, this time represent the effective time in which the particle produces ionization processes in the neutral background. + Required parameter. + \item \textbf{energyThreashold}: Real. + Units in $\unit{eV}$. + Ionization energy threshold for the simulated process. + Required parameter. + \item \textbf{crossSection}: Character. + Complete path to the cross section data for the ionization process. + + \end{itemize} + \item \textbf{axis}: Identifies the symmetry axis for 2D cylindrical simulations. + If for some reason a particle interact with this axis, it is reflected. + \end{itemize} \end{itemize} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -631,8 +670,7 @@ make \begin{itemize} \item \textbf{Electrostatic}: Solves the Poison equation to obtain the self-consistent electrostatic potential. \end{itemize} - \item \textbf{initial}: Object. - Array. + \item \textbf{initial}: Array of objects. Determines initial values for the species. Required values are: \begin{itemize} @@ -661,8 +699,7 @@ make Units of $\unit{s}$. Time step to calculate MCC. If no time is provided, the minimum time step is used. - \item \textbf{collisions}: Object. - Array. + \item \textbf{collisions}: Array of objects. Contains the different short range interactions (\acrshort{mcc}). Multiple collision types can be defined for each pair of species. Each object in the array is defined by: @@ -670,8 +707,7 @@ make \item \textbf{species\_i}, \textbf{species\_j}: Character. Define the two species involved in the collision processes. Order is indiferent. - \item \textbf{cTypes}: Object. - Array. + \item \textbf{cTypes}: Array of objects. Defines all the collisions between \textbf{species\_i} and \textbf{species\_j}. Required values are: \begin{itemize} @@ -705,29 +741,29 @@ make \end{itemize} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - \chapter{Example runs\label{ch:exampleRuns}} + \chapter{Example runs}\label{ch:exampleRuns} This chapter presents a description of the different example files distributed with \acrshort{fpakc}. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{1D Emissive Cathode (1D\_Cathode)} - Emission from a 1D cathond in both, cartesian and radial coordinates. + Emission from a 1D cathode in both, cartesian and radial coordinates. Both cases insert the same amount of electrons from the minimum coordinate and have the same boundary conditions for particles and the electrostatic field. - This case is useful to ilustrate hoy \acrshort{fpakc} can deal with different geometries by just modifiying some parameters in the input file. + This case is useful to ilustrate hoy \acrshort{fpakc} can deal with different geometries by just modifying some parameters in the input file. The same mesh file (\lstinline|mesh.msh|) is used for both cases. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{0D \ce{Ar}-\ce{Ar+} Elastic Collision (0D\_Argon)} Test case to check the 0D geometry that includes the elastic collision between \ce{Ar} and \ce{Ar+}. - Initial states are readed from the Argon\_Initial.dat and Argon+\_Initial.dat + Initial states are read from the Argon\_Initial.dat and Argon+\_Initial.dat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{ALPHIE Grid system (ALPHIE\_Grid)} - Two-dimensional axialsymmetry case to study the counterflow of electrons and Argon ions going trhough the ALPHIE grid system. + Two-dimensional axial-symmetry case to study the counterflow of electrons and Argon ions going through the ALPHIE grid system. A \lstinline|mesh.geo| file is provided to easily modify the parameters of the grid system and generate a new mesh with \Gls{gmsh}. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{Flow around cylinder (cylFlow)} - Simple case of neutral Argon flow around a cylinder in a 2D axialsymmetry geometry. + Simple case of neutral Argon flow around a cylinder in a 2D axial-symmetry geometry. Elastic collisions between argon particles are included. Two cases are presented here: one in which the same mesh (meshSingle.msh) for scattering and collisions is used (input.json) and a second one (inputDualMesh.json) in which a mesh is used for scattering (mesh.msh) and a second one is used only for collisions (meshColl.msh). diff --git a/src/fpakc.f90 b/src/fpakc.f90 index 8bd909b..8d33917 100644 --- a/src/fpakc.f90 +++ b/src/fpakc.f90 @@ -1,12 +1,13 @@ ! FPAKC main program PROGRAM fpakc + USE moduleCompTime + USE moduleCaseParam USE moduleInput - USE moduleErrors USE moduleInject USE moduleSolver USE moduleMesh - USE moduleCompTime - USE moduleCaseParam + USE moduleProbe + USE moduleErrors USE OMP_LIB IMPLICIT NONE @@ -84,6 +85,9 @@ PROGRAM fpakc !$OMP SINGLE tCoul = omp_get_wTime() - tCoul + !Do probing + CALL doProbes(t) + !Reset particles tReset = omp_get_wtime() !$OMP END SINGLE diff --git a/src/makefile b/src/makefile index 3a6d68a..9022723 100644 --- a/src/makefile +++ b/src/makefile @@ -4,6 +4,7 @@ OBJECTS = $(OBJDIR)/moduleMesh.o $(OBJDIR)/moduleMeshBoundary.o $(OBJDIR)/module $(OBJDIR)/moduleBoundary.o $(OBJDIR)/moduleCaseParam.o $(OBJDIR)/moduleRefParam.o \ $(OBJDIR)/moduleCollisions.o $(OBJDIR)/moduleTable.o $(OBJDIR)/moduleParallel.o \ $(OBJDIR)/moduleEM.o $(OBJDIR)/moduleRandom.o $(OBJDIR)/moduleMath.o \ + $(OBJDIR)/moduleProbe.o \ $(OBJDIR)/moduleMeshInputGmsh2.o $(OBJDIR)/moduleMeshOutputGmsh2.o \ $(OBJDIR)/moduleMeshInput0D.o $(OBJDIR)/moduleMeshOutput0D.o \ $(OBJDIR)/moduleMesh3DCart.o \ diff --git a/src/modules/makefile b/src/modules/makefile index cea6d73..7f54dae 100644 --- a/src/modules/makefile +++ b/src/modules/makefile @@ -2,7 +2,8 @@ OBJS = moduleCaseParam.o moduleCompTime.o moduleList.o \ moduleOutput.o moduleInput.o moduleSolver.o \ moduleCollisions.o moduleTable.o moduleParallel.o \ - moduleEM.o moduleRandom.o moduleMath.o + moduleEM.o moduleRandom.o moduleMath.o \ + moduleProbe.o all: $(OBJS) mesh.o @@ -12,7 +13,7 @@ mesh.o: moduleCollisions.o moduleBoundary.o moduleMath.o moduleCollisions.o: moduleRandom.o moduleTable.o moduleSpecies.o moduleRefParam.o moduleConstParam.o moduleCollisions.f90 $(FC) $(FCFLAGS) -c $(subst .o,.f90,$@) -o $(OBJDIR)/$@ -moduleInput.o: moduleParallel.o moduleRefParam.o moduleCaseParam.o moduleSolver.o moduleInject.o moduleBoundary.o moduleErrors.o moduleSpecies.o moduleInput.f90 +moduleInput.o: moduleParallel.o moduleRefParam.o moduleCaseParam.o moduleSolver.o moduleInject.o moduleBoundary.o moduleErrors.o moduleSpecies.o moduleProbe.o moduleInput.f90 $(FC) $(FCFLAGS) -c $(subst .o,.f90,$@) -o $(OBJDIR)/$@ moduleInject.o: moduleRandom.o moduleSpecies.o moduleSolver.o moduleInject.f90 diff --git a/src/modules/moduleInput.f90 b/src/modules/moduleInput.f90 index 19255dd..d97f92c 100644 --- a/src/modules/moduleInput.f90 +++ b/src/modules/moduleInput.f90 @@ -60,6 +60,11 @@ MODULE moduleInput CALL readGeometry(config) CALL checkStatus(config, "readGeometry") + !Read probes + CALL verboseError('Reading Probes...') + CALL readProbes(config) + CALL checkStatus(config, 'readProbes') + !Read initial state for species CALL verboseError('Reading Initial state...') CALL readInitial(config) @@ -903,6 +908,47 @@ MODULE moduleInput END SUBROUTINE readGeometry + SUBROUTINE readProbes(config) + USE moduleProbe + USE moduleErrors + USE json_module + IMPLICIT NONE + + TYPE(json_file), INTENT(inout):: config + CHARACTER(:), ALLOCATABLE:: object + LOGICAL:: found + CHARACTER(2):: istring + INTEGER:: i + CHARACTER(:), ALLOCATABLE:: speciesName + REAL(8), ALLOCATABLE, DIMENSION(:):: r + REAL(8), ALLOCATABLE, DIMENSION(:):: v1, v2, v3 + INTEGER, ALLOCATABLE, DIMENSION(:):: points + REAL(8):: timeStep + + CALL config%info('output.probes', found, n_children = nProbes) + + IF (found) ALLOCATE(probe(1:nProbes)) + + DO i = 1, nProbes + WRITE(iString, '(I2)') i + object = 'output.probes(' // trim(istring) // ')' + + CALL config%get(object // '.species', speciesName, found) + CALL config%get(object // '.position', r, found) + CALL config%get(object // '.velocity_1', v1, found) + CALL config%get(object // '.velocity_2', v2, found) + CALL config%get(object // '.velocity_3', v3, found) + CALL config%get(object // '.points', points, found) + CALL config%get(object // '.timeStep', timeStep, found) + + IF (ANY(points < 2)) CALL criticalError("Number of points in probe " // iString // " incorrect", 'readProbes') + + CALL probe(i)%init(i, speciesName, r, v1, v2, v3, points, timeStep) + + END DO + + END SUBROUTINE readProbes + SUBROUTINE readEMBoundary(config) USE moduleMesh USE moduleOutput @@ -926,7 +972,7 @@ MODULE moduleInput IF (found) ALLOCATE(boundEM(1:nBoundaryEM)) DO i = 1, nBoundaryEM - WRITE(istring, '(i2)') i + WRITE(istring, '(I2)') i object = 'boundaryEM(' // trim(istring) // ')' CALL config%get(object // '.type', boundEM(i)%typeEM, found) diff --git a/src/modules/moduleProbe.f90 b/src/modules/moduleProbe.f90 new file mode 100644 index 0000000..26d62c8 --- /dev/null +++ b/src/modules/moduleProbe.f90 @@ -0,0 +1,239 @@ +MODULE moduleProbe + USE moduleMesh + USE moduleSpecies + + TYPE:: probeDistFunc + INTEGER:: id + REAL(8), DIMENSION(1:3):: r + CLASS(meshVol), POINTER:: cell + CLASS(speciesGeneric), POINTER:: species + REAL(8), ALLOCATABLE, DIMENSION(:):: vi, vj, vk + REAL(8), ALLOCATABLE, DIMENSION(:,:,:):: f + INTEGER, DIMENSION(1:3):: nv + REAL(8), DIMENSION(1:3):: vrange + REAL(8):: dvInv + INTEGER:: every + CONTAINS + PROCEDURE, PASS:: init + PROCEDURE, PASS:: findLowerIndex + PROCEDURE, PASS:: calculate + PROCEDURE, PASS:: output + + END TYPE probeDistFunc + + INTEGER:: nProbes = 0 + TYPE(probeDistFunc), ALLOCATABLE:: probe(:) + + CONTAINS + !Functions for probeDistFunc type + SUBROUTINE init(self, id, speciesName, r, v1, v2, v3, points, timeStep) + USE moduleCaseParam + USE moduleRefParam + USE moduleSpecies + USE moduleMesh + USE moduleErrors + IMPLICIT NONE + + CLASS(probeDistFunc), INTENT(out):: self + INTEGER, INTENT(in):: id + CHARACTER(:), ALLOCATABLE, INTENT(in):: speciesName + REAL(8), INTENT(in):: r(1:3) + REAL(8), INTENT(in):: v1(1:2), v2(1:2), v3(1:2) + INTEGER, INTENT(in):: points(1:3) + REAL(8), INTENT(in):: timeStep + INTEGER:: sp, e, i + REAL(8):: dv(1:3) + + !Assign id + self%id = id + + !Get species + sp = speciesName2Index(speciesName) + self%species => species(sp)%obj + + !Find cell + self%r = r/L_ref + e = findCellBrute(mesh, self%r) + IF (e == 0) CALL criticalError("No cell found for position in probe", 'init') + self%cell => mesh%vols(e)%obj + + !Allocates velocity grid + self%nv = points + ALLOCATE(self%vi(1:self%nv(1))) + ALLOCATE(self%vj(1:self%nv(2))) + ALLOCATE(self%vk(1:self%nv(3))) + + !Creates grid + dv(1) = (v1(2) - v1(1))/REAL(self%nv(1) - 1)/v_ref + dv(2) = (v2(2) - v2(1))/REAL(self%nv(2) - 1)/v_ref + dv(3) = (v3(2) - v3(1))/REAL(self%nv(3) - 1)/v_ref + + self%dvInv = 1.D0/(dv(1)*dv(2)*dv(3)) + + DO i = 1, self%nv(1) + self%vi(i) = dv(1)*REAL(i - 1) + v1(1)/v_ref + + END DO + + DO i = 1, self%nv(2) + self%vj(i) = dv(2)*REAL(i - 1) + v2(1)/v_ref + + END DO + + DO i = 1, self%nv(3) + self%vk(i) = dv(3)*REAL(i - 1) + v3(1)/v_ref + + END DO + + self%vrange(1) = self%vi(self%nv(1)) - self%vi(1) + self%vrange(2) = self%vj(self%nv(2)) - self%vj(1) + self%vrange(3) = self%vk(self%nv(3)) - self%vk(1) + + !Allocates distribution function + ALLOCATE(self%f(1:self%nv(1), & + 1:self%nv(2), & + 1:self%nv(3))) + + !Number of iterations between output + self%every = NINT(timeStep/ tauMin / ti_ref) + + END SUBROUTINE init + + SUBROUTINE findLowerIndex(self, vp, i, j, k, inside) + IMPLICIT NONE + + CLASS(probeDistFunc), INTENT(in):: self + REAL(8), INTENT(in):: vp(1:3) + INTEGER, INTENT(out):: i, j, k + LOGICAL, INTENT(out):: inside + + i = FLOOR((vp(1) - self%vi(1))/self%vrange(1)*(REAL(self%nv(1) - 1)) + 1.D0) + IF (i >= self%nv(1) .OR. i < 1) inside = .FALSE. + j = FLOOR((vp(2) - self%vj(1))/self%vrange(2)*(REAL(self%nv(2) - 1)) + 1.D0) + IF (j >= self%nv(2) .OR. j < 1) inside = .FALSE. + k = FLOOR((vp(3) - self%vk(1))/self%vrange(3)*(REAL(self%nv(3) - 1)) + 1.D0) + IF (k >= self%nv(3) .OR. k < 1) inside = .FALSE. + + END SUBROUTINE findLowerIndex + + SUBROUTINE calculate(self) + USE moduleSpecies + USE moduleList + IMPLICIT NONE + + CLASS(probeDistFunc), INTENT(inout):: self + TYPE(particle), POINTER:: part + TYPE(lNode), POINTER:: node + INTEGER:: i, j, k + LOGICAL:: inside + REAL(8):: fi, fi1 + REAL(8):: fj, fj1 + REAL(8):: fk, fk1 + + !Reset distribution function + self%f = 0.D0 + + !Loop over particles in cell + node => self%cell%listPart_in%head + DO WHILE(ASSOCIATED(node)) + + !Selects particle on list + part => node%part + + !If particle is of desired type, include in the distribution function + IF (part%species%n == self%species%n) THEN + !find lower index for all dimensions + CALL self%findLowerIndex(part%v, i, j, k, inside) + + !If particle is inside the velocity grid, add it to the distribution function + IF (inside) THEN + !Calculate weights + fi = self%vi(i+1) - part%v(1) + fi1 = part%v(1) - self%vi(i) + fj = self%vj(j+1) - part%v(2) + fj1 = part%v(2) - self%vj(j) + fk = self%vk(k+1) - part%v(3) + fk1 = part%v(3) - self%vk(k) + + !Assign particle weight to distribution function + self%f(i , j , k ) = fi * fj * fk * part%weight + self%f(i+1, j , k ) = fi1 * fj * fk * part%weight + self%f(i , j+1, k ) = fi * fj1 * fk * part%weight + self%f(i+1, j+1, k ) = fi1 * fj1 * fk * part%weight + self%f(i , j , k+1) = fi * fj * fk1 * part%weight + self%f(i+1, j , k+1) = fi1 * fj * fk1 * part%weight + self%f(i , j+1, k+1) = fi * fj1 * fk1 * part%weight + self%f(i+1, j+1, k+1) = fi1 * fj1 * fk1 * part%weight + + END IF + + END IF + + !Move to next particle in the list + node => node%next + + END DO + + !Divide by the velocity cube volume + self%f = self%f * self%dvInv + + END SUBROUTINE calculate + + SUBROUTINE output(self, t) + USE moduleOutput + USE moduleRefParam + IMPLICIT NONE + + CLASS(probeDistFunc), INTENT(in):: self + INTEGER, INTENT(in):: t + CHARACTER (LEN=iterationDigits):: tstring + CHARACTER (LEN=3):: pstring + CHARACTER(:), ALLOCATABLE:: filename + INTEGER:: i, j, k + + WRITE(tstring, iterationFormat) t + WRITE(pstring, "(I3.3)") self%id + fileName='OUTPUT_' // tstring// '_f_' // pstring // '.dat' + WRITE(*, "(6X,A15,A)") "Creating file: ", fileName + OPEN (10, file = path // folder // '/' // fileName) + WRITE(10, "(A1, 1X, A)") "# ", self%species%name + WRITE(10, "(A6, 3(ES15.6E3), A2)") "# r = ", self%r(:)*L_ref, " m" + WRITE(10, "(A6, ES15.6E3, A2)") "# t = ", REAL(t)*tauMin*ti_ref, " s" + WRITE(10, "(A1, A19, 3(A20))") "#", "v1 (m s^-1)", "v2 (m s^-1)", "v3 (m s^-1)", "f" + DO i = 1, self%nv(1) + DO j = 1, self%nv(2) + DO k = 1, self%nv(3) + WRITE(10, "(4(ES20.6E3))") self%vi(i)*v_ref, & + self%vj(j)*v_ref, & + self%vk(k)*v_ref, & + self%f(i, j, k) + + END DO + WRITE(10, *) + + END DO + + END DO + + CLOSE(10) + + END SUBROUTINE output + + SUBROUTINE doProbes(t) + IMPLICIT NONE + + INTEGER, INTENT(in):: t + INTEGER:: i + + DO i = 1, SIZE(probe) + IF (MOD(t, probe(i)%every) == 0 .OR. t == tFinal) THEN + CALL probe(i)%calculate() + CALL probe(i)%output(t) + + END IF + + END DO + + END SUBROUTINE doProbes + +END MODULE moduleProbe