Init_ECDGModel2D_t Subroutine

public subroutine Init_ECDGModel2D_t(this, mesh, geometry)

Arguments

TypeIntentOptionalAttributesName
class(ECDGModel2D_t), intent(out) :: this
type(Mesh2D), intent(in), target:: mesh
type(SEMQuad), intent(in), target:: geometry

Calls

proc~~init_ecdgmodel2d_t~~CallsGraph proc~init_ecdgmodel2d_t Init_ECDGModel2D_t proc~init_dgmodel2d_t Init_DGModel2D_t proc~init_ecdgmodel2d_t->proc~init_dgmodel2d_t

Called by

proc~~init_ecdgmodel2d_t~~CalledByGraph proc~init_ecdgmodel2d_t Init_ECDGModel2D_t proc~init_esatmo2d Init_ESAtmo2D proc~init_esatmo2d->proc~init_ecdgmodel2d_t proc~init_ecadvection2d Init_ECAdvection2D proc~init_ecadvection2d->proc~init_ecdgmodel2d_t

Contents

Source Code


Source Code

  subroutine Init_ECDGModel2D_t(this,mesh,geometry)
    implicit none
    class(ECDGModel2D_t),intent(out) :: this
    type(Mesh2D),intent(in),target :: mesh
    type(SEMQuad),intent(in),target :: geometry

    ! The entropy-conserving split form requires entropy-stable mortar operators at
    ! nonconforming interfaces, which are not implemented; the plain L2 mortar
    ! projection would break the provable entropy estimate.
    if(mesh%nMortars > 0) then
      print*,__FILE__,' : Error : EC-DGSEM models do not support nonconforming (mortar) meshes.'
      error stop 1
    endif

    ! Initialise all parent fields (solution, flux, source, ...)
    call Init_DGModel2D_t(this,mesh,geometry)

    ! Additional two-point flux field
    call this%twoPointFlux%Init(geometry%x%interp,this%nvar,mesh%nElem)
    call this%twoPointFlux%AssociateGeometry(geometry)

  endsubroutine Init_ECDGModel2D_t