!Implementation for 1D solver for charged particles. Added a 1D case for
testing. Still, no formal test has been performed so issues may appear.
This commit is contained in:
parent
7859a73274
commit
d69b59143d
14 changed files with 3229 additions and 403 deletions
|
|
@ -45,9 +45,6 @@ MODULE moduleInput
|
|||
CALL verboseError('Reading Case Parameters...')
|
||||
CALL readCase(config)
|
||||
|
||||
!Read boundary for EM field
|
||||
CALL readEMBoundary(config)
|
||||
|
||||
!Read injection of particles
|
||||
CALL verboseError('Reading Interactions between species...')
|
||||
CALL readInject(config)
|
||||
|
|
@ -164,6 +161,11 @@ MODULE moduleInput
|
|||
!Gets the solver for the electromagnetic field
|
||||
CALL config%get(object // '.EMSolver', EMType, found)
|
||||
CALL solver%initEM(EMType)
|
||||
SELECT CASE(EMType)
|
||||
CASE("Electrostatic")
|
||||
CALL readEMBoundary(config)
|
||||
|
||||
END SELECT
|
||||
|
||||
!Gest the non-analogue scheme
|
||||
CALL config%get(object // '.NAScheme', NAType, found)
|
||||
|
|
@ -351,7 +353,8 @@ MODULE moduleInput
|
|||
!Read the geometry (mesh) for the case
|
||||
SUBROUTINE readGeometry(config)
|
||||
USE moduleMesh
|
||||
USE moduleMeshCylRead
|
||||
USE moduleMeshCylRead, ONLY: meshCylGeneric
|
||||
USE moduleMesh1DRead, ONLY: mesh1DGeneric
|
||||
USE moduleErrors
|
||||
USE moduleOutput
|
||||
USE json_module
|
||||
|
|
@ -369,26 +372,31 @@ MODULE moduleInput
|
|||
!Creates a 2D cylindrical mesh
|
||||
ALLOCATE(meshCylGeneric:: mesh)
|
||||
|
||||
!Gets the type of mesh
|
||||
CALL config%get('geometry.meshType', meshType, found)
|
||||
SELECT CASE(meshType)
|
||||
CASE ("gmsh")
|
||||
!Gets the gmsh file
|
||||
CALL config%get('geometry.meshFile', meshFile, found)
|
||||
|
||||
CASE DEFAULT
|
||||
CALL criticalError("Mesh type " // meshType // " not supported.", "readGeometry")
|
||||
|
||||
END SELECT
|
||||
!Reads the mesh
|
||||
fullpath = path // meshFile
|
||||
CALL mesh%readMesh(fullPath)
|
||||
CASE ("1DCart")
|
||||
!Creates a 1D cartesian mesh
|
||||
ALLOCATE(mesh1DGeneric:: mesh)
|
||||
|
||||
CASE DEFAULT
|
||||
CALL criticalError("Geometry type " // geometryType // " not supported.", "readGeometry")
|
||||
|
||||
END SELECT
|
||||
|
||||
!Gets the type of mesh
|
||||
CALL config%get('geometry.meshType', meshType, found)
|
||||
SELECT CASE(meshType)
|
||||
CASE ("gmsh")
|
||||
!Gets the gmsh file
|
||||
CALL config%get('geometry.meshFile', meshFile, found)
|
||||
|
||||
CASE DEFAULT
|
||||
CALL criticalError("Mesh type " // meshType // " not supported.", "readGeometry")
|
||||
|
||||
END SELECT
|
||||
|
||||
!Reads the mesh
|
||||
fullpath = path // meshFile
|
||||
CALL mesh%readMesh(fullPath)
|
||||
|
||||
END SUBROUTINE readGeometry
|
||||
|
||||
SUBROUTINE readEMBoundary(config)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue