subroutine Init_Mesh1D(this,nElem,nNodes,nBCs)
implicit none
class(Mesh1D),intent(out) :: this
integer,intent(in) :: nElem
integer,intent(in) :: nNodes
integer,intent(in) :: nBCs
this%nGeo = 1
this%nElem = nElem
this%nGlobalElem = nElem
this%nNodes = nNodes
this%nCornerNodes = nElem*2
this%nUniqueNodes = 0
this%nBCs = nBCs
this%bcid = 0
allocate(this%elemInfo(1:4,1:nElem))
allocate(this%nodeCoords(1:nNodes))
allocate(this%globalNodeIDs(1:nNodes))
allocate(this%BCType(1:4,1:nBCs))
allocate(this%BCNames(1:nBCs))
call this%decomp%Init()
endsubroutine Init_Mesh1D