signal_abstract_class Module

Houses abstract signal class - a wrapper for explicit time dependence


Uses


Abstract Interfaces

abstract interface

  • private function signalCalculation(this, time, period, params) result(res)

    Arguments

    Type IntentOptional Attributes Name
    class(TimeSignal), intent(inout) :: this
    real(kind=rk), intent(in) :: time
    real(kind=rk), intent(in) :: period
    real(kind=rk), intent(in), optional, dimension(:) :: params

    Return Value real(kind=rk)


Derived Types

type, public ::  TimeSignalData

Container for time signal data used tu inject explicit time dependence

Components

Type Visibility Attributes Name Initial
real(kind=rk), public, allocatable, dimension(:) :: tParams

Parameters for tSignal

real(kind=rk), public :: tPeriod

Period for tSignal

class(TimeSignal), public, allocatable :: tSignal

Optional signal object used to inject explicit time dependence

type, public, abstract ::  TimeSignal

Abstract signal class wrapping explicit time dependence. NOTE: Not meant to be initializable, hence not an object

Type-Bound Procedures

procedure(signalCalculation), public, deferred :: calculate