SELF_DGModel3D_t Module


Uses

  • module~~self_dgmodel3d_t~~UsesGraph module~self_dgmodel3d_t SELF_DGModel3D_t module~self_mesh_3d~2 SELF_Mesh_3D module~self_dgmodel3d_t->module~self_mesh_3d~2 FEQParse FEQParse module~self_dgmodel3d_t->FEQParse module~self_mappedvector_3d SELF_MappedVector_3D module~self_dgmodel3d_t->module~self_mappedvector_3d module~self_hdf5 SELF_HDF5 module~self_dgmodel3d_t->module~self_hdf5 module~self_model SELF_Model module~self_dgmodel3d_t->module~self_model HDF5 HDF5 module~self_dgmodel3d_t->HDF5 module~self_supportroutines SELF_SupportRoutines module~self_dgmodel3d_t->module~self_supportroutines module~self_metadata SELF_Metadata module~self_dgmodel3d_t->module~self_metadata iso_fortran_env iso_fortran_env module~self_dgmodel3d_t->iso_fortran_env module~self_solutionmigration SELF_SolutionMigration module~self_dgmodel3d_t->module~self_solutionmigration module~self_transferplan_3d SELF_TransferPlan_3D module~self_dgmodel3d_t->module~self_transferplan_3d module~self_mappedscalar_3d SELF_MappedScalar_3D module~self_dgmodel3d_t->module~self_mappedscalar_3d module~self_boundaryconditions SELF_BoundaryConditions module~self_dgmodel3d_t->module~self_boundaryconditions module~self_geometry_3d SELF_Geometry_3D module~self_dgmodel3d_t->module~self_geometry_3d module~self_mesh_3d_t SELF_Mesh_3D_t module~self_mesh_3d~2->module~self_mesh_3d_t module~self_mappedvector_3d_t SELF_MappedVector_3D_t module~self_mappedvector_3d->module~self_mappedvector_3d_t module~self_hdf5->HDF5 module~self_hdf5->iso_fortran_env module~self_constants SELF_Constants module~self_hdf5->module~self_constants mpi mpi module~self_hdf5->mpi module~self_model->FEQParse module~self_model->module~self_hdf5 module~self_model->HDF5 module~self_model->module~self_supportroutines module~self_model->module~self_metadata module~self_supportroutines->iso_fortran_env module~self_supportroutines->module~self_constants module~self_metadata->module~self_hdf5 module~self_metadata->HDF5 module~self_solutionmigration->iso_fortran_env module~self_domaindecomposition SELF_DomainDecomposition module~self_solutionmigration->module~self_domaindecomposition module~self_solutionmigration->module~self_constants module~self_solutionmigration->mpi module~self_transferplan_3d->module~self_constants module~self_solutiontransfer_3d SELF_SolutionTransfer_3D module~self_transferplan_3d->module~self_solutiontransfer_3d module~self_lagrange~2 SELF_Lagrange module~self_transferplan_3d->module~self_lagrange~2 module~self_octreemesh_3d SELF_OctreeMesh_3D module~self_transferplan_3d->module~self_octreemesh_3d module~self_mappedscalar_3d_t SELF_MappedScalar_3D_t module~self_mappedscalar_3d->module~self_mappedscalar_3d_t module~self_boundaryconditions->module~self_supportroutines module~self_boundaryconditions->module~self_metadata iso_c_binding iso_c_binding module~self_boundaryconditions->iso_c_binding module~self_geometry_3d->module~self_mesh_3d~2 module~self_geometry_3d->module~self_supportroutines module~self_tensor_3d SELF_Tensor_3D module~self_geometry_3d->module~self_tensor_3d module~self_scalar_3d~2 SELF_Scalar_3D module~self_geometry_3d->module~self_scalar_3d~2 module~self_geometry_3d->module~self_constants module~self_geometry_3d->module~self_lagrange~2 module~self_data SELF_Data module~self_geometry_3d->module~self_data module~self_vector_3d~2 SELF_Vector_3D module~self_geometry_3d->module~self_vector_3d~2 module~self_tensor_3d_t SELF_Tensor_3D_t module~self_tensor_3d->module~self_tensor_3d_t module~self_scalar_3d~2->module~self_constants module~self_scalar_3d~2->iso_c_binding module~self_scalar_3d_t SELF_Scalar_3D_t module~self_scalar_3d~2->module~self_scalar_3d_t module~self_mesh_3d_t->module~self_hdf5 module~self_mesh_3d_t->HDF5 module~self_mesh_3d_t->module~self_supportroutines module~self_mesh_3d_t->module~self_domaindecomposition module~self_mesh_3d_t->module~self_constants module~self_mesh_3d_t->module~self_lagrange~2 module~self_mesh_3d_t->iso_c_binding module~self_quadrature SELF_Quadrature module~self_mesh_3d_t->module~self_quadrature module~self_mesh SELF_Mesh module~self_mesh_3d_t->module~self_mesh module~self_domaindecomposition_t SELF_DomainDecomposition_t module~self_domaindecomposition->module~self_domaindecomposition_t module~self_constants->iso_fortran_env module~self_constants->iso_c_binding module~self_mappedvector_3d_t->module~self_mesh_3d~2 module~self_mappedvector_3d_t->FEQParse module~self_mappedvector_3d_t->module~self_geometry_3d module~self_mappedvector_3d_t->module~self_domaindecomposition module~self_mappedvector_3d_t->module~self_constants module~self_mappedvector_3d_t->module~self_lagrange~2 module~self_mappedvector_3d_t->iso_c_binding module~self_solutiontransfer_3d->module~self_constants module~self_solutiontransfer_3d->module~self_lagrange~2 module~self_lagrange~2->iso_fortran_env module~self_lagrange~2->module~self_constants module~self_lagrange~2->iso_c_binding module~self_lagrange_t SELF_Lagrange_t module~self_lagrange~2->module~self_lagrange_t module~self_octreemesh_3d->module~self_mesh_3d~2 module~self_octreemesh_3d->module~self_constants module~self_octreemesh_3d->module~self_lagrange~2 module~self_refinementprimitives_3d SELF_RefinementPrimitives_3D module~self_octreemesh_3d->module~self_refinementprimitives_3d module~self_mappedscalar_3d_t->module~self_mesh_3d~2 module~self_mappedscalar_3d_t->FEQParse module~self_mappedscalar_3d_t->module~self_geometry_3d module~self_mappedscalar_3d_t->module~self_tensor_3d module~self_mappedscalar_3d_t->module~self_scalar_3d~2 module~self_mappedscalar_3d_t->module~self_domaindecomposition module~self_mappedscalar_3d_t->module~self_constants module~self_mappedscalar_3d_t->module~self_lagrange~2 module~self_mappedscalar_3d_t->iso_c_binding module~self_data->FEQParse module~self_data->module~self_hdf5 module~self_data->HDF5 module~self_data->module~self_metadata module~self_data->module~self_constants module~self_data->module~self_lagrange~2 module~self_data->iso_c_binding module~self_vector_3d_t SELF_Vector_3D_t module~self_vector_3d~2->module~self_vector_3d_t module~self_tensor_3d_t->FEQParse module~self_tensor_3d_t->module~self_hdf5 module~self_tensor_3d_t->HDF5 module~self_tensor_3d_t->module~self_metadata module~self_tensor_3d_t->module~self_constants module~self_tensor_3d_t->module~self_lagrange~2 module~self_tensor_3d_t->iso_c_binding module~self_tensor_3d_t->module~self_data module~self_datapool SELF_DataPool module~self_tensor_3d_t->module~self_datapool module~self_quadrature->iso_fortran_env module~self_quadrature->module~self_constants module~self_domaindecomposition_t->module~self_supportroutines module~self_domaindecomposition_t->module~self_constants module~self_domaindecomposition_t->mpi module~self_domaindecomposition_t->module~self_lagrange~2 module~self_domaindecomposition_t->iso_c_binding module~self_scalar_3d_t->FEQParse module~self_scalar_3d_t->module~self_hdf5 module~self_scalar_3d_t->HDF5 module~self_scalar_3d_t->module~self_metadata module~self_scalar_3d_t->module~self_constants module~self_scalar_3d_t->module~self_lagrange~2 module~self_scalar_3d_t->iso_c_binding module~self_scalar_3d_t->module~self_data module~self_scalar_3d_t->module~self_datapool module~self_mesh->module~self_domaindecomposition module~self_mesh->module~self_constants module~self_mesh->iso_c_binding module~self_lagrange_t->module~self_hdf5 module~self_lagrange_t->HDF5 module~self_lagrange_t->module~self_supportroutines module~self_lagrange_t->iso_fortran_env module~self_lagrange_t->module~self_constants module~self_lagrange_t->iso_c_binding module~self_lagrange_t->module~self_quadrature module~self_refinementprimitives_3d->module~self_constants module~self_refinementprimitives_3d->module~self_lagrange~2 module~self_vector_3d_t->FEQParse module~self_vector_3d_t->module~self_hdf5 module~self_vector_3d_t->HDF5 module~self_vector_3d_t->module~self_metadata module~self_vector_3d_t->module~self_constants module~self_vector_3d_t->module~self_lagrange~2 module~self_vector_3d_t->iso_c_binding module~self_vector_3d_t->module~self_data module~self_vector_3d_t->module~self_datapool module~self_datapool->module~self_constants

