Init_ECDGModel3D_t Subroutine

public subroutine Init_ECDGModel3D_t(this, mesh, geometry)

Arguments

TypeIntentOptionalAttributesName
class(ECDGModel3D_t), intent(out) :: this
type(Mesh3D), intent(in), target:: mesh
type(SEMHex), intent(in), target:: geometry

Calls

proc~~init_ecdgmodel3d_t~~CallsGraph proc~init_ecdgmodel3d_t Init_ECDGModel3D_t proc~init_dgmodel3d_t Init_DGModel3D_t proc~init_ecdgmodel3d_t->proc~init_dgmodel3d_t

Called by

proc~~init_ecdgmodel3d_t~~CalledByGraph proc~init_ecdgmodel3d_t Init_ECDGModel3D_t proc~init_ecadvection3d Init_ECAdvection3D proc~init_ecadvection3d->proc~init_ecdgmodel3d_t proc~init_esatmo3d Init_ESAtmo3D proc~init_esatmo3d->proc~init_ecdgmodel3d_t

Contents

Source Code


Source Code

  subroutine Init_ECDGModel3D_t(this,mesh,geometry)
    implicit none
    class(ECDGModel3D_t),intent(out) :: this
    type(Mesh3D),intent(in),target :: mesh
    type(SEMHex),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

    call Init_DGModel3D_t(this,mesh,geometry)

    call this%twoPointFlux%Init(geometry%x%interp,this%nvar,mesh%nElem)
    call this%twoPointFlux%AssociateGeometry(geometry)

  endsubroutine Init_ECDGModel3D_t