particle_type Derived Type

type, public :: particle_type

纯粒子域,用于高速存储与计算


Contents

Source Code


Components

Type Visibility Attributes Name Initial
real(kind=rk), public :: hsml

光滑长度

real(kind=rk), public, allocatable :: loc(:,:)

位置, m

real(kind=rk), public, allocatable :: vel(:,:)

速度, m/s

real(kind=rk), public, allocatable :: acc(:,:)

加速度, m/s^2

real(kind=rk), public, allocatable :: mass(:)

质量, kg

real(kind=rk), public, allocatable :: rho(:)

密度, kg/m^3

real(kind=rk), public, allocatable :: drho(:)

密度变化率, kg/m^3/s

real(kind=rk), public, allocatable :: u(:)

内能密度

real(kind=rk), public, allocatable :: du(:)

内能密度变化率

real(kind=rk), public, allocatable :: p(:)

压强, Pa

real(kind=rk), public, allocatable :: c(:)

声速, m/s

integer, public, allocatable :: itype(:)

粒子类型


Type-Bound Procedures

procedure, public, :: restore_backup

  • private pure subroutine restore_backup(particle, backup, istart, iend)

    从备份中恢复

    Arguments

    Type IntentOptional Attributes Name
    class(particle_type), intent(inout) :: particle

    particle

    type(backup_type), intent(in) :: backup

    backup

    integer, intent(in) :: istart

    start and end index

    integer, intent(in) :: iend

    start and end index

procedure, public, :: create_backup

  • private pure subroutine create_backup(particle, backup, istart, iend)

    创建备份

    Arguments

    Type IntentOptional Attributes Name
    class(particle_type), intent(in) :: particle

    particle

    type(backup_type), intent(out) :: backup

    backup

    integer, intent(in) :: istart

    start and end index

    integer, intent(in) :: iend

    start and end index

Source Code

    type particle_type

        real(rk) :: hsml  !! 光滑长度

        real(rk), allocatable :: loc(:, :)  !! 位置, m
        real(rk), allocatable :: vel(:, :)  !! 速度, m/s
        real(rk), allocatable :: acc(:, :)  !! 加速度, m/s^2

        real(rk), allocatable :: mass(:)    !! 质量, kg
        real(rk), allocatable :: rho(:)     !! 密度, kg/m^3
        real(rk), allocatable :: drho(:)    !! 密度变化率, kg/m^3/s
        real(rk), allocatable :: u(:)       !! 内能密度
        real(rk), allocatable :: du(:)      !! 内能密度变化率
        real(rk), allocatable :: p(:)       !! 压强, Pa
        real(rk), allocatable :: c(:)       !! 声速, m/s

        integer, allocatable :: itype(:)    !! 粒子类型

    contains

        procedure :: create_backup, restore_backup

    end type particle_type