Used by

  • module~~self_dgmodel3d_t~~UsedByGraph module~self_dgmodel3d_t SELF_DGModel3D_t module~self_dgmodel3d SELF_DGModel3D module~self_dgmodel3d->module~self_dgmodel3d_t module~self_amrcontroller_3d SELF_AMRController_3D module~self_amrcontroller_3d->module~self_dgmodel3d_t module~self_dgmodel3d~2 SELF_DGModel3D module~self_dgmodel3d~2->module~self_dgmodel3d_t module~self_ecdgmodel3d_t SELF_ECDGModel3D_t module~self_ecdgmodel3d_t->module~self_dgmodel3d module~self_lineareuler3d_t self_LinearEuler3D_t module~self_lineareuler3d_t->module~self_dgmodel3d module~self_advection_diffusion_3d_t self_advection_diffusion_3d_t module~self_advection_diffusion_3d_t->module~self_dgmodel3d module~self_nulldgmodel3d_t self_NullDGModel3D_t module~self_nulldgmodel3d_t->module~self_dgmodel3d module~self_ecdgmodel3d~2 SELF_ECDGModel3D module~self_ecdgmodel3d~2->module~self_ecdgmodel3d_t module~self_ecdgmodel3d SELF_ECDGModel3D module~self_ecdgmodel3d->module~self_ecdgmodel3d_t module~self_lineareuler3d self_LinearEuler3D module~self_lineareuler3d->module~self_lineareuler3d_t module~self_esatmo3d~2 SELF_ESAtmo3D module~self_esatmo3d~2->module~self_ecdgmodel3d_t module~self_esatmo3d_t SELF_ESAtmo3D_t module~self_esatmo3d~2->module~self_esatmo3d_t module~self_ecadvection3d SELF_ECAdvection3D module~self_ecadvection3d->module~self_ecdgmodel3d_t module~self_ecadvection3d_t SELF_ECAdvection3D_t module~self_ecadvection3d->module~self_ecadvection3d_t module~self_lineareuler3d~2 self_LinearEuler3D module~self_lineareuler3d~2->module~self_lineareuler3d_t module~self_advection_diffusion_3d self_advection_diffusion_3d module~self_advection_diffusion_3d->module~self_advection_diffusion_3d_t module~self_advection_diffusion_3d~2 self_advection_diffusion_3d module~self_advection_diffusion_3d~2->module~self_advection_diffusion_3d_t module~self_nulldgmodel3d~2 self_NullDGModel3D module~self_nulldgmodel3d~2->module~self_nulldgmodel3d_t module~self_nulldgmodel3d self_NullDGModel3D module~self_nulldgmodel3d->module~self_nulldgmodel3d_t module~self_esatmo3d_t->module~self_ecdgmodel3d~2 module~self_ecadvection3d_t->module~self_ecdgmodel3d~2 module~self_esatmo3d SELF_ESAtmo3D module~self_esatmo3d->module~self_esatmo3d_t module~self_ecadvection3d~2 SELF_ECAdvection3D module~self_ecadvection3d~2->module~self_ecadvection3d_t

