program petscDMTest implicit none !#include "finclude/petsc.h" !#define PETSC_USE_FORTRAN_INTERFACES 1 #include "finclude/petsc.h90" DM :: dmMesh PetscErrorCode :: ierr MPI_Comm :: comm integer :: topologyDim integer :: numCell integer :: numNodePerCell integer :: geometryDim integer :: numNode integer,allocatable :: cellVertices(:) PetscReal, allocatable :: coordinates(:) PetscBool :: interpolateFlag ! Begin program call PetscInitialize(PETSC_NULL_CHARACTER, ierr) comm = PETSC_COMM_SELF topologyDim = 2 numCell = 1 numNodePerCell = 4 ! Quadrangle allocate(cellVertices(numNodePerCell*numCell)) cellVertices = [0,1,2,3] ! Node indexing start from 0 geometrydim = 2 numNode = 4 allocate(coordinates(geometryDim*numNode)) coordinates = [0.0,0.0,1.0,0.0,1.0,1.0,0.0,1.0] interpolateFlag = .true. call DMMeshCreateMeshFromAdjacency(comm,topologyDim,numCell, numNodePerCell, & cellVertices,geometrydim,numNode,coordinates,interpolateFlag,dmMesh,ierr) !call DMMeshCreate(comm,dmMesh,ierr) print*,'Surcessfully Loaded mesh into DM' call PetscFinalize(ierr) end program petscDMTest