0.6.0
Loading...
Searching...
No Matches
type_particle Module Reference

The particle type. More...

Data Types

type  t_particle
 The generic particle tracer. More...
 

Functions/Subroutines

type(t_particle) function t_particle_construct (dimension)
 Construct a new particle.
 
subroutine t_particle_init (self, dimension)
 
subroutine t_particle_advect_euler_velox (self, dt, velox)
 
subroutine t_particle_advect_euler (self, dt, velocity_field, interpolant)
 
subroutine t_particle_advect_rk2 (self, dt_nm1, dt_n, dt, velocity_nm1, velocity_n, velocity_np1, interpolant)
 
subroutine t_particle_advect_rk3 (self, dt_nm1, dt_n, dt, velocity_nm1, velocity_n, velocity_np1, interpolant)
 
double precision function, dimension(3) interpolate_velocity_position_time (x, ndim, t, dt_nm1, dt_n, velocity_nm1, velocity_n, velocity_np1, interpolant_rec)
 Interpolate the velocity fields at the 3d position \( X \) and time \( t \), 0 being the time associated to velocity_n.
 

Detailed Description

The particle type.

Function/Subroutine Documentation

◆ interpolate_velocity_position_time()

double precision function, dimension(3) type_particle::interpolate_velocity_position_time ( double precision, dimension(3), intent(in) x,
integer, intent(in) ndim,
double precision, intent(in) t,
double precision, intent(in) dt_nm1,
double precision, intent(in) dt_n,
type(t_face_field), intent(in) velocity_nm1,
type(t_face_field), intent(in) velocity_n,
type(t_face_field), intent(in) velocity_np1,
class(t_rec_point_3d), intent(inout) interpolant_rec )

Interpolate the velocity fields at the 3d position \( X \) and time \( t \), 0 being the time associated to velocity_n.

◆ t_particle_advect_euler()

subroutine type_particle::t_particle_advect_euler ( class(t_particle), intent(inout) self,
double precision, intent(in) dt,
type(t_face_field), intent(in) velocity_field,
class(t_rec_point_3d), intent(inout) interpolant )

◆ t_particle_advect_euler_velox()

subroutine type_particle::t_particle_advect_euler_velox ( class(t_particle), intent(inout) self,
double precision, intent(in) dt,
double precision, dimension(:), intent(in) velox )

◆ t_particle_advect_rk2()

subroutine type_particle::t_particle_advect_rk2 ( class(t_particle), intent(inout) self,
double precision, intent(in) dt_nm1,
double precision, intent(in) dt_n,
double precision, intent(in) dt,
type(t_face_field), intent(in) velocity_nm1,
type(t_face_field), intent(in) velocity_n,
type(t_face_field), intent(in) velocity_np1,
class(t_rec_point_3d), intent(inout) interpolant )

◆ t_particle_advect_rk3()

subroutine type_particle::t_particle_advect_rk3 ( class(t_particle), intent(inout) self,
double precision, intent(in) dt_nm1,
double precision, intent(in) dt_n,
double precision, intent(in) dt,
type(t_face_field), intent(in) velocity_nm1,
type(t_face_field), intent(in) velocity_n,
type(t_face_field), intent(in) velocity_np1,
class(t_rec_point_3d), intent(inout) interpolant )

◆ t_particle_construct()

type(t_particle) function type_particle::t_particle_construct ( integer, intent(in) dimension)

Construct a new particle.

◆ t_particle_init()

subroutine type_particle::t_particle_init ( class(t_particle), intent(inout) self,
integer, intent(in) dimension )