subroutine Init_DGModel3D_t(this,mesh,geometry)
implicit none
class(DGModel3D_t),intent(out) :: this
type(Mesh3D),intent(in),target :: mesh
type(SEMHex),intent(in),target :: geometry
! Local
integer :: ivar
character(LEN=3) :: ivarChar
character(LEN=25) :: varname
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_DGModel3D_t