From d2b36632c9913ad0bdc247edb4c1d4e2e390e948 Mon Sep 17 00:00:00 2001 From: Jorge Gonzalez Date: Mon, 12 Apr 2021 18:54:33 +0200 Subject: [PATCH 1/4] Implementation of 0D grid for analysis of collisional operators. Still need to add a 0D pusher and the corresponding input configuration and documentation. --- src/modules/mesh/0D/makefile | 5 + src/modules/mesh/0D/moduleMesh0D.f90 | 181 ++++++++++++++++++ src/modules/mesh/inout/0D/makefile | 7 + .../mesh/inout/0D/moduleMeshInput0D.f90 | 66 +++++++ .../mesh/inout/0D/moduleMeshOutput0D.f90 | 61 ++++++ .../mesh/inout/gmsh2/moduleMeshInputGmsh2.f90 | 1 + .../inout/gmsh2/moduleMeshOutputGmsh2.f90 | 2 +- src/modules/mesh/inout/makefile | 5 +- src/modules/mesh/makefile | 7 +- src/modules/mesh/moduleMesh.f90 | 3 +- src/modules/moduleInput.f90 | 5 +- src/modules/moduleOutput.f90 | 9 +- 12 files changed, 339 insertions(+), 13 deletions(-) create mode 100644 src/modules/mesh/0D/makefile create mode 100644 src/modules/mesh/0D/moduleMesh0D.f90 create mode 100644 src/modules/mesh/inout/0D/makefile create mode 100644 src/modules/mesh/inout/0D/moduleMeshInput0D.f90 create mode 100644 src/modules/mesh/inout/0D/moduleMeshOutput0D.f90 diff --git a/src/modules/mesh/0D/makefile b/src/modules/mesh/0D/makefile new file mode 100644 index 0000000..9dcba7e --- /dev/null +++ b/src/modules/mesh/0D/makefile @@ -0,0 +1,5 @@ +all: moduleMesh0D.o + +moduleMesh0D.o: moduleMesh0D.f90 + $(FC) $(FCFLAGS) -c $(subst .o,.f90,$@) -o $(OBJDIR)/$@ + diff --git a/src/modules/mesh/0D/moduleMesh0D.f90 b/src/modules/mesh/0D/moduleMesh0D.f90 new file mode 100644 index 0000000..3b84448 --- /dev/null +++ b/src/modules/mesh/0D/moduleMesh0D.f90 @@ -0,0 +1,181 @@ +!moduleMesh1D: 0D mesh. No coordinates are relevant. No edges are used +MODULE moduleMesh0D + USE moduleMesh + IMPLICIT NONE + + TYPE, PUBLIC, EXTENDS(meshNode):: meshNode0D + INTEGER:: n1 + CONTAINS + PROCEDURE, PASS:: init => initNode0D + PROCEDURE, PASS:: getCoordinates => getCoord0D + + END TYPE meshNode0D + + TYPE, PUBLIC, EXTENDS(meshVol):: meshVol0D + CLASS(meshNode), POINTER:: n1 + CONTAINS + PROCEDURE, PASS:: init => initVol0D + PROCEDURE, PASS:: getNodes => getNodes0D + PROCEDURE, PASS:: randPos => randPos0D + PROCEDURE, PASS:: scatter => scatter0D + PROCEDURE, PASS:: gatherEF => gatherEF0D + PROCEDURE, PASS:: elemK => elemK0D + PROCEDURE, PASS:: elemF => elemF0D + PROCEDURE, PASS:: phy2log => phy2log0D + PROCEDURE, NOPASS:: inside => inside0D + PROCEDURE, PASS:: nextElement => nextElement0D + + END TYPE meshVol0D + + CONTAINS + !NODE FUNCTIONS + !Init node + SUBROUTINE initNode0D(self, n, r) + IMPLICIT NONE + + CLASS(meshNode0D), INTENT(out):: self + INTEGER, INTENT(in):: n + REAL(8), INTENT(in):: r(1:3) !Unused variable + + self%n = n + + END SUBROUTINE initNode0D + + !Get node coordinates + PURE FUNCTION getCoord0D(self) RESULT(r) + IMPLICIT NONE + + CLASS(meshNode0D), INTENT(in):: self + REAL(8):: r(1:3) + + r = 0.D0 + + END FUNCTION + + !VOLUME FUNCTIONS + !Inits dummy 0D volume + SUBROUTINE initVol0D(self, n, p, nodes) + USE moduleRefParam + IMPLICIT NONE + + CLASS(meshVol0D), INTENT(out):: self + INTEGER, INTENT(in):: n + INTEGER, INTENT(in):: p(:) + TYPE(meshNodeCont), INTENT(in), TARGET:: nodes(:) + + self%n = n + + self%n1 => nodes(p(1))%obj + self%volume = 1.D0 + self%n1%v = 1.D0 + + self%sigmaVrelMax = sigma_ref/L_ref**2 + + CALL OMP_INIT_LOCK(self%lock) + + END SUBROUTINE initVol0D + + PURE FUNCTION getNodes0D(self) RESULT(n) + IMPLICIT NONE + + CLASS(meshVol0D), INTENT(in):: self + INTEGER, ALLOCATABLE:: n(:) + + END FUNCTION getNodes0D + + FUNCTION randPos0D(self) RESULT(r) + IMPLICIT NONE + + CLASS(meshVol0D), INTENT(in):: self + REAL(8):: r(1:3) + + r = 0.D0 + + END FUNCTION randPos0D + + SUBROUTINE scatter0D(self, part) + USE moduleMath + USE moduleSpecies + IMPLICIT NONE + + CLASS(meshVol0D), INTENT(in):: self + CLASS(particle), INTENT(in):: part + REAL(8):: tensorS(1:3,1:3) + TYPE(outputNode), POINTER:: vertex + + tensorS = outerProduct(part%v, part%v) + + vertex => self%n1%output(part%species%n) + vertex%den = vertex%den + part%weight + vertex%mom(:) = vertex%mom(:) + part%weight*part%v(:) + vertex%tensorS(:,:) = vertex%tensorS(:,:) + part%weight*tensorS + + END SUBROUTINE scatter0D + + PURE FUNCTION gatherEF0D(self, xi) RESULT(EF) + IMPLICIT NONE + + CLASS(meshVol0D), INTENT(in):: self + REAL(8), INTENT(in):: xi(1:3) + REAL(8):: EF(1:3) + + EF = 0.D0 + + END FUNCTION gatherEF0D + + PURE FUNCTION elemK0D(self) RESULT(localK) + IMPLICIT NONE + + CLASS(meshVol0D), INTENT(in):: self + REAL(8), ALLOCATABLE:: localK(:,:) + + ALLOCATE(localK(1:1, 1:1)) + localK = 0.D0 + + END FUNCTION elemK0D + + PURE FUNCTION elemF0D(self, source) RESULT(localF) + IMPLICIT NONE + + CLASS(meshVol0D), INTENT(in):: self + REAL(8), INTENT(in):: source(1:) + REAL(8), ALLOCATABLE:: localF(:) + + ALLOCATE(localF(1:1)) + localF = 0.D0 + + END FUNCTION elemF0D + + PURE FUNCTION phy2log0D(self,r) RESULT(xN) + IMPLICIT NONE + + CLASS(meshVol0D), INTENT(in):: self + REAL(8), INTENT(in):: r(1:3) + REAL(8):: xN(1:3) + + xN = 0.D0 + + END FUNCTION phy2log0D + + PURE FUNCTION inside0D(xi) RESULT(ins) + IMPLICIT NONE + + REAL(8), INTENT(in):: xi(1:3) + LOGICAL:: ins + + ins = .TRUE. + + END FUNCTION inside0D + + SUBROUTINE nextElement0D(self, xi, nextElement) + IMPLICIT NONE + + CLASS(meshVol0D), INTENT(in):: self + REAL(8), INTENT(in):: xi(1:3) + CLASS(meshElement), POINTER, INTENT(out):: nextElement + + nextElement => NULL() + + END SUBROUTINE nextElement0D + +END MODULE moduleMesh0D diff --git a/src/modules/mesh/inout/0D/makefile b/src/modules/mesh/inout/0D/makefile new file mode 100644 index 0000000..4bf91b7 --- /dev/null +++ b/src/modules/mesh/inout/0D/makefile @@ -0,0 +1,7 @@ +all: moduleMeshInput0D.o moduleMeshOutput0D.o + +moduleMeshInput0D.o: moduleMeshOutput0D.o moduleMeshInput0D.f90 + $(FC) $(FCFLAGS) -c $(subst .o,.f90,$@) -o $(OBJDIR)/$@ + +%.o: %.f90 + $(FC) $(FCFLAGS) -c $< -o $(OBJDIR)/$@ diff --git a/src/modules/mesh/inout/0D/moduleMeshInput0D.f90 b/src/modules/mesh/inout/0D/moduleMeshInput0D.f90 new file mode 100644 index 0000000..678671a --- /dev/null +++ b/src/modules/mesh/inout/0D/moduleMeshInput0D.f90 @@ -0,0 +1,66 @@ +MODULE moduleMeshInput0D + !Creates a 0D mesh. mostly used for testing collisional processes. + !This mesh consists on 1 node and 1 volume in which all particles are located. + !No boundary conditions and no pusher should be applied to this geometry. + !Output should go to a single file (per species) in which each row represents an iteration. + !In principle, no EM field is applied. + + CONTAINS + !Inits the 0D mesh + SUBROUTINE init0D(self) + USE moduleMesh + USE moduleMeshOutput0D + IMPLICIT NONE + + CLASS(meshGeneric), INTENT(inout), TARGET:: self + + IF (ASSOCIATED(meshForMCC, self)) self%printColl => printColl0D + SELECT TYPE(self) + TYPE IS(meshParticles) + self%printOutput => printOutput0D + self%printEM => printEM0D + + END SELECT + self%readMesh => read0D + + END SUBROUTINE init0D + + !Reads a 0D mesh file. + !No reading is actually done as the 0D mesh is a fixed one + SUBROUTINE read0D(self, filename) + USE moduleMesh + USE moduleMesh0D + IMPLICIT NONE + + CLASS(meshGeneric), INTENT(inout):: self + CHARACTER(:), ALLOCATABLE, INTENT(in):: filename !Dummy file, not used + REAL(8):: r(1:3) + + !Allocates one node + self%numNodes = 1 + ALLOCATE(self%nodes(1:1)) + !Allocates one volume + self%numVols = 1 + ALLOCATE(self%vols(1:1)) + !Allocates matrix K + SELECT TYPE(self) + TYPE IS(meshParticles) + ALLOCATE(self%K(1:1, 1:1)) + ALLOCATE(self%IPIV(1:1, 1:1)) + self%K = 0.D0 + self%IPIV = 0.D0 + + END SELECT + + !Creates the node + ALLOCATE(meshNode0D:: self%nodes(1)%obj) + r = 0.D0 + CALL self%nodes(1)%obj%init(1, r) + + !Creates the volume + ALLOCATE(meshVol0D:: self%vols(1)%obj) + CALL self%vols(1)%obj%init(1, (/ 1/), self%nodes) + + END SUBROUTINE read0D + +END MODULE moduleMeshInput0D diff --git a/src/modules/mesh/inout/0D/moduleMeshOutput0D.f90 b/src/modules/mesh/inout/0D/moduleMeshOutput0D.f90 new file mode 100644 index 0000000..6e490b4 --- /dev/null +++ b/src/modules/mesh/inout/0D/moduleMeshOutput0D.f90 @@ -0,0 +1,61 @@ +MODULE moduleMeshOutput0D + + CONTAINS + SUBROUTINE printOutput0D(self, t) + USE moduleMesh + USE moduleRefParam + USE moduleSpecies + USE moduleOutput + IMPLICIT NONE + + CLASS(meshParticles), INTENT(in):: self + INTEGER, INTENT(in):: t + INTEGER:: i + TYPE(outputFormat):: output + CHARACTER(:), ALLOCATABLE:: fileName + + DO i = 1, nSpecies + fileName='OUTPUT_' // species(i)%obj%name // '.dat' + IF (t == 0) THEN + OPEN(20, file = path // folder // '/' // fileName, action = 'write') + WRITE(20, "(A1, 8X, A1, 6(A20))") "#","t","density", "velocity", "pressure", "temperature" + WRITE(*, "(6X,A15,A)") "Creating file: ", fileName + CLOSE(20) + + END IF + + OPEN(20, file = path // folder // '/' // fileName, position = 'append', action = 'write') + CALL calculateOutput(self%nodes(1)%obj%output(i), output, self%nodes(1)%obj%v, species(i)%obj) + WRITE(20, "(I10, 6(ES20.6E3))") t, output%density, output%velocity, output%pressure, output%temperature + CLOSE(20) + + END DO + + END SUBROUTINE printOutput0D + + SUBROUTINE printColl0D(self, t) + USE moduleMesh + USE moduleRefParam + USE moduleCaseParam + USE moduleCollisions + USE moduleOutput + IMPLICIT NONE + + CLASS(meshGeneric), INTENT(in):: self + INTEGER, INTENT(in):: t + + END SUBROUTINE printColl0D + + SUBROUTINE printEM0D(self, t) + USE moduleMesh + USE moduleRefParam + USE moduleCaseParam + USE moduleOutput + IMPLICIT NONE + + CLASS(meshParticles), INTENT(in):: self + INTEGER, INTENT(in):: t + + END SUBROUTINE printEM0D + +END MODULE moduleMeshOutput0D diff --git a/src/modules/mesh/inout/gmsh2/moduleMeshInputGmsh2.f90 b/src/modules/mesh/inout/gmsh2/moduleMeshInputGmsh2.f90 index 59d7064..629a6f2 100644 --- a/src/modules/mesh/inout/gmsh2/moduleMeshInputGmsh2.f90 +++ b/src/modules/mesh/inout/gmsh2/moduleMeshInputGmsh2.f90 @@ -1,4 +1,5 @@ MODULE moduleMeshInputGmsh2 + !Reads a mesh in the Gmsh v2.0 format CONTAINS !Inits a mesh to use Gmsh2 format diff --git a/src/modules/mesh/inout/gmsh2/moduleMeshOutputGmsh2.f90 b/src/modules/mesh/inout/gmsh2/moduleMeshOutputGmsh2.f90 index bec5449..43b1ef8 100644 --- a/src/modules/mesh/inout/gmsh2/moduleMeshOutputGmsh2.f90 +++ b/src/modules/mesh/inout/gmsh2/moduleMeshOutputGmsh2.f90 @@ -96,8 +96,8 @@ MODULE moduleMeshOutputGmsh2 IMPLICIT NONE CLASS(meshGeneric), INTENT(in):: self - INTEGER:: numEdges INTEGER, INTENT(in):: t + INTEGER:: numEdges INTEGER:: n REAL(8):: time CHARACTER(:), ALLOCATABLE:: fileName diff --git a/src/modules/mesh/inout/makefile b/src/modules/mesh/inout/makefile index 7817608..2f73e73 100644 --- a/src/modules/mesh/inout/makefile +++ b/src/modules/mesh/inout/makefile @@ -1,4 +1,7 @@ -all: gmsh2.o +all: gmsh2.o 0D.o gmsh2.o: $(MAKE) -C gmsh2 all + +0D.o: + $(MAKE) -C 0D all diff --git a/src/modules/mesh/makefile b/src/modules/mesh/makefile index 0adc8f6..a013878 100644 --- a/src/modules/mesh/makefile +++ b/src/modules/mesh/makefile @@ -1,4 +1,4 @@ -all: moduleMesh.o moduleMeshBoundary.o inout.o 3DCart.o 2DCyl.o 2DCart.o 1DRad.o 1DCart.o +all: moduleMesh.o moduleMeshBoundary.o inout.o 3DCart.o 2DCyl.o 2DCart.o 1DRad.o 1DCart.o 0D.o 3DCart.o: moduleMesh.o $(MAKE) -C 3DCart all @@ -15,11 +15,14 @@ all: moduleMesh.o moduleMeshBoundary.o inout.o 3DCart.o 2DCyl.o 2DCart.o 1DRad.o 1DRad.o: moduleMesh.o $(MAKE) -C 1DRad all +0D.o: moduleMesh.o + $(MAKE) -C 0D all + moduleMesh.o: moduleMesh.f90 $(FC) $(FCFLAGS) -c $(subst .o,.f90,$@) -o $(OBJDIR)/$@ moduleMeshBoundary.o: moduleMesh.o moduleMeshBoundary.f90 $(FC) $(FCFLAGS) -c $(subst .o,.f90,$@) -o $(OBJDIR)/$@ -inout.o: 3DCart.o 2DCyl.o 2DCart.o 1DRad.o 1DCart.o +inout.o: 3DCart.o 2DCyl.o 2DCart.o 1DRad.o 1DCart.o 0D.o $(MAKE) -C inout all diff --git a/src/modules/mesh/moduleMesh.f90 b/src/modules/mesh/moduleMesh.f90 index 8ddee60..53fa341 100644 --- a/src/modules/mesh/moduleMesh.f90 +++ b/src/modules/mesh/moduleMesh.f90 @@ -193,7 +193,6 @@ MODULE moduleMesh END SUBROUTINE scatter_interface PURE FUNCTION gatherEF_interface(self, xi) RESULT(EF) - IMPORT:: meshVol CLASS(meshVol), INTENT(in):: self REAL(8), INTENT(in):: xi(1:3) @@ -655,7 +654,7 @@ MODULE moduleMesh END SUBROUTINE doCollisions SUBROUTINE doCoulomb(self) - IMPORT meshParticles + IMPLICIT NONE CLASS(meshParticles), INTENT(inout):: self diff --git a/src/modules/moduleInput.f90 b/src/modules/moduleInput.f90 index 9d9de19..46c4421 100644 --- a/src/modules/moduleInput.f90 +++ b/src/modules/moduleInput.f90 @@ -779,8 +779,11 @@ MODULE moduleInput CASE("1DCart") mesh%connectMesh => connectMesh1DCart + CASE("0D") + mesh%connectMesh => NULL() + END SELECT - CALL mesh%connectMesh + IF (ASSOCIATED(mesh%connectMesh)) CALL mesh%connectMesh IF (doubleMesh) THEN meshColl%connectMesh => mesh%connectMesh diff --git a/src/modules/moduleOutput.f90 b/src/modules/moduleOutput.f90 index a9efdc4..89df330 100644 --- a/src/modules/moduleOutput.f90 +++ b/src/modules/moduleOutput.f90 @@ -98,17 +98,14 @@ MODULE moduleOutput OPEN(20, file = path // folder // '/' // fileName, action = 'write') WRITE(20, "(A1, 8X, A1, 9X, A1, 6(A20))") "#","t","n","total","push","reset","collision","weighting","EMField" WRITE(*, "(6X,A15,A)") "Creating file: ", fileName - - ELSE + CLOSE(20) END IF - OPEN(20, file = path // folder // '/' // fileName, position = 'append', action = 'write') - - ELSE - OPEN(20, file = path // folder // '/' // fileName, position = 'append', action = 'write') END IF + OPEN(20, file = path // folder // '/' // fileName, position = 'append', action = 'write') + WRITE (20, "(I10, I10, 7(ES20.6E3))") t, nPartOld, tStep, tPush, tReset, tColl, tCoul, tWeight, tEMField CLOSE(20) From f1d74d954c2131a5406872482a60342b4a7b80b4 Mon Sep 17 00:00:00 2001 From: Jorge Gonzalez Date: Tue, 13 Apr 2021 17:40:33 +0200 Subject: [PATCH 2/4] Implementation of 0D dummy pusher and modifications to input parameters to allow 0D runs. --- src/makefile | 5 ++++- src/modules/mesh/0D/moduleMesh0D.f90 | 7 +++++++ src/modules/moduleInput.f90 | 4 ++++ src/modules/moduleSolver.f90 | 14 ++++++++++++++ 4 files changed, 29 insertions(+), 1 deletion(-) diff --git a/src/makefile b/src/makefile index 75795c8..3a6d68a 100644 --- a/src/makefile +++ b/src/makefile @@ -5,11 +5,14 @@ OBJECTS = $(OBJDIR)/moduleMesh.o $(OBJDIR)/moduleMeshBoundary.o $(OBJDIR)/module $(OBJDIR)/moduleCollisions.o $(OBJDIR)/moduleTable.o $(OBJDIR)/moduleParallel.o \ $(OBJDIR)/moduleEM.o $(OBJDIR)/moduleRandom.o $(OBJDIR)/moduleMath.o \ $(OBJDIR)/moduleMeshInputGmsh2.o $(OBJDIR)/moduleMeshOutputGmsh2.o \ + $(OBJDIR)/moduleMeshInput0D.o $(OBJDIR)/moduleMeshOutput0D.o \ $(OBJDIR)/moduleMesh3DCart.o \ $(OBJDIR)/moduleMesh2DCyl.o \ $(OBJDIR)/moduleMesh2DCart.o \ $(OBJDIR)/moduleMesh1DRad.o \ - $(OBJDIR)/moduleMesh1DCart.o + $(OBJDIR)/moduleMesh1DCart.o \ + $(OBJDIR)/moduleMesh0D.o + all: $(OUTPUT) diff --git a/src/modules/mesh/0D/moduleMesh0D.f90 b/src/modules/mesh/0D/moduleMesh0D.f90 index 3b84448..bc86719 100644 --- a/src/modules/mesh/0D/moduleMesh0D.f90 +++ b/src/modules/mesh/0D/moduleMesh0D.f90 @@ -31,6 +31,7 @@ MODULE moduleMesh0D !NODE FUNCTIONS !Init node SUBROUTINE initNode0D(self, n, r) + USE moduleSpecies IMPLICIT NONE CLASS(meshNode0D), INTENT(out):: self @@ -39,6 +40,8 @@ MODULE moduleMesh0D self%n = n + ALLOCATE(self%output(1:nSpecies)) + END SUBROUTINE initNode0D !Get node coordinates @@ -81,6 +84,10 @@ MODULE moduleMesh0D CLASS(meshVol0D), INTENT(in):: self INTEGER, ALLOCATABLE:: n(:) + ALLOCATE(n(1:1)) + + n = self%n1%n + END FUNCTION getNodes0D FUNCTION randPos0D(self) RESULT(r) diff --git a/src/modules/moduleInput.f90 b/src/modules/moduleInput.f90 index 46c4421..5272206 100644 --- a/src/modules/moduleInput.f90 +++ b/src/modules/moduleInput.f90 @@ -714,6 +714,7 @@ MODULE moduleInput SUBROUTINE readGeometry(config) USE moduleMesh USE moduleMeshInputGmsh2, ONLY: initGmsh2 + USE moduleMeshInput0D, ONLY: init0D USE moduleMesh3DCart, ONLY: connectMesh3DCart USE moduleMesh2DCyl, ONLY: connectMesh2DCyl USE moduleMesh2DCart, ONLY: connectMesh2DCart @@ -744,6 +745,9 @@ MODULE moduleInput CALL initGmsh2(mesh) IF (doubleMesh) CALL initGmsh2(meshColl) + CASE ("0D") + CALL init0D(mesh) + CASE DEFAULT CALL criticalError("Mesh format " // meshFormat // " not recogniced", "readGeometry") diff --git a/src/modules/moduleSolver.f90 b/src/modules/moduleSolver.f90 index 089ae71..84fa4e2 100644 --- a/src/modules/moduleSolver.f90 +++ b/src/modules/moduleSolver.f90 @@ -102,6 +102,9 @@ MODULE moduleSolver CASE('1DRadCharged') self%pushParticle => push1DRadCharged + CASE('0D') + self%pushParticle => push0D + CASE DEFAULT CALL criticalError('Pusher ' // pusherType // ' not found','initPusher') @@ -483,6 +486,17 @@ MODULE moduleSolver END SUBROUTINE push1DRadCharged + !Dummy pusher for 0D geometry + PURE SUBROUTINE push0D(part, tauIn) + USE moduleSpecies + USE moduleEM + IMPLICIT NONE + + TYPE(particle), INTENT(inout):: part + REAL(8), INTENT(in):: tauIn + + END SUBROUTINE push0D + SUBROUTINE doReset() USE moduleSpecies USE moduleMesh From a681b9f5331c0cb0e5e487551260ef1d200190c9 Mon Sep 17 00:00:00 2001 From: Jorge Gonzalez Date: Tue, 13 Apr 2021 21:48:44 +0200 Subject: [PATCH 3/4] 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. --- doc/user-manual/fpakc_UserManual.pdf | Bin 166920 -> 169523 bytes doc/user-manual/fpakc_UserManual.tex | 39 ++++++-- runs/0D_Argon/Argon+_Initial.dat | 2 + runs/0D_Argon/Argon_Initial.dat | 2 + runs/0D_Argon/input.json | 54 ++++++++++++ src/modules/mesh/0D/moduleMesh0D.f90 | 18 ++-- src/modules/mesh/1DCart/moduleMesh1DCart.f90 | 28 ++++-- src/modules/mesh/1DRad/moduleMesh1DRad.f90 | 28 ++++-- src/modules/mesh/2DCart/moduleMesh2DCart.f90 | 83 +++++++++++------- src/modules/mesh/2DCyl/moduleMesh2DCyl.f90 | 83 +++++++++++------- src/modules/mesh/3DCart/moduleMesh3DCart.f90 | 48 ++++++---- .../mesh/inout/0D/moduleMeshInput0D.f90 | 34 +++++++ .../mesh/inout/0D/moduleMeshOutput0D.f90 | 19 +++- .../mesh/inout/gmsh2/moduleMeshInputGmsh2.f90 | 1 - src/modules/mesh/moduleMesh.f90 | 2 + src/modules/moduleCollisions.f90 | 1 - src/modules/moduleInput.f90 | 16 +++- src/modules/moduleOutput.f90 | 4 +- 18 files changed, 348 insertions(+), 114 deletions(-) create mode 100644 runs/0D_Argon/Argon+_Initial.dat create mode 100644 runs/0D_Argon/Argon_Initial.dat create mode 100644 runs/0D_Argon/input.json diff --git a/doc/user-manual/fpakc_UserManual.pdf b/doc/user-manual/fpakc_UserManual.pdf index 8e8309bdecbb35d44ad50be138065e6f8295665a..b831bbaaed8512a866c49edfa1170d2422a88ea7 100644 GIT binary patch delta 107497 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�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
bg$%PASDqVklB@yZgIln&y`;$Mhffar(b~ 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
UI)5Ag8J8f&OhlaiIfWeLiAb?77fMBU%su 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

jCH*O=g?+v1Sf>Y!e?QsM}UlZJqBir#+ zJ4dqic?26oAkr*z5L?rni%0~p6Hzq?6r3;;q0Hd)5Fzd7iNdlYA8f7TsPXb+`>M;mUk#ORWwaUO4 zd~drJLlS|Hrs*9L+!ayDf#IhKsxc%yL@fv!q1p$)4hb;o-T{n4e7;s07^B{&07iSH z1bu_^0fE1Nn;a0N*@gjzhi_P^8o^WB2aqFB+XujiG#d)Q)^8MG{DB~edZz$qS%-vS7anT`kwo}ZxgG<`(D+w?;b^vcFrPHu4n&h{ z*E`%6T=vi5_}>W}30~yU7!r6dN2?6Dx1dpwNPR{H9RcAttsK=k2aG=!gQX7L!7UyL zt7!_8sBZzmI;L=QuN^@U0fF^NTb6p)0;ek^8c%Zq2k$p&dIv5isHX`|gF+>T1VoH4hA->aDG0E?7kPh9;J`~^s3R?)A)Ii7x-f<&KmeCZv{Q$s-G70C)UhfA79Em0 zJO`Hs80rHNPzFc64Fe3^_|Yf`@}ARRppo?$un+hyj^h9Rx?oTtuzxB+pdht}L*l`B z(bxx?_&+cb?UaBNn1ADm)e|@h#KY8=TtGvbdnF)8v%$d1P#^b@c-jLKC`-wLz0MXO z&@6QT0tB(t=L{I5o;%>*D9L}#| zP#=ocsKKonl@X%A>+h=wX^4`Hd2OXYbMStFrcx}eug79(gA3rTsf-g=oLUY^02lw1 zk-+^6LV)JrnxCd&U{32Xpdk6i6>yTm5~v3bR6+P3145);(Qx}TK{Pnb(wZJfg|sGQ zgvSZAv9hqXfdBk4A6O?;2&@x`uGXuI0wFwgI0IHN?b{jxxb3DbOLM9P^`ZW3VSkzj zE&-f?K)bqYbOM6lI}J3-VE=i5m5U}IhowH*v0YDC9 zy`h%FgHVSSqh7Wk+CWpB7raLQbrOWpf4$cq-NA91X3)T*r)>mJeOiS>8XBVpckydO zb&8JwH}oi)0Rp)gX_NuOO^bo!1@&m52_Vp<8U>JCgCc7V}DWZ+VR zl6oCX>c3e9sZnV*S8!Jer}tSe2eNg+u7!PVVF2OLWan^%AcBM9)KW#_)zmR+AVvmn_pn%1Ej&qi@BdeV@(SL=)56`;+ug<%WU~d|-@r3VNN66? GV*Y=drY!aV delta 105232 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

