Reading of mesh files has been made independent from geometry and
prepared to accept different formats.
This commit is contained in:
parent
46348c86ee
commit
3f91d9e1ed
31 changed files with 2377 additions and 2675 deletions
|
|
@ -689,11 +689,12 @@ MODULE moduleInput
|
|||
!Read the geometry (mesh) for the case
|
||||
SUBROUTINE readGeometry(config)
|
||||
USE moduleMesh
|
||||
USE moduleMesh3DCartRead, ONLY: mesh3DCartGeneric
|
||||
USE moduleMesh2DCylRead, ONLY: mesh2DCylGeneric
|
||||
USE moduleMesh2DCartRead, ONLY: mesh2DCartGeneric
|
||||
USE moduleMesh1DCartRead, ONLY: mesh1DCartGeneric
|
||||
USE moduleMesh1DRadRead, ONLY: mesh1DRadGeneric
|
||||
USE moduleMeshInputGmsh2, ONLY: initGmsh2
|
||||
USE moduleMesh3DCart, ONLY: connectMesh3DCart
|
||||
USE moduleMesh2DCyl, ONLY: connectMesh2DCyl
|
||||
USE moduleMesh2DCart, ONLY: connectMesh2DCart
|
||||
USE moduleMesh1DRad, ONLY: connectMesh1DRad
|
||||
USE moduleMesh1DCart, ONLY: connectMesh1DCart
|
||||
USE moduleErrors
|
||||
USE moduleOutput
|
||||
USE json_module
|
||||
|
|
@ -701,45 +702,51 @@ MODULE moduleInput
|
|||
|
||||
TYPE(json_file), INTENT(inout):: config
|
||||
LOGICAL:: found
|
||||
CHARACTER(:), ALLOCATABLE:: geometryType, meshFormat, meshFile
|
||||
CHARACTER(:), ALLOCATABLE:: meshFormat, meshFile
|
||||
CHARACTER(:), ALLOCATABLE:: fullPath
|
||||
|
||||
!Selects the type of geometry.
|
||||
CALL config%get('geometry.type', geometryType, found)
|
||||
SELECT CASE(geometryType)
|
||||
CASE ("3DCart")
|
||||
!Creates a 3D cylindrical mesh
|
||||
ALLOCATE(mesh3DCartGeneric:: mesh)
|
||||
|
||||
CASE ("2DCyl")
|
||||
!Creates a 2D cylindrical mesh
|
||||
ALLOCATE(mesh2DCylGeneric:: mesh)
|
||||
|
||||
CASE ("2DCart")
|
||||
!Creates a 2D cylindrical mesh
|
||||
ALLOCATE(mesh2DCartGeneric:: mesh)
|
||||
|
||||
CASE ("1DCart")
|
||||
!Creates a 1D cartesian mesh
|
||||
ALLOCATE(mesh1DCartGeneric:: mesh)
|
||||
|
||||
CASE ("1DRad")
|
||||
!Creates a 1D cartesian mesh
|
||||
ALLOCATE(mesh1DRadGeneric:: mesh)
|
||||
|
||||
CASE DEFAULT
|
||||
CALL criticalError("Geometry type " // geometryType // " not supported.", "readGeometry")
|
||||
|
||||
END SELECT
|
||||
CALL config%get('geometry.type', mesh%geometry, found)
|
||||
|
||||
!Gets the type of mesh
|
||||
CALL config%get('geometry.meshType', meshFormat, found)
|
||||
CALL mesh%init(meshFormat)
|
||||
!Reads the mesh
|
||||
SELECT CASE(meshFormat)
|
||||
CASE ("gmsh2")
|
||||
CALL initGmsh2(mesh)
|
||||
|
||||
CASE DEFAULT
|
||||
CALL criticalError("Mesh format " // meshFormat // " not recogniced", "readGeometry")
|
||||
|
||||
END SELECT
|
||||
|
||||
!Reads the mesh file
|
||||
CALL config%get('geometry.meshFile', meshFile, found)
|
||||
fullpath = path // meshFile
|
||||
CALL mesh%readMesh(fullPath)
|
||||
|
||||
!Creates the connectivity between elements
|
||||
SELECT CASE(mesh%geometry)
|
||||
CASE("3DCart")
|
||||
mesh%connectMesh => connectMesh3DCart
|
||||
|
||||
CASE("2DCyl")
|
||||
mesh%connectMesh => connectMesh2DCyl
|
||||
|
||||
CASE("2DCart")
|
||||
mesh%connectMesh => connectMesh2DCart
|
||||
|
||||
CASE("1DRad")
|
||||
mesh%connectMesh => connectMesh1DRad
|
||||
|
||||
CASE("1DCart")
|
||||
mesh%connectMesh => connectMesh1DCart
|
||||
|
||||
END SELECT
|
||||
CALL mesh%connectMesh
|
||||
|
||||
!Builds the K matrix
|
||||
CALL mesh%constructGlobalK()
|
||||
|
||||
END SUBROUTINE readGeometry
|
||||
|
||||
SUBROUTINE readEMBoundary(config)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue