time Module

Calculate the time step for the current iteration


Uses

  • module~~time~~UsesGraph module~time time module~read read module~time->module~read module~face_interpolant face_interpolant module~time->module~face_interpolant mpi mpi module~time->mpi module~viscosity viscosity module~time->module~viscosity module~utils utils module~time->module~utils module~vartypes vartypes module~time->module~vartypes module~read->module~vartypes module~face_interpolant->module~utils module~face_interpolant->module~vartypes module~ppm ppm module~face_interpolant->module~ppm module~muscl muscl module~face_interpolant->module~muscl module~weno weno module~face_interpolant->module~weno module~weno_nm weno_NM module~face_interpolant->module~weno_nm module~viscosity->module~utils module~viscosity->module~vartypes module~global_kkl global_kkl module~viscosity->module~global_kkl module~copy_bc copy_bc module~viscosity->module~copy_bc module~global_sst global_sst module~viscosity->module~global_sst module~gradients gradients module~viscosity->module~gradients module~global_sa global_sa module~viscosity->module~global_sa module~wall_dist wall_dist module~viscosity->module~wall_dist iso_fortran_env iso_fortran_env module~vartypes->iso_fortran_env module~ppm->module~vartypes module~muscl->module~vartypes module~global_kkl->iso_fortran_env module~copy_bc->module~vartypes module~global_sst->iso_fortran_env module~weno->module~vartypes module~gradients->module~utils module~gradients->module~vartypes module~weno_nm->module~vartypes module~global_sa->iso_fortran_env module~wall_dist->module~utils module~wall_dist->module~vartypes

Used by

  • module~~time~~UsedByGraph module~time time module~solver solver module~solver->module~time module~update update module~solver->module~update module~update->module~time program~main main program~main->module~solver

Contents


Variables

TypeVisibility AttributesNameInitial
integer, private :: nb_ticks_initial

Initial value of the clock tick counter Final value of the clock tick counter Maximum value of the clock counter Number of clock ticks per second Number of clock ticks of the code

integer, private :: nb_ticks_final

Initial value of the clock tick counter Final value of the clock tick counter Maximum value of the clock counter Number of clock ticks per second Number of clock ticks of the code

integer, private :: nb_ticks_max

Initial value of the clock tick counter Final value of the clock tick counter Maximum value of the clock counter Number of clock ticks per second Number of clock ticks of the code

integer, private :: nb_ticks_sec

Initial value of the clock tick counter Final value of the clock tick counter Maximum value of the clock counter Number of clock ticks per second Number of clock ticks of the code

integer, private :: nb_ticks

Initial value of the clock tick counter Final value of the clock tick counter Maximum value of the clock counter Number of clock ticks per second Number of clock ticks of the code

real(kind=wp), private :: elapsed_time

real(wp) time in seconds

real(kind=wp), private :: t1

Start clock time

real(kind=wp), private :: t2

Finish clock time

real(kind=wp), private :: cpu_time_elapsed
real(kind=wp), private :: sim_clock =0.0
integer, private :: imx
integer, private :: jmx
integer, private :: kmx
integer, private :: n_var

Functions

private function write_time(time_in_seconds) result(string)

Particular format to write time in output log file

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in) :: time_in_seconds

Time to output

Return Value character(len=64)

Time as string in particlar format


Subroutines

public subroutine setup_time(delta_t, control, dims)

Allocate memeroy and setup initial clock

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(out), dimension(:,:,:), allocatable:: delta_t

Local time increment value at each cell center

type(controltype), intent(in) :: control

Control parameters

type(extent), intent(in) :: dims

Extent of the domain:imx,jmx,kmx

public subroutine destroy_time(control)

Deallocate memory and find simulation time.

Arguments

Type IntentOptional AttributesName
type(controltype), intent(in) :: control

Control parameters

private subroutine compute_local_time_step(qp, delta_t, cells, Ifaces, Jfaces, Kfaces, CFL, scheme, flow, dims)