%6`4pYuSHudJ1Efdxu#8^e2H+^COKUEYBJ9D!MI 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%0DNFaL5W3_zI`vaySk>l_cX6w@7dYX!>|e3 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

feRka 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 diff --git a/doc/user-manual/fpakc_UserManual.tex b/doc/user-manual/fpakc_UserManual.tex index 3249d02..ae5455f 100644 --- a/doc/user-manual/fpakc_UserManual.tex +++ b/doc/user-manual/fpakc_UserManual.tex @@ -10,6 +10,7 @@ \usepackage[block=ragged,backend=bibtex]{biblatex} \usepackage[acronym,toc,automake]{glossaries} \usepackage[hidelinks]{hyperref} +\usepackage[version=4]{mhchem} \hypersetup{ breaklinks = true, % Allows break links in lines colorlinks = true, % Colours links instead of ugly boxes @@ -373,14 +374,22 @@ make \begin{itemize} \item \textbf{3DCart}: Three-dimensional grid ($x \hyphen y \hyphen z$) in Cartesian coordinates.. For \Gls{gmsh} mesh format, the coordinates $x$, $y$ and $z$ correspond to $x$, $y$ and $z$ respectively. - \item \textbf{2DCyl}: Two-dimensional grid ($z \hyphen r$) with symmetry axis at $r = 0$. - For \Gls{gmsh} mesh format, the coordinates $x$ and $y$ correspond to $z$ and $r$ respectively. + \item \textbf{2DCyl}: Two-dimensional grid ($z \hyphen r$) with symmetry axis at $r = 0$. + For \Gls{gmsh} mesh format, the coordinates $x$ and $y$ correspond to $z$ and $r$ respectively. \item \textbf{2DCart}: Two-dimensional grid ($x \hyphen y$) in Cartesian coordinates.. For \Gls{gmsh} mesh format, the coordinates $x$ and $y$ correspond to $x$ and $y$ respectively. - \item \textbf{1DRad}: One-dimensional grid ($r$) in radial coordinates - For \Gls{gmsh} mesh format, the coordinates $x$ corresponds to $r$. + \item \textbf{1DRad}: One-dimensional grid ($r$) in radial coordinates + For \Gls{gmsh} mesh format, the coordinates $x$ corresponds to $r$. \item \textbf{1DCart}: One-dimensional grid ($x$) in Cartesian coordinates For \Gls{gmsh} mesh format, the coordinates $x$ corresponds to $x$. + \item \textbf{0D}: Zero dimension ficticius volume. + Geometry used mostly to test collisional effects. + No boundary or EM field is solved. + No injection can be implemented. + Initial state must be read from file. + No mesh file is required. + The optional argument \textbf{geometry.volume} can be used to set a ficticius volume. + Otherwise, the volume is set to 1 in non-dimensional units. \end{itemize} \item \textbf{meshType}: Character. Format of mesh file. @@ -391,6 +400,10 @@ make \item \textbf{meshFile}: Character. Mesh filename. This file is searched in the path \textbf{output.path} and must contain the file extension. + \item \textbf{volume}: Real + Units of $\unit{m^-3}$. + Used to set a ficticius volume for the \textbf{0D} geometry. + Ignored in the other cases. \end{itemize} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -589,14 +602,16 @@ make \begin{itemize} \item \textbf{3DCartNeutral}: Pushes particles in a 3D Cartesian space ($x \hyphen y \hyphen z$) without any external force. \item \textbf{3DCartCharged}: Pushes particles in a 3D Cartesian space ($x \hyphen y \hyphen z$) including the effect of the electrostatic field. - \item \textbf{2DCylNeutral}: Pushes particles in a 2D cylindrical space ($z \hyphen r$) without any external force. - \item \textbf{2DCylCharged}: Pushes particles in a 2D cylindrical space ($z \hyphen r$) including the effect of the electrostatic field. + \item \textbf{2DCylNeutral}: Pushes particles in a 2D cylindrical space ($z \hyphen r$) without any external force. + \item \textbf{2DCylCharged}: Pushes particles in a 2D cylindrical space ($z \hyphen r$) including the effect of the electrostatic field. \item \textbf{2DCartNeutral}: Pushes particles in a 2D Cartesian space ($x \hyphen y$) without any external force. \item \textbf{2DCartCharged}: Pushes particles in a 2D Cartesian space ($x \hyphen y$) including the effect of the electrostatic field. - \item \textbf{1DRadNeutral}: Pushes particles in a 1D cylindrical space ($r$) without any external force. - \item \textbf{1DRadCharged}: Pushes particles in a 1D cylindrical space ($r$) accounting the the electrostatic field. + \item \textbf{1DRadNeutral}: Pushes particles in a 1D cylindrical space ($r$) without any external force. + \item \textbf{1DRadCharged}: Pushes particles in a 1D cylindrical space ($r$) accounting the the electrostatic field. \item \textbf{1DCartNeutral}: Pushes particles in a 1D Cartesian space ($x$) without any external force. \item \textbf{1DCartCharged}: Pushes particles in a 1D Cartesian space ($x$) accounting the the electrostatic field. + \item \textbf{0D}: Dummy pusher for 0D geometry. + No pushing is actually done. \end{itemize} \item \textbf{WeightingScheme}: Character. Indicates the variable weighting scheme to be used in the simulation. @@ -683,11 +698,19 @@ make \end{itemize} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \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. 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. 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 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% \section{ALPHIE Grid system (ALPHIE\_Grid)} diff --git a/runs/0D_Argon/Argon+_Initial.dat b/runs/0D_Argon/Argon+_Initial.dat new file mode 100644 index 0000000..75375d1 --- /dev/null +++ b/runs/0D_Argon/Argon+_Initial.dat @@ -0,0 +1,2 @@ + # t density velocity pressure temperature + 0 1.0E+16 0.0E+0 0.0E+0 0.0E+0 0 3000 diff --git a/runs/0D_Argon/Argon_Initial.dat b/runs/0D_Argon/Argon_Initial.dat new file mode 100644 index 0000000..8aa604f --- /dev/null +++ b/runs/0D_Argon/Argon_Initial.dat @@ -0,0 +1,2 @@ + # t density velocity pressure temperature + 0 1.0E+16 0.0E+0 0.0E+0 0.0E+0 0 300 diff --git a/runs/0D_Argon/input.json b/runs/0D_Argon/input.json new file mode 100644 index 0000000..8e62d2a --- /dev/null +++ b/runs/0D_Argon/input.json @@ -0,0 +1,54 @@ + +{ + "output": { + "path": "./runs/0D_test/", + "triggerOutput": 1, + "cpuTime": true, + "numColl": true, + "EMField": true, + "folder": "test" + }, + "reference": { + "density": 1.0e16, + "mass": 6.633e-26, + "temperature": 11604.0, + "radius": 1.88e-10 + }, + "geometry": { + "type": "1DCart", + "meshType": "0D", + "meshFile": "mesh.msh", + "volume": 1e-11 + }, + "species": [ + {"name": "Argon+", "type": "charged", "mass": 6.633e-26, "charge": 1.0, "weight": 1.0e0}, + {"name": "Argon", "type": "neutral", "mass": 6.633e-26, "weight": 1.0e0} + ], + "case": { + "tau": [1.0e-6, 1.0e-6], + "time": 1.0e-3, + "pusher": ["0D", "0D"], + "initial": [ + {"speciesName": "Argon+", "initialState": "Argon+_Initial.dat"}, + {"speciesName": "Argon", "initialState": "Argon_Initial.dat"} + ] + }, + "interactions": { + "folderCollisions": "./data/collisions/", + "collisions": [ + {"species_i": "Argon", "species_j": "Argon", + "cTypes": [ + {"type": "elastic", "crossSection": "EL_Ar-Ar.dat"} + ]}, + {"species_i": "Argon+", "species_j": "Argon", + "cTypes": [ + {"type": "elastic", "crossSection": "EL_Ar-Ar.dat"} + ]} + ] + }, + "parallel": { + "OpenMP":{ + "nThreads": 5 + } + } +} diff --git a/src/modules/mesh/0D/moduleMesh0D.f90 b/src/modules/mesh/0D/moduleMesh0D.f90 index e945f25..f51efd2 100644 --- a/src/modules/mesh/0D/moduleMesh0D.f90 +++ b/src/modules/mesh/0D/moduleMesh0D.f90 @@ -33,6 +33,7 @@ MODULE moduleMesh0D !Init node SUBROUTINE initNode0D(self, n, r) USE moduleSpecies + USE OMP_LIB IMPLICIT NONE CLASS(meshNode0D), INTENT(out):: self @@ -43,6 +44,8 @@ MODULE moduleMesh0D ALLOCATE(self%output(1:nSpecies)) + CALL OMP_INIT_LOCK(self%lock) + END SUBROUTINE initNode0D !Get node coordinates @@ -113,19 +116,24 @@ MODULE moduleMesh0D SUBROUTINE scatter0D(self, part) USE moduleMath USE moduleSpecies + USE OMP_LIB IMPLICIT NONE CLASS(meshVol0D), INTENT(in):: self CLASS(particle), INTENT(in):: part REAL(8):: tensorS(1:3,1:3) - TYPE(outputNode), POINTER:: vertex + CLASS(meshNode), POINTER:: node + INTEGER:: sp tensorS = outerProduct(part%v, part%v) - vertex => self%n1%output(part%species%n) - vertex%den = vertex%den + part%weight - vertex%mom(:) = vertex%mom(:) + part%weight*part%v(:) - vertex%tensorS(:,:) = vertex%tensorS(:,:) + part%weight*tensorS + node => self%n1 + sp = part%species%n + CALL OMP_SET_LOCK(node%lock) + node%output(sp)%den = node%output(sp)%den + part%weight + node%output(sp)%mom(:) = node%output(sp)%mom(:) + part%weight*part%v(:) + node%output(sp)%tensorS(:,:) = node%output(sp)%tensorS(:,:) + part%weight*tensorS + CALL OMP_UNSET_LOCK(node%lock) END SUBROUTINE scatter0D diff --git a/src/modules/mesh/1DCart/moduleMesh1DCart.f90 b/src/modules/mesh/1DCart/moduleMesh1DCart.f90 index 73a4c1d..e96150c 100644 --- a/src/modules/mesh/1DCart/moduleMesh1DCart.f90 +++ b/src/modules/mesh/1DCart/moduleMesh1DCart.f90 @@ -91,6 +91,7 @@ MODULE moduleMesh1DCart SUBROUTINE initNode1DCart(self, n, r) USE moduleSpecies USE moduleRefParam + USE OMP_LIB IMPLICIT NONE CLASS(meshNode1DCart), INTENT(out):: self @@ -105,6 +106,8 @@ MODULE moduleMesh1DCart !Allocates output ALLOCATE(self%output(1:nSpecies)) + CALL OMP_INIT_LOCK(self%lock) + END SUBROUTINE initNode1DCart PURE FUNCTION getCoord1DCart(self) RESULT(r) @@ -378,26 +381,33 @@ MODULE moduleMesh1DCart SUBROUTINE scatterSegm(self, part) USE moduleMath USE moduleSpecies + USE OMP_LIB IMPLICIT NONE CLASS(meshVol1DCartSegm), INTENT(in):: self CLASS(particle), INTENT(in):: part - TYPE(outputNode), POINTER:: vertex REAL(8):: w_p(1:2) REAL(8):: tensorS(1:3,1:3) + CLASS(meshNode), POINTER:: node + INTEGER:: sp w_p = self%weight(part%xi) tensorS = outerProduct(part%v, part%v) - vertex => self%n1%output(part%species%n) - vertex%den = vertex%den + part%weight*w_p(1) - vertex%mom(:) = vertex%mom(:) + part%weight*w_p(1)*part%v(:) - vertex%tensorS(:,:) = vertex%tensorS(:,:) + part%weight*w_p(1)*tensorS + sp = part%species%n + node => self%n1 + CALL OMP_SET_LOCK(node%lock) + node%output(sp)%den = node%output(sp)%den + part%weight*w_p(1) + node%output(sp)%mom(:) = node%output(sp)%mom(:) + part%weight*w_p(1)*part%v(:) + node%output(sp)%tensorS(:,:) = node%output(sp)%tensorS(:,:) + part%weight*w_p(1)*tensorS + CALL OMP_UNSET_LOCK(node%lock) - vertex => self%n2%output(part%species%n) - vertex%den = vertex%den + part%weight*w_p(2) - vertex%mom(:) = vertex%mom(:) + part%weight*w_p(2)*part%v(:) - vertex%tensorS(:,:) = vertex%tensorS(:,:) + part%weight*w_p(2)*tensorS + node => self%n2 + CALL OMP_SET_LOCK(node%lock) + node%output(sp)%den = node%output(sp)%den + part%weight*w_p(1) + node%output(sp)%mom(:) = node%output(sp)%mom(:) + part%weight*w_p(1)*part%v(:) + node%output(sp)%tensorS(:,:) = node%output(sp)%tensorS(:,:) + part%weight*w_p(1)*tensorS + CALL OMP_UNSET_LOCK(node%lock) END SUBROUTINE scatterSegm diff --git a/src/modules/mesh/1DRad/moduleMesh1DRad.f90 b/src/modules/mesh/1DRad/moduleMesh1DRad.f90 index d8e5c51..99b3331 100644 --- a/src/modules/mesh/1DRad/moduleMesh1DRad.f90 +++ b/src/modules/mesh/1DRad/moduleMesh1DRad.f90 @@ -92,6 +92,7 @@ MODULE moduleMesh1DRad SUBROUTINE initNode1DRad(self, n, r) USE moduleSpecies USE moduleRefParam + USE OMP_LIB IMPLICIT NONE CLASS(meshNode1DRad), INTENT(out):: self @@ -106,6 +107,8 @@ MODULE moduleMesh1DRad !Allocates output ALLOCATE(self%output(1:nSpecies)) + CALL OMP_INIT_LOCK(self%lock) + END SUBROUTINE initNode1DRad PURE FUNCTION getCoord1DRad(self) RESULT(r) @@ -390,26 +393,33 @@ MODULE moduleMesh1DRad SUBROUTINE scatterRad(self, part) USE moduleMath USE moduleSpecies + USE OMP_LIB IMPLICIT NONE CLASS(meshVol1DRadSegm), INTENT(in):: self CLASS(particle), INTENT(in):: part - TYPE(outputNode), POINTER:: vertex REAL(8):: w_p(1:2) REAL(8):: tensorS(1:3,1:3) + CLASS(meshNode), POINTER:: node + INTEGER:: sp w_p = self%weight(part%xi) tensorS = outerProduct(part%v, part%v) - vertex => self%n1%output(part%species%n) - vertex%den = vertex%den + part%weight*w_p(1) - vertex%mom(:) = vertex%mom(:) + part%weight*w_p(1)*part%v(:) - vertex%tensorS(:,:) = vertex%tensorS(:,:) + part%weight*w_p(1)*tensorS + sp = part%species%n + node => self%n1 + CALL OMP_SET_LOCK(node%lock) + node%output(sp)%den = node%output(sp)%den + part%weight*w_p(1) + node%output(sp)%mom(:) = node%output(sp)%mom(:) + part%weight*w_p(1)*part%v(:) + node%output(sp)%tensorS(:,:) = node%output(sp)%tensorS(:,:) + part%weight*w_p(1)*tensorS + CALL OMP_UNSET_LOCK(node%lock) - vertex => self%n2%output(part%species%n) - vertex%den = vertex%den + part%weight*w_p(2) - vertex%mom(:) = vertex%mom(:) + part%weight*w_p(2)*part%v(:) - vertex%tensorS(:,:) = vertex%tensorS(:,:) + part%weight*w_p(2)*tensorS + node => self%n2 + CALL OMP_SET_LOCK(node%lock) + node%output(sp)%den = node%output(sp)%den + part%weight*w_p(2) + node%output(sp)%mom(:) = node%output(sp)%mom(:) + part%weight*w_p(2)*part%v(:) + node%output(sp)%tensorS(:,:) = node%output(sp)%tensorS(:,:) + part%weight*w_p(2)*tensorS + CALL OMP_UNSET_LOCK(node%lock) END SUBROUTINE scatterRad diff --git a/src/modules/mesh/2DCart/moduleMesh2DCart.f90 b/src/modules/mesh/2DCart/moduleMesh2DCart.f90 index c830f8d..36a182a 100644 --- a/src/modules/mesh/2DCart/moduleMesh2DCart.f90 +++ b/src/modules/mesh/2DCart/moduleMesh2DCart.f90 @@ -130,6 +130,7 @@ MODULE moduleMesh2DCart SUBROUTINE initNode2DCart(self, n, r) USE moduleSpecies USE moduleRefParam + USE OMP_LIB IMPLICIT NONE CLASS(meshNode2DCart), INTENT(out):: self @@ -145,6 +146,8 @@ MODULE moduleMesh2DCart !Allocates output: ALLOCATE(self%output(1:nSpecies)) + CALL OMP_INIT_LOCK(self%lock) + END SUBROUTINE initNode2DCart !Get coordinates from node @@ -494,36 +497,47 @@ MODULE moduleMesh2DCart SUBROUTINE scatterQuad(self, part) USE moduleMath USE moduleSpecies + USE OMP_LIB IMPLICIT NONE CLASS(meshVol2DCartQuad), INTENT(in):: self CLASS(particle), INTENT(in):: part - TYPE(outputNode), POINTER:: vertex REAL(8):: w_p(1:4) REAL(8):: tensorS(1:3,1:3) + CLASS(meshNode), POINTER:: node + INTEGER:: sp w_p = self%weight(part%xi) tensorS = outerProduct(part%v, part%v) - vertex => self%n1%output(part%species%n) - vertex%den = vertex%den + part%weight*w_p(1) - vertex%mom(:) = vertex%mom(:) + part%weight*w_p(1)*part%v(:) - vertex%tensorS(:,:) = vertex%tensorS(:,:) + part%weight*w_p(1)*tensorS + sp = part%species%n + node => self%n1 + CALL OMP_SET_LOCK(node%lock) + node%output(sp)%den = node%output(sp)%den + part%weight*w_p(1) + node%output(sp)%mom(:) = node%output(sp)%mom(:) + part%weight*w_p(1)*part%v(:) + node%output(sp)%tensorS(:,:) = node%output(sp)%tensorS(:,:) + part%weight*w_p(1)*tensorS + CALL OMP_UNSET_LOCK(node%lock) - vertex => self%n2%output(part%species%n) - vertex%den = vertex%den + part%weight*w_p(2) - vertex%mom(:) = vertex%mom(:) + part%weight*w_p(2)*part%v(:) - vertex%tensorS(:,:) = vertex%tensorS(:,:) + part%weight*w_p(2)*tensorS + node => self%n2 + CALL OMP_SET_LOCK(node%lock) + node%output(sp)%den = node%output(sp)%den + part%weight*w_p(2) + node%output(sp)%mom(:) = node%output(sp)%mom(:) + part%weight*w_p(2)*part%v(:) + node%output(sp)%tensorS(:,:) = node%output(sp)%tensorS(:,:) + part%weight*w_p(2)*tensorS + CALL OMP_UNSET_LOCK(node%lock) - vertex => self%n3%output(part%species%n) - vertex%den = vertex%den + part%weight*w_p(3) - vertex%mom(:) = vertex%mom(:) + part%weight*w_p(3)*part%v(:) - vertex%tensorS(:,:) = vertex%tensorS(:,:) + part%weight*w_p(3)*tensorS + node => self%n3 + CALL OMP_SET_LOCK(node%lock) + node%output(sp)%den = node%output(sp)%den + part%weight*w_p(3) + node%output(sp)%mom(:) = node%output(sp)%mom(:) + part%weight*w_p(3)*part%v(:) + node%output(sp)%tensorS(:,:) = node%output(sp)%tensorS(:,:) + part%weight*w_p(3)*tensorS + CALL OMP_UNSET_LOCK(node%lock) - vertex => self%n4%output(part%species%n) - vertex%den = vertex%den + part%weight*w_p(4) - vertex%mom(:) = vertex%mom(:) + part%weight*w_p(4)*part%v(:) - vertex%tensorS(:,:) = vertex%tensorS(:,:) + part%weight*w_p(4)*tensorS + node => self%n4 + CALL OMP_SET_LOCK(node%lock) + node%output(sp)%den = node%output(sp)%den + part%weight*w_p(4) + node%output(sp)%mom(:) = node%output(sp)%mom(:) + part%weight*w_p(4)*part%v(:) + node%output(sp)%tensorS(:,:) = node%output(sp)%tensorS(:,:) + part%weight*w_p(4)*tensorS + CALL OMP_UNSET_LOCK(node%lock) END SUBROUTINE scatterQuad @@ -854,31 +868,40 @@ MODULE moduleMesh2DCart SUBROUTINE scatterTria(self, part) USE moduleMath USE moduleSpecies + USE OMP_LIB IMPLICIT NONE CLASS(meshVol2DCartTria), INTENT(in):: self CLASS(particle), INTENT(in):: part - TYPE(outputNode), POINTER:: vertex REAL(8):: w_p(1:3) REAL(8):: tensorS(1:3,1:3) + CLASS(meshNode), POINTER:: node + INTEGER:: sp w_p = self%weight(part%xi) tensorS = outerProduct(part%v, part%v) - vertex => self%n1%output(part%species%n) - vertex%den = vertex%den + part%weight*w_p(1) - vertex%mom(:) = vertex%mom(:) + part%weight*w_p(1)*part%v(:) - vertex%tensorS(:,:) = vertex%tensorS(:,:) + part%weight*w_p(1)*tensorS + sp = part%species%n + node => self%n1 + CALL OMP_SET_LOCK(node%lock) + node%output(sp)%den = node%output(sp)%den + part%weight*w_p(1) + node%output(sp)%mom(:) = node%output(sp)%mom(:) + part%weight*w_p(1)*part%v(:) + node%output(sp)%tensorS(:,:) = node%output(sp)%tensorS(:,:) + part%weight*w_p(1)*tensorS + CALL OMP_UNSET_LOCK(node%lock) - vertex => self%n2%output(part%species%n) - vertex%den = vertex%den + part%weight*w_p(2) - vertex%mom(:) = vertex%mom(:) + part%weight*w_p(2)*part%v(:) - vertex%tensorS(:,:) = vertex%tensorS(:,:) + part%weight*w_p(2)*tensorS + node => self%n2 + CALL OMP_SET_LOCK(node%lock) + node%output(sp)%den = node%output(sp)%den + part%weight*w_p(2) + node%output(sp)%mom(:) = node%output(sp)%mom(:) + part%weight*w_p(2)*part%v(:) + node%output(sp)%tensorS(:,:) = node%output(sp)%tensorS(:,:) + part%weight*w_p(2)*tensorS + CALL OMP_UNSET_LOCK(node%lock) - vertex => self%n3%output(part%species%n) - vertex%den = vertex%den + part%weight*w_p(3) - vertex%mom(:) = vertex%mom(:) + part%weight*w_p(3)*part%v(:) - vertex%tensorS(:,:) = vertex%tensorS(:,:) + part%weight*w_p(3)*tensorS + node => self%n3 + CALL OMP_SET_LOCK(node%lock) + node%output(sp)%den = node%output(sp)%den + part%weight*w_p(3) + node%output(sp)%mom(:) = node%output(sp)%mom(:) + part%weight*w_p(3)*part%v(:) + node%output(sp)%tensorS(:,:) = node%output(sp)%tensorS(:,:) + part%weight*w_p(3)*tensorS + CALL OMP_UNSET_LOCK(node%lock) END SUBROUTINE scatterTria diff --git a/src/modules/mesh/2DCyl/moduleMesh2DCyl.f90 b/src/modules/mesh/2DCyl/moduleMesh2DCyl.f90 index 80c0665..d4e06bd 100644 --- a/src/modules/mesh/2DCyl/moduleMesh2DCyl.f90 +++ b/src/modules/mesh/2DCyl/moduleMesh2DCyl.f90 @@ -131,6 +131,7 @@ MODULE moduleMesh2DCyl SUBROUTINE initNode2DCyl(self, n, r) USE moduleSpecies USE moduleRefParam + USE OMP_LIB IMPLICIT NONE CLASS(meshNode2DCyl), INTENT(out):: self @@ -146,6 +147,8 @@ MODULE moduleMesh2DCyl !Allocates output: ALLOCATE(self%output(1:nSpecies)) + CALL OMP_INIT_LOCK(self%lock) + END SUBROUTINE initNode2DCyl !Get coordinates from node @@ -515,36 +518,47 @@ MODULE moduleMesh2DCyl SUBROUTINE scatterQuad(self, part) USE moduleMath USE moduleSpecies + USE OMP_LIB IMPLICIT NONE CLASS(meshVol2DCylQuad), INTENT(in):: self CLASS(particle), INTENT(in):: part - TYPE(outputNode), POINTER:: vertex REAL(8):: w_p(1:4) REAL(8):: tensorS(1:3,1:3) + CLASS(meshNode), POINTER:: node + INTEGER:: sp w_p = self%weight(part%xi) tensorS = outerProduct(part%v, part%v) - vertex => self%n1%output(part%species%n) - vertex%den = vertex%den + part%weight*w_p(1) - vertex%mom(:) = vertex%mom(:) + part%weight*w_p(1)*part%v(:) - vertex%tensorS(:,:) = vertex%tensorS(:,:) + part%weight*w_p(1)*tensorS + sp = part%species%n + node => self%n1 + CALL OMP_SET_LOCK(node%lock) + node%output(sp)%den = node%output(sp)%den + part%weight*w_p(1) + node%output(sp)%mom(:) = node%output(sp)%mom(:) + part%weight*w_p(1)*part%v(:) + node%output(sp)%tensorS(:,:) = node%output(sp)%tensorS(:,:) + part%weight*w_p(1)*tensorS + CALL OMP_UNSET_LOCK(node%lock) - vertex => self%n2%output(part%species%n) - vertex%den = vertex%den + part%weight*w_p(2) - vertex%mom(:) = vertex%mom(:) + part%weight*w_p(2)*part%v(:) - vertex%tensorS(:,:) = vertex%tensorS(:,:) + part%weight*w_p(2)*tensorS + node => self%n2 + CALL OMP_SET_LOCK(node%lock) + node%output(sp)%den = node%output(sp)%den + part%weight*w_p(2) + node%output(sp)%mom(:) = node%output(sp)%mom(:) + part%weight*w_p(2)*part%v(:) + node%output(sp)%tensorS(:,:) = node%output(sp)%tensorS(:,:) + part%weight*w_p(2)*tensorS + CALL OMP_UNSET_LOCK(node%lock) - vertex => self%n3%output(part%species%n) - vertex%den = vertex%den + part%weight*w_p(3) - vertex%mom(:) = vertex%mom(:) + part%weight*w_p(3)*part%v(:) - vertex%tensorS(:,:) = vertex%tensorS(:,:) + part%weight*w_p(3)*tensorS + node => self%n3 + CALL OMP_SET_LOCK(node%lock) + node%output(sp)%den = node%output(sp)%den + part%weight*w_p(3) + node%output(sp)%mom(:) = node%output(sp)%mom(:) + part%weight*w_p(3)*part%v(:) + node%output(sp)%tensorS(:,:) = node%output(sp)%tensorS(:,:) + part%weight*w_p(3)*tensorS + CALL OMP_UNSET_LOCK(node%lock) - vertex => self%n4%output(part%species%n) - vertex%den = vertex%den + part%weight*w_p(4) - vertex%mom(:) = vertex%mom(:) + part%weight*w_p(4)*part%v(:) - vertex%tensorS(:,:) = vertex%tensorS(:,:) + part%weight*w_p(4)*tensorS + node => self%n4 + CALL OMP_SET_LOCK(node%lock) + node%output(sp)%den = node%output(sp)%den + part%weight*w_p(4) + node%output(sp)%mom(:) = node%output(sp)%mom(:) + part%weight*w_p(4)*part%v(:) + node%output(sp)%tensorS(:,:) = node%output(sp)%tensorS(:,:) + part%weight*w_p(4)*tensorS + CALL OMP_UNSET_LOCK(node%lock) END SUBROUTINE scatterQuad @@ -884,31 +898,40 @@ MODULE moduleMesh2DCyl SUBROUTINE scatterTria(self, part) USE moduleMath USE moduleSpecies + USE OMP_LIB IMPLICIT NONE CLASS(meshVol2DCylTria), INTENT(in):: self CLASS(particle), INTENT(in):: part - TYPE(outputNode), POINTER:: vertex REAL(8):: w_p(1:3) REAL(8):: tensorS(1:3,1:3) + CLASS(meshNode), POINTER:: node + INTEGER:: sp w_p = self%weight(part%xi) tensorS = outerProduct(part%v, part%v) - vertex => self%n1%output(part%species%n) - vertex%den = vertex%den + part%weight*w_p(1) - vertex%mom(:) = vertex%mom(:) + part%weight*w_p(1)*part%v(:) - vertex%tensorS(:,:) = vertex%tensorS(:,:) + part%weight*w_p(1)*tensorS + sp = part%species%n + node => self%n1 + CALL OMP_SET_LOCK(node%lock) + node%output(sp)%den = node%output(sp)%den + part%weight*w_p(1) + node%output(sp)%mom(:) = node%output(sp)%mom(:) + part%weight*w_p(1)*part%v(:) + node%output(sp)%tensorS(:,:) = node%output(sp)%tensorS(:,:) + part%weight*w_p(1)*tensorS + CALL OMP_UNSET_LOCK(node%lock) - vertex => self%n2%output(part%species%n) - vertex%den = vertex%den + part%weight*w_p(2) - vertex%mom(:) = vertex%mom(:) + part%weight*w_p(2)*part%v(:) - vertex%tensorS(:,:) = vertex%tensorS(:,:) + part%weight*w_p(2)*tensorS + node => self%n2 + CALL OMP_SET_LOCK(node%lock) + node%output(sp)%den = node%output(sp)%den + part%weight*w_p(2) + node%output(sp)%mom(:) = node%output(sp)%mom(:) + part%weight*w_p(2)*part%v(:) + node%output(sp)%tensorS(:,:) = node%output(sp)%tensorS(:,:) + part%weight*w_p(2)*tensorS + CALL OMP_UNSET_LOCK(node%lock) - vertex => self%n3%output(part%species%n) - vertex%den = vertex%den + part%weight*w_p(3) - vertex%mom(:) = vertex%mom(:) + part%weight*w_p(3)*part%v(:) - vertex%tensorS(:,:) = vertex%tensorS(:,:) + part%weight*w_p(3)*tensorS + node => self%n3 + CALL OMP_SET_LOCK(node%lock) + node%output(sp)%den = node%output(sp)%den + part%weight*w_p(3) + node%output(sp)%mom(:) = node%output(sp)%mom(:) + part%weight*w_p(3)*part%v(:) + node%output(sp)%tensorS(:,:) = node%output(sp)%tensorS(:,:) + part%weight*w_p(3)*tensorS + CALL OMP_UNSET_LOCK(node%lock) END SUBROUTINE scatterTria diff --git a/src/modules/mesh/3DCart/moduleMesh3DCart.f90 b/src/modules/mesh/3DCart/moduleMesh3DCart.f90 index e65ff25..8c6e350 100644 --- a/src/modules/mesh/3DCart/moduleMesh3DCart.f90 +++ b/src/modules/mesh/3DCart/moduleMesh3DCart.f90 @@ -92,6 +92,7 @@ MODULE moduleMesh3DCart SUBROUTINE initNode3DCart(self, n, r) USE moduleSpecies USE moduleRefParam + USE OMP_LIB IMPLICIT NONE CLASS(meshNode3DCart), INTENT(out):: self @@ -108,6 +109,8 @@ MODULE moduleMesh3DCart !Allocates output: ALLOCATE(self%output(1:nSpecies)) + CALL OMP_INIT_LOCK(self%lock) + END SUBROUTINE initNode3DCart !Get coordinates from node @@ -481,36 +484,47 @@ MODULE moduleMesh3DCart SUBROUTINE scatterTetra(self, part) USE moduleMath USE moduleSpecies + USE OMP_LIB IMPLICIT NONE CLASS(meshVol3DCartTetra), INTENT(in):: self CLASS(particle), INTENT(in):: part - TYPE(outputNode), POINTER:: vertex REAL(8):: w_p(1:4) REAL(8):: tensorS(1:3, 1:3) + CLASS(meshNode), POINTER:: node + INTEGER:: sp w_p = self%weight(part%xi) tensorS = outerProduct(part%v, part%v) - vertex => self%n1%output(part%species%n) - vertex%den = vertex%den + part%weight*w_p(1) - vertex%mom(:) = vertex%mom(:) + part%weight*w_p(1)*part%v(:) - vertex%tensorS(:,:) = vertex%tensorS(:,:) + part%weight*w_p(1)*tensorS + sp = part%species%n + node => self%n1 + CALL OMP_SET_LOCK(node%lock) + node%output(sp)%den = node%output(sp)%den + part%weight*w_p(1) + node%output(sp)%mom(:) = node%output(sp)%mom(:) + part%weight*w_p(1)*part%v(:) + node%output(sp)%tensorS(:,:) = node%output(sp)%tensorS(:,:) + part%weight*w_p(1)*tensorS + CALL OMP_UNSET_LOCK(node%lock) - vertex => self%n2%output(part%species%n) - vertex%den = vertex%den + part%weight*w_p(2) - vertex%mom(:) = vertex%mom(:) + part%weight*w_p(2)*part%v(:) - vertex%tensorS(:,:) = vertex%tensorS(:,:) + part%weight*w_p(2)*tensorS + node => self%n2 + CALL OMP_SET_LOCK(node%lock) + node%output(sp)%den = node%output(sp)%den + part%weight*w_p(2) + node%output(sp)%mom(:) = node%output(sp)%mom(:) + part%weight*w_p(2)*part%v(:) + node%output(sp)%tensorS(:,:) = node%output(sp)%tensorS(:,:) + part%weight*w_p(2)*tensorS + CALL OMP_UNSET_LOCK(node%lock) - vertex => self%n3%output(part%species%n) - vertex%den = vertex%den + part%weight*w_p(3) - vertex%mom(:) = vertex%mom(:) + part%weight*w_p(3)*part%v(:) - vertex%tensorS(:,:) = vertex%tensorS(:,:) + part%weight*w_p(3)*tensorS + node => self%n3 + CALL OMP_SET_LOCK(node%lock) + node%output(sp)%den = node%output(sp)%den + part%weight*w_p(3) + node%output(sp)%mom(:) = node%output(sp)%mom(:) + part%weight*w_p(3)*part%v(:) + node%output(sp)%tensorS(:,:) = node%output(sp)%tensorS(:,:) + part%weight*w_p(3)*tensorS + CALL OMP_UNSET_LOCK(node%lock) - vertex => self%n4%output(part%species%n) - vertex%den = vertex%den + part%weight*w_p(4) - vertex%mom(:) = vertex%mom(:) + part%weight*w_p(4)*part%v(:) - vertex%tensorS(:,:) = vertex%tensorS(:,:) + part%weight*w_p(4)*tensorS + node => self%n4 + CALL OMP_SET_LOCK(node%lock) + node%output(sp)%den = node%output(sp)%den + part%weight*w_p(4) + node%output(sp)%mom(:) = node%output(sp)%mom(:) + part%weight*w_p(4)*part%v(:) + node%output(sp)%tensorS(:,:) = node%output(sp)%tensorS(:,:) + part%weight*w_p(4)*tensorS + CALL OMP_UNSET_LOCK(node%lock) END SUBROUTINE scatterTetra diff --git a/src/modules/mesh/inout/0D/moduleMeshInput0D.f90 b/src/modules/mesh/inout/0D/moduleMeshInput0D.f90 index 678671a..5ac0682 100644 --- a/src/modules/mesh/inout/0D/moduleMeshInput0D.f90 +++ b/src/modules/mesh/inout/0D/moduleMeshInput0D.f90 @@ -19,6 +19,7 @@ MODULE moduleMeshInput0D TYPE IS(meshParticles) self%printOutput => printOutput0D self%printEM => printEM0D + self%readInitial => readInitial0D END SELECT self%readMesh => read0D @@ -63,4 +64,37 @@ MODULE moduleMeshInput0D END SUBROUTINE read0D + SUBROUTINE readInitial0D(sp, filename, density, velocity, temperature) + IMPLICIT NONE + + INTEGER, INTENT(in):: sp + CHARACTER(:), ALLOCATABLE, INTENT(in):: filename + REAL(8), ALLOCATABLE, INTENT(out), DIMENSION(:):: density + REAL(8), ALLOCATABLE, INTENT(out), DIMENSION(:,:):: velocity + REAL(8), ALLOCATABLE, INTENT(out), DIMENSION(:):: temperature + REAL(8):: dummy + INTEGER:: stat + + ALLOCATE(density(1:1)) + ALLOCATE(velocity(1:1, 1:3)) + ALLOCATE(temperature(1:1)) + + OPEN(10, file = TRIM(filename)) + + !Finds the last line of data + stat = 0 + DO WHILE (stat==0) + READ(10, *, iostat = stat) + + END DO + + !Go back two line + BACKSPACE(10) + BACKSPACE(10) + + !Reads data + READ(10, *) dummy, density(1), velocity(1, 1:3), dummy, temperature(1) + + END SUBROUTINE readInitial0D + END MODULE moduleMeshInput0D diff --git a/src/modules/mesh/inout/0D/moduleMeshOutput0D.f90 b/src/modules/mesh/inout/0D/moduleMeshOutput0D.f90 index 6e490b4..db52de4 100644 --- a/src/modules/mesh/inout/0D/moduleMeshOutput0D.f90 +++ b/src/modules/mesh/inout/0D/moduleMeshOutput0D.f90 @@ -18,7 +18,8 @@ MODULE moduleMeshOutput0D fileName='OUTPUT_' // species(i)%obj%name // '.dat' IF (t == 0) THEN OPEN(20, file = path // folder // '/' // fileName, action = 'write') - WRITE(20, "(A1, 8X, A1, 6(A20))") "#","t","density", "velocity", "pressure", "temperature" + WRITE(20, "(A1, 14X, A5, A20, 40X, A20, 2(A20))") "#","t (s)","density (m^-3)", "velocity (m/s)", & + "pressure (Pa)", "temperature (K)" WRITE(*, "(6X,A15,A)") "Creating file: ", fileName CLOSE(20) @@ -26,7 +27,7 @@ MODULE moduleMeshOutput0D OPEN(20, file = path // folder // '/' // fileName, position = 'append', action = 'write') CALL calculateOutput(self%nodes(1)%obj%output(i), output, self%nodes(1)%obj%v, species(i)%obj) - WRITE(20, "(I10, 6(ES20.6E3))") t, output%density, output%velocity, output%pressure, output%temperature + WRITE(20, "(7(ES20.6E3))") REAL(t)*tauMin*ti_ref, output%density, output%velocity, output%pressure, output%temperature CLOSE(20) END DO @@ -43,6 +44,20 @@ MODULE moduleMeshOutput0D CLASS(meshGeneric), INTENT(in):: self INTEGER, INTENT(in):: t + CHARACTER(:), ALLOCATABLE:: fileName + + fileName='OUTPUT_Collisions.dat' + IF (t == 0) THEN + OPEN(20, file = path // folder // '/' // fileName, action = 'write') + WRITE(20, "(A1, 14X, A5, A20)") "#","t (s)","collisions" + WRITE(*, "(6X,A15,A)") "Creating file: ", fileName + CLOSE(20) + + END IF + + OPEN(20, file = path // folder // '/' // fileName, position = 'append', action = 'write') + WRITE(20, "(ES20.6E3, I20)") REAL(t)*tauMin*ti_ref, mesh%vols(1)%obj%nColl + CLOSE(20) END SUBROUTINE printColl0D diff --git a/src/modules/mesh/inout/gmsh2/moduleMeshInputGmsh2.f90 b/src/modules/mesh/inout/gmsh2/moduleMeshInputGmsh2.f90 index b446d76..d6fe4d7 100644 --- a/src/modules/mesh/inout/gmsh2/moduleMeshInputGmsh2.f90 +++ b/src/modules/mesh/inout/gmsh2/moduleMeshInputGmsh2.f90 @@ -292,7 +292,6 @@ MODULE moduleMeshInputGmsh2 !Reads the initial information from an output file for an species SUBROUTINE readInitialGmsh2(sp, filename, density, velocity, temperature) - USE moduleRefParam IMPLICIT NONE INTEGER, INTENT(in):: sp diff --git a/src/modules/mesh/moduleMesh.f90 b/src/modules/mesh/moduleMesh.f90 index 304dd86..1f6c795 100644 --- a/src/modules/mesh/moduleMesh.f90 +++ b/src/modules/mesh/moduleMesh.f90 @@ -20,6 +20,8 @@ MODULE moduleMesh !Output values TYPE(outputNode), ALLOCATABLE:: output(:) TYPE(emNode):: emData + !Lock indicator for scattering + INTEGER(KIND=OMP_LOCK_KIND):: lock CONTAINS PROCEDURE(initNode_interface), DEFERRED, PASS:: init PROCEDURE(getCoord_interface), DEFERRED, PASS:: getCoordinates diff --git a/src/modules/moduleCollisions.f90 b/src/modules/moduleCollisions.f90 index 73871ce..a2c48ca 100644 --- a/src/modules/moduleCollisions.f90 +++ b/src/modules/moduleCollisions.f90 @@ -193,7 +193,6 @@ MODULE moduleCollisions REAL(8), DIMENSION(1:3):: vCM REAL(8):: vp(1:3) - !eRel (in units of [m][L]^2[t]^-2 vRel = SUM(DABS(part_i%v-part_j%v)) !TODO make function of norm1 eRel = self%rMass*vRel**2 sigmaVrel = self%crossSec%get(eRel)*vRel diff --git a/src/modules/moduleInput.f90 b/src/modules/moduleInput.f90 index fed9228..27cb16e 100644 --- a/src/modules/moduleInput.f90 +++ b/src/modules/moduleInput.f90 @@ -348,7 +348,6 @@ MODULE moduleInput !Assign particle to temporal list of particles CALL partInitial%add(partNew) - END DO DEALLOCATE(source) @@ -768,6 +767,7 @@ MODULE moduleInput USE moduleMesh1DCart, ONLY: connectMesh1DCart USE moduleErrors USE moduleOutput + USE moduleRefParam USE json_module IMPLICIT NONE @@ -776,6 +776,7 @@ MODULE moduleInput LOGICAL:: doubleMesh CHARACTER(:), ALLOCATABLE:: meshFormat, meshFile CHARACTER(:), ALLOCATABLE:: fullPath + REAL(8):: volume !Firstly, indicates if a specific mesh for MC collisions is being use doubleMesh = ASSOCIATED(meshForMCC, meshColl) @@ -792,6 +793,7 @@ MODULE moduleInput IF (doubleMesh) CALL initGmsh2(meshColl) CASE ("0D") + CALL config%get('geometry.meshType', meshFormat, found) CALL init0D(mesh) CASE DEFAULT @@ -812,6 +814,18 @@ MODULE moduleInput END IF + !Gets the volume for a 0D mesh + !TODO: Try to constrain this to the inout for 0D + IF (meshFormat == "0D") THEN + CALL config%get('geometry.volume', volume, found) + IF (found) THEN + mesh%vols(1)%obj%volume = mesh%vols(1)%obj%volume*volume / Vol_ref + mesh%nodes(1)%obj%v = mesh%vols(1)%obj%volume + + END IF + + END IF + !Creates the connectivity between elements SELECT CASE(mesh%geometry) CASE("3DCart") diff --git a/src/modules/moduleOutput.f90 b/src/modules/moduleOutput.f90 index 89df330..4a3f4da 100644 --- a/src/modules/moduleOutput.f90 +++ b/src/modules/moduleOutput.f90 @@ -96,7 +96,9 @@ MODULE moduleOutput IF (PRESENT(first)) THEN IF (first) THEN OPEN(20, file = path // folder // '/' // fileName, action = 'write') - WRITE(20, "(A1, 8X, A1, 9X, A1, 6(A20))") "#","t","n","total","push","reset","collision","weighting","EMField" + WRITE(20, "(A1, 8X, A1, 9X, A1, 7(A20))") "#","t","n","total (s)","push (s)","reset (s)", & + "collision (s)","coulomb (s)", & + "weighting (s)","EMField (s)" WRITE(*, "(6X,A15,A)") "Creating file: ", fileName CLOSE(20) From b40d867d74c44da5746f3f30aaabc552c5c31889 Mon Sep 17 00:00:00 2001 From: Jorge Gonzalez Date: Tue, 13 Apr 2021 21:51:08 +0200 Subject: [PATCH 4/4] Removed innnecesary input from input file --- runs/0D_Argon/input.json | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/runs/0D_Argon/input.json b/runs/0D_Argon/input.json index 8e62d2a..6940f77 100644 --- a/runs/0D_Argon/input.json +++ b/runs/0D_Argon/input.json @@ -3,9 +3,7 @@ "output": { "path": "./runs/0D_test/", "triggerOutput": 1, - "cpuTime": true, "numColl": true, - "EMField": true, "folder": "test" }, "reference": { @@ -17,7 +15,6 @@ "geometry": { "type": "1DCart", "meshType": "0D", - "meshFile": "mesh.msh", "volume": 1e-11 }, "species": [ @@ -48,7 +45,7 @@ }, "parallel": { "OpenMP":{ - "nThreads": 5 + "nThreads": 4 } } }