subroutine Init_DGModel1D_t(this,mesh,geometry)
implicit none
class(DGModel1D_t),intent(out) :: this
type(Mesh1D),intent(in),target :: mesh
type(Geometry1D),intent(in),target :: geometry
this%mesh => mesh
this%geometry => geometry
call this%SetNumberOfVariables()
call this%solution%Init(geometry%x%interp,this%nvar,this%mesh%nElem)
call this%workSol%Init(geometry%x%interp,this%nvar,this%mesh%nElem)
call this%dSdt%Init(geometry%x%interp,this%nvar,this%mesh%nElem)
call this%solutionGradient%Init(geometry%x%interp,this%nvar,this%mesh%nElem)
call this%flux%Init(geometry%x%interp,this%nvar,this%mesh%nElem)
call this%source%Init(geometry%x%interp,this%nvar,this%mesh%nElem)
call this%fluxDivergence%Init(geometry%x%interp,this%nvar,this%mesh%nElem)
call this%solution%AssociateGeometry(geometry)
call this%solutionGradient%AssociateGeometry(geometry)
call this%flux%AssociateGeometry(geometry)
call this%fluxDivergence%AssociateGeometry(geometry)
call this%SetMetadata()
endsubroutine Init_DGModel1D_t