Contents


Derived Types

type, public, extends(Model) :: DGModel3D_t

Components

TypeVisibilityAttributesNameInitial
type(MappedScalar3D), public :: dSdt
real(kind=prec), public :: dt
real(kind=prec), public :: entropy
type(MappedVector3D), public :: flux
type(MappedScalar3D), public :: fluxDivergence
type(SEMHex), public, pointer:: geometry
logical, public :: gradient_enabled =.false.
type(BoundaryConditionList), public :: hyperbolicBCs
integer, public :: ioIterate =0
type(Mesh3D), public, pointer:: mesh
integer, public :: nUnmappedBoundaries =0

The first unregistered bcid found, and meaningful only when nUnmappedBoundaries > 0: -1 is itself a legal bcid, so it cannot double as an "absent" marker.

integer, public :: nstepped =0
integer, public :: nvar
type(BoundaryConditionList), public :: parabolicBCs

Mesh boundary faces whose sideInfo(5) boundary condition id matches no registered boundary condition, counted over the whole domain by MapBoundaryConditions and summed across ranks. Nothing writes solution%extBoundary on such a face, so the Riemann solver reads zeros at t = 0 and stale values afterwards. ReportUnmappedBoundaries warns about them once, from the top of ForwardStep.

logical, public :: prescribed_bcs_enabled =.true.
type(MappedScalar3D), public :: solution
type(MappedVector3D), public :: solutionGradient
type(MappedScalar3D), public :: source
real(kind=prec), public :: t
logical, public :: tecplot_enabled =.true.
procedure(SELF_timeIntegrator), public, pointer:: timeIntegrator=> Euler_timeIntegrator
real(kind=prec), public, allocatable:: transferStage(:,:,:,:,:)