Compute the time step to be used at each cell center

Read more…

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(-2:dims%imx+2, -2:dims%jmx+2, -2:dims%kmx+2, 1:dims%n_var), target:: qp

Store primitive variable at cell center

real(kind=wp), intent(inout), dimension(1:dims%imx-1, 1:dims%jmx-1, 1:dims%kmx-1):: delta_t

Local time increment value at each cell center

type(celltype), intent(in), dimension(-2:dims%imx+2,-2:dims%jmx+2,-2:dims%kmx+2):: cells

Input cell quantities: volume

type(facetype), intent(in), dimension(-2:dims%imx+3,-2:dims%jmx+2,-2:dims%kmx+2):: Ifaces

Store face quantites for I faces

type(facetype), intent(in), dimension(-2:dims%imx+2,-2:dims%jmx+3,-2:dims%kmx+2):: Jfaces

Store face quantites for J faces

type(facetype), intent(in), dimension(-2:dims%imx+2,-2:dims%jmx+2,-2:dims%kmx+3):: Kfaces

Store face quantites for K faces

real(kind=wp), intent(in) :: CFL

CFL number

type(schemetype), intent(in) :: scheme

finite-volume Schemes

type(flowtype), intent(in) :: flow

Information about fluid flow: freestream-speed, ref-viscosity,etc.

type(extent), intent(in) :: dims

Extent of the domain:imx,jmx,kmx

private subroutine compute_global_time_step(qp, delta_t, cells, Ifaces, Jfaces, Kfaces, CFL, scheme, flow, dims)

Compute a common time step to be used at all cell centers

Read more…

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(-2:dims%imx+2, -2:dims%jmx+2, -2:dims%kmx+2, 1:dims%n_var), target:: qp

Store primitive variable at cell center

real(kind=wp), intent(inout), dimension(1:dims%imx-1, 1:dims%jmx-1, 1:dims%kmx-1):: delta_t

Local time increment value at each cell center

type(celltype), intent(in), dimension(-2:dims%imx+2,-2:dims%jmx+2,-2:dims%kmx+2):: cells

Input cell quantities: volume

type(facetype), intent(in), dimension(-2:dims%imx+3,-2:dims%jmx+2,-2:dims%kmx+2):: Ifaces

Store face quantites for I faces

type(facetype), intent(in), dimension(-2:dims%imx+2,-2:dims%jmx+3,-2:dims%kmx+2):: Jfaces

Store face quantites for J faces

type(facetype), intent(in), dimension(-2:dims%imx+2,-2:dims%jmx+2,-2:dims%kmx+3):: Kfaces

Store face quantites for K faces

real(kind=wp), intent(in) :: CFL

CFL number

type(schemetype), intent(in) :: scheme

finite-volume Schemes

type(flowtype), intent(in) :: flow

Information about fluid flow: freestream-speed, ref-viscosity,etc.

type(extent), intent(in) :: dims

Extent of the domain:imx,jmx,kmx

public subroutine compute_time_step(qp, delta_t, CFL, cells, Ifaces, Jfaces, Kfaces, scheme, flow, dims)

Compute the time step to be used

Read more…

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(-2:dims%imx+2, -2:dims%jmx+2, -2:dims%kmx+2, 1:dims%n_var), target:: qp

Store primitive variable at cell center

real(kind=wp), intent(inout), dimension(1:dims%imx-1, 1:dims%jmx-1, 1:dims%kmx-1):: delta_t

Local time increment value at each cell center

real(kind=wp), intent(in) :: CFL

CFL number

type(celltype), intent(in), dimension(-2:dims%imx+2,-2:dims%jmx+2,-2:dims%kmx+2):: cells

Input cell quantities: volume

type(facetype), intent(in), dimension(-2:dims%imx+3,-2:dims%jmx+2,-2:dims%kmx+2):: Ifaces

Store face quantites for I faces

