subroutine GenerateFromMesh_Geometry1D(myGeom,mesh)
! Generates the geometry for a 1-D mesh ( set of line segments )
! Assumes that mesh is using Gauss-Lobatto quadrature and the degree is given by mesh % nGeo
implicit none
class(Geometry1D),intent(inout) :: myGeom
type(Mesh1D),intent(in) :: mesh
! Local
integer :: iel,i,nid
type(Lagrange),target :: meshToModel
type(Scalar1D) :: xMesh
call meshToModel%Init(mesh%nGeo,mesh%quadrature, &
myGeom%x%interp%N, &
myGeom%x%interp%controlNodeType)
call xMesh%Init(meshToModel, &
1,mesh%nElem)
! Set the element internal mesh locations
nid = 1
do iel = 1,mesh%nElem
do i = 1,mesh%nGeo+1
xMesh%interior(i,iel,1) = mesh%nodeCoords(nid)
nid = nid+1
enddo
enddo
! Interpolate from the mesh hopr_nodeCoords to the geometry (Possibly not gauss_lobatto quadrature)
call xMesh%GridInterp(myGeom%x%interior)
call myGeom%x%UpdateDevice()
call myGeom%x%BoundaryInterp()
call myGeom%CalculateMetricTerms()
call xMesh%Free()
call meshToModel%Free()
endsubroutine GenerateFromMesh_Geometry1D