Migrated old-element window, held between MigrateOldWindow and ApplyTransferPlan on the multi-rank path: the contiguous run of OLD elements this rank's new element range references. Flat, because it is viewed through a rank-remapped pointer whose element lower bound is the window's first GLOBAL old element index - the numbering the transfer plan uses. Persistent and grow-only, so a settled adapting run allocates nothing here. The GPU backend overrides the migration and keeps the window in device memory instead, leaving this unallocated.

logical, public :: unmappedBoundariesReported =.false.
integer, public :: unmappedBoundaryID =-1
real(kind=prec), public, allocatable:: winStage(:)
integer, public :: winStageFirst =0

global old index of winStage's first element

integer, public :: winStageN =0

window element count; 0 means no window is migrated

type(MappedScalar3D), public :: workSol

Type-Bound Procedures

procedure, public :: AdditionalFree => AdditionalFree_Model
procedure, public :: AdditionalInit => AdditionalInit_Model
procedure, public :: AdditionalOutput => AdditionalOutput_Model
procedure, public :: ApplyTransferPlan => ApplyTransferPlan_DGModel3D_t
procedure, public :: BoundaryFlux => BoundaryFlux_DGModel3D_t
procedure, public :: CalculateEntropy => CalculateEntropy_DGModel3D_t
procedure, public :: CalculateSolutionGradient => CalculateSolutionGradient_DGModel3D_t
procedure, public :: CalculateTendency => CalculateTendency_DGModel3D_t
procedure, public :: DownloadOldWindow => DownloadOldWindow_DGModel3D_t
procedure, public :: Euler_timeIntegrator
procedure, public :: FluxMethod => fluxmethod_DGModel3D_t
procedure, public :: ForwardStep => ForwardStep_Model
procedure, public :: Free => Free_DGModel3D_t
procedure, public :: GetSimulationTime
procedure, public :: IncrementIOCounter
procedure, public :: Init => Init_DGModel3D_t
procedure, public :: LowStorageRK2_timeIntegrator
procedure, public :: LowStorageRK3_timeIntegrator
procedure, public :: LowStorageRK4_timeIntegrator
procedure, public :: MapBoundaryConditions => MapBoundaryConditions_DGModel3D_t
procedure, public :: MigrateOldWindow => MigrateOldWindow_DGModel3D_t
procedure, public :: PostStepHook => PostStepHook_Model
procedure, public :: PreStepHook => PreStepHook_Model
procedure, public :: PreTendencyHook => PreTendencyHook_Model
procedure, public :: PrintType => PrintType_Model
procedure, public :: ReadModel => Read_DGModel3D_t
procedure, public :: Regrid => Regrid_DGModel3D_t
procedure, public :: ReportEntropy => ReportEntropy_Model
procedure, public :: ReportMetrics => ReportMetrics_DGModel3D_t
procedure, public :: ReportUnmappedBoundaries => ReportUnmappedBoundaries_DGModel3D_t
procedure, public :: ReportUserMetrics => ReportUserMetrics_Model
procedure, public :: SetBoundaryCondition => setboundarycondition_DGModel3D_t
procedure, public :: SetGradientBoundaryCondition => setgradientboundarycondition_DGModel3D_t
procedure, public :: SetMetadata => SetMetadata_DGModel3D_t
procedure, public :: SetNumberOfVariables => SetNumberOfVariables_Model
procedure, public :: SetSimulationTime
generic, public :: SetSolution => SetSolutionFromChar_DGModel3D_t, SetSolutionFromEqn_DGModel3D_t
procedure, private :: SetSolutionFromChar_DGModel3D_t
procedure, private :: SetSolutionFromEqn_DGModel3D_t
generic, public :: SetTimeIntegrator => SetTimeIntegrator_withChar
procedure, public :: SourceMethod => sourcemethod_DGModel3D_t
procedure, public :: StageSolutionForTransfer => StageSolutionForTransfer_DGModel3D_t
procedure, public :: UpdateGRK2 => UpdateGRK2_DGModel3D_t
procedure, public :: UpdateGRK3 => UpdateGRK3_DGModel3D_t
procedure, public :: UpdateGRK4 => UpdateGRK4_DGModel3D_t
procedure, public :: UpdateSolution => UpdateSolution_DGModel3D_t
procedure, public :: WriteModel => Write_DGModel3D_t
procedure, public :: WriteTecplot => WriteTecplot_DGModel3D_t
procedure, public :: entropy_func => entropy_func_Model
procedure, public :: flux1D => flux1d_Model
procedure, public :: flux2D => flux2d_Model
procedure, public :: flux3D => flux3d_Model
procedure, public :: riemannflux1d => riemannflux1d_Model
procedure, public :: riemannflux2d => riemannflux2d_Model
procedure, public :: riemannflux3d => riemannflux3d_Model
procedure, public :: source1d => source1d_Model
procedure, public :: source2d => source2d_Model
procedure, public :: source3d => source3d_Model

Subroutines

public subroutine ApplyTransferPlan_DGModel3D_t(this, plan, interp, eFirst, eLast, uGlobal, oldFirst)

Transfer the staged pre-regrid solution onto the regridded mesh through plan, filling the rank-local element range [eFirst,eLast] of the new solution.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(DGModel3D_t), intent(inout), target:: this
type(TransferPlan3D), intent(in), target:: plan
type(Lagrange), intent(in) :: interp
integer, intent(in) :: eFirst
integer, intent(in) :: eLast
real(kind=prec), intent(in), optional contiguous:: uGlobal(:,:,:,:,:)
integer, intent(in), optional :: oldFirst

public subroutine BoundaryFlux_DGModel3D_t(this)

Arguments

TypeIntentOptionalAttributesName
class(DGModel3D_t), intent(inout) :: this

public subroutine CalculateEntropy_DGModel3D_t(this)

Arguments

TypeIntentOptionalAttributesName
class(DGModel3D_t), intent(inout) :: this

Arguments

TypeIntentOptionalAttributesName
class(DGModel3D_t), intent(inout) :: this

public subroutine CalculateTendency_DGModel3D_t(this)

Arguments

TypeIntentOptionalAttributesName
class(DGModel3D_t), intent(inout) :: this

public subroutine DownloadOldWindow_DGModel3D_t(this, wFirst, wLast, uWin)

Copy the migrated window into a host array, for the SELF_AMR_MIGRATE_VERIFY diagnostic. Diagnostic-only and off the default path: on a GPU build the override is a device-to-host transfer of the whole window, which is exactly the traffic the device path exists to avoid.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(DGModel3D_t), intent(in) :: this
integer, intent(in) :: wFirst
integer, intent(in) :: wLast
real(kind=prec), intent(out), target, contiguous:: uWin(:,:,:,:,:)

(Np,Np,Np,nWinElem,nvar)

public subroutine Free_DGModel3D_t(this)

Arguments

TypeIntentOptionalAttributesName
class(DGModel3D_t), intent(inout) :: this

public subroutine Init_DGModel3D_t(this, mesh, geometry)

Arguments

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

public subroutine MapBoundaryConditions_DGModel3D_t(this)

Scan the mesh sideInfo and populate the elements/sides arrays for each registered boundary condition.

Arguments

TypeIntentOptionalAttributesName
class(DGModel3D_t), intent(inout) :: this

public subroutine MigrateOldWindow_DGModel3D_t(this, winFirst, winLast, wFirst, wLast, nBytesRecv, nBytesSent, nElemRemote)

Migrate the pre-regrid solution into this rank's old-element window, ready for a windowed ApplyTransferPlan. Call it BEFORE Regrid, which releases the storage the sends read:

Read more…

Arguments

TypeIntentOptionalAttributesName
class(DGModel3D_t), intent(inout) :: this
integer, intent(in) :: winFirst(:)

(1:nRanks) window lower bounds, from PlanWindows

integer, intent(in) :: winLast(:)

(1:nRanks) window upper bounds

integer, intent(in) :: wFirst

this rank's window (wFirst > wLast if empty)

integer, intent(in) :: wLast
integer(kind=int64), intent(inout) :: nBytesRecv
integer(kind=int64), intent(inout) :: nBytesSent
integer(kind=int64), intent(inout) :: nElemRemote

public subroutine Read_DGModel3D_t(this, fileName)

Arguments

TypeIntentOptionalAttributesName
class(DGModel3D_t), intent(inout) :: this
character, intent(in) :: fileName

public subroutine Regrid_DGModel3D_t(this, mesh, geometry)

Rebind a live model to a new mesh/geometry pair (AMR regrid). The mesh-sized solution storage is reallocated and the boundary-condition registrations and maps are rebuilt for the new mesh, while everything that is not mesh-sized is preserved: the time state (t, dt, entropy, IO counter), the time-integrator selection, configuration flags, and any model-specific parameters (Init is intent(out) and would reset all of these). nvar/nstepped are unchanged - the model solves the same equations on a new mesh.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(DGModel3D_t), intent(inout) :: this
type(Mesh3D), intent(in), target:: mesh
type(SEMHex), intent(in), target:: geometry

public subroutine ReportMetrics_DGModel3D_t(this)

Base method for reporting the entropy of a model to stdout. Only override this procedure if additional reporting is needed. Alternatively, if you think additional reporting would be valuable for all models, open a pull request with modifications to this base method.

Arguments

TypeIntentOptionalAttributesName
class(DGModel3D_t), intent(inout) :: this

public subroutine ReportUnmappedBoundaries_DGModel3D_t(this)

Warn, once, about mesh boundary faces whose bcid has no registered boundary condition. MapBoundaryConditions establishes the count; ForwardStep calls this.

Read more…

Arguments

TypeIntentOptionalAttributesName
class(DGModel3D_t), intent(inout) :: this

public subroutine SetMetadata_DGModel3D_t(this)

Arguments

TypeIntentOptionalAttributesName
class(DGModel3D_t), intent(inout) :: this

public subroutine SetSolutionFromChar_DGModel3D_t(this, eqnChar)

Arguments

TypeIntentOptionalAttributesName
class(DGModel3D_t), intent(inout) :: this
character, intent(in) :: eqnChar(1:this%solution%nVar)

public subroutine SetSolutionFromEqn_DGModel3D_t(this, eqn)

Arguments

TypeIntentOptionalAttributesName
class(DGModel3D_t), intent(inout) :: this
type(EquationParser), intent(in) :: eqn(1:this%solution%nVar)

public subroutine StageSolutionForTransfer_DGModel3D_t(this)

Preserve the current solution ahead of a regrid, so that Regrid may release the storage it lives in. Pair with ApplyTransferPlan, which consumes the staged copy:

Read more…

Arguments

TypeIntentOptionalAttributesName
class(DGModel3D_t), intent(inout) :: this

public subroutine UpdateGRK2_DGModel3D_t(this, m)

Arguments

TypeIntentOptionalAttributesName
class(DGModel3D_t), intent(inout) :: this
integer, intent(in) :: m

public subroutine UpdateGRK3_DGModel3D_t(this, m)

Arguments

TypeIntentOptionalAttributesName
class(DGModel3D_t), intent(inout) :: this
integer, intent(in) :: m

public subroutine UpdateGRK4_DGModel3D_t(this, m)

Arguments

TypeIntentOptionalAttributesName
class(DGModel3D_t), intent(inout) :: this
integer, intent(in) :: m

public subroutine UpdateSolution_DGModel3D_t(this, dt)

Computes a solution update as , where dt is either provided through the interface or taken as the Model's stored time step size (model % dt)

Arguments

TypeIntentOptionalAttributesName
class(DGModel3D_t), intent(inout) :: this
real(kind=prec), intent(in), optional :: dt

public subroutine WriteTecplot_DGModel3D_t(this, filename)

Arguments

TypeIntentOptionalAttributesName
class(DGModel3D_t), intent(inout) :: this
character, intent(in), optional :: filename

public subroutine Write_DGModel3D_t(this, fileName)

Arguments

TypeIntentOptionalAttributesName
class(DGModel3D_t), intent(inout) :: this
character, intent(in), optional :: fileName

public subroutine fluxmethod_DGModel3D_t(this)

Arguments

TypeIntentOptionalAttributesName
class(DGModel3D_t), intent(inout) :: this

public subroutine setboundarycondition_DGModel3D_t(this)

Apply registered boundary conditions for the solution.

Arguments

TypeIntentOptionalAttributesName
class(DGModel3D_t), intent(inout) :: this

Apply registered boundary conditions for the solution gradient.

Arguments

TypeIntentOptionalAttributesName
class(DGModel3D_t), intent(inout) :: this

public subroutine sourcemethod_DGModel3D_t(this)

Arguments

TypeIntentOptionalAttributesName
class(DGModel3D_t), intent(inout) :: this