type(facetype), intent(in), dimension(-2:dims%imx+2,-2:dims%jmx+3,-2:dims%kmx+2):: Jfaces

Store face quantites for J faces

type(facetype), intent(in), dimension(-2:dims%imx+2,-2:dims%jmx+2,-2:dims%kmx+3):: Kfaces

Store face quantites for K faces

type(schemetype), intent(in) :: scheme

finite-volume Schemes

type(flowtype), intent(in) :: flow

Information about fluid flow: freestream-speed, ref-viscosity,etc.

type(extent), intent(in) :: dims

Extent of the domain:imx,jmx,kmx

public subroutine update_simulation_clock(delta_t, scheme, dims)

Update the simulation clock

Read more…

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(1:dims%imx-1, 1:dims%jmx-1, 1:dims%kmx-1):: delta_t

Local time increment value at each cell center

type(schemetype), intent(in) :: scheme

finite-volume Schemes: time stepping methods

type(extent), intent(in) :: dims

Extent of the domain:imx,jmx,kmx

private subroutine add_viscous_time(qp, delta_t, cells, Ifaces, Jfaces, Kfaces, CFL, flow, dims)

Addition to local time step due to viscous effects

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(-2:dims%imx+2, -2:dims%jmx+2, -2:dims%kmx+2, 1:dims%n_var), target:: qp

Store primitive variable at cell center

real(kind=wp), intent(inout), dimension(1:dims%imx-1, 1:dims%jmx-1, 1:dims%kmx-1):: delta_t

Local time increment value at each cell center

type(celltype), intent(in), dimension(-2:dims%imx+2,-2:dims%jmx+2,-2:dims%kmx+2):: cells

Input cell quantities: volume

type(facetype), intent(in), dimension(-2:dims%imx+3,-2:dims%jmx+2,-2:dims%kmx+2):: Ifaces

Store face quantites for I faces

type(facetype), intent(in), dimension(-2:dims%imx+2,-2:dims%jmx+3,-2:dims%kmx+2):: Jfaces

Store face quantites for J faces

type(facetype), intent(in), dimension(-2:dims%imx+2,-2:dims%jmx+2,-2:dims%kmx+3):: Kfaces

Store face quantites for K faces

real(kind=wp), intent(in) :: CFL

CFL number

type(flowtype), intent(in) :: flow

Information about fluid flow: freestream-speed, ref-viscosity,etc.

type(extent), intent(in) :: dims

Extent of the domain:imx,jmx,kmx

private subroutine add_turbulent_time(qp, delta_t, cells, Ifaces, Jfaces, Kfaces, CFL, flow, dims)

Addition to local time step due to turbulence

Arguments

Type IntentOptional AttributesName
real(kind=wp), intent(in), dimension(-2:dims%imx+2, -2:dims%jmx+2, -2:dims%kmx+2, 1:dims%n_var), target:: qp

Store primitive variable at cell center

real(kind=wp), intent(inout), dimension(1:dims%imx-1, 1:dims%jmx-1, 1:dims%kmx-1):: delta_t

Local time increment value at each cell center

type(celltype), intent(in), dimension(-2:dims%imx+2,-2:dims%jmx+2,-2:dims%kmx+2):: cells

Input cell quantities: volume

type(facetype), intent(in), dimension(-2:dims%imx+3,-2:dims%jmx+2,-2:dims%kmx+2):: Ifaces

Store face quantites for I faces

type(facetype), intent(in), dimension(-2:dims%imx+2,-2:dims%jmx+3,-2:dims%kmx+2):: Jfaces

Store face quantites for J faces

type(facetype), intent(in), dimension(-2:dims%imx+2,-2:dims%jmx+2,-2:dims%kmx+3):: Kfaces

Store face quantites for K faces

real(kind=wp), intent(in) :: CFL

CFL number

type(flowtype), intent(in) :: flow

Information about fluid flow: freestream-speed, ref-viscosity,etc.

type(extent), intent(in) :: dims

Extent of the domain:imx,jmx,kmx