TrajectoryPath Derived Type

type, public, extends(TimePath) :: TrajectoryPath

A TimePath along a Trajectory's points, interpolated linearly (before its first time: its first point; after its last: its last).


Inherits

type~~trajectorypath~~InheritsGraph type~trajectorypath TrajectoryPath type~timepath TimePath type~trajectorypath->type~timepath type~trajectory Trajectory type~trajectorypath->type~trajectory trajectory

Components

Type Visibility Attributes Name Initial
type(Trajectory), public, pointer :: trajectory => null()

the trajectory followed (not owned)


Constructor

public interface TrajectoryPath

The TrajectoryPath constructor: TrajectoryPath(...) makes one (see new_trajectory_path for its arguments).

  • private function new_trajectory_path(traj) result(path)

    A path along traj (which must stay alive while used).

    Arguments

    Type IntentOptional Attributes Name
    type(Trajectory), intent(in), target :: traj

    the trajectory followed

    Return Value type(TrajectoryPath)


Type-Bound Procedures

procedure, public :: position => trajectory_path_position

  • private function trajectory_path_position(self, t) result(p)

    The trajectory's position at time t (point_at: linear between its points, its first or last point outside its times; 0 if it has none).

    Arguments

    Type IntentOptional Attributes Name
    class(TrajectoryPath), intent(in) :: self
    real(kind=wp), intent(in) :: t

    the time

    Return Value real(kind=wp), (3)

Source Code

    type, extends(TimePath), public :: TrajectoryPath
        type(Trajectory), pointer :: trajectory => null()   !! the trajectory followed (not owned)
    contains
        procedure :: position => trajectory_path_position
    end type TrajectoryPath