Light_ Derived Type

type, public :: Light_


Components

Type Visibility Attributes Name Initial
character(len=200), public :: lighttype = "sun"
real(kind=real64), public :: position(3)
real(kind=real64), public :: maxPPFD
real(kind=real64), public :: angles(1:2) = [180.0d0, 90.0d0]
real(kind=real64), public :: spectrum(2048)
type(Earth_), public, pointer :: earth
type(FEMDomain_), public :: femdomain

Type-Bound Procedures

procedure, public :: init => initLight

  • public subroutine initLight(obj, config)

    Arguments

    Type IntentOptional Attributes Name
    class(Light_), intent(inout) :: obj
    character(len=*), intent(in), optional :: config

procedure, public :: turnOff => turnOffLight

  • public subroutine turnOffLight(this)

    Arguments

    Type IntentOptional Attributes Name
    class(Light_), intent(inout) :: this

procedure, public, pass :: addSpectrumLight

  • public subroutine addSpectrumLight(this, filename)

    Arguments

    Type IntentOptional Attributes Name
    class(Light_), intent(inout) :: this
    character(len=*), intent(in) :: filename

procedure, public, pass :: addSpectrum_by_single_Light

  • public subroutine addSpectrum_by_single_Light(this, wavelength, peak_radiation, sigma)

    Arguments

    Type IntentOptional Attributes Name
    class(Light_), intent(inout) :: this
    real(kind=real64), intent(in) :: wavelength
    real(kind=real64), intent(in) :: peak_radiation
    real(kind=real64), intent(in) :: sigma

generic, public :: addSpectrum => addSpectrumLight, addSpectrum_by_single_Light

  • public subroutine addSpectrumLight(this, filename)

    Arguments

    Type IntentOptional Attributes Name
    class(Light_), intent(inout) :: this
    character(len=*), intent(in) :: filename
  • public subroutine addSpectrum_by_single_Light(this, wavelength, peak_radiation, sigma)

    Arguments

    Type IntentOptional Attributes Name
    class(Light_), intent(inout) :: this
    real(kind=real64), intent(in) :: wavelength
    real(kind=real64), intent(in) :: peak_radiation
    real(kind=real64), intent(in) :: sigma

procedure, public :: to_RGB => to_RGB_LightClass

  • public function to_RGB_LightClass(this) result(ret)

    Arguments

    Type IntentOptional Attributes Name
    class(Light_), intent(in) :: this

    Return Value real(kind=real64), (1:3)

procedure, public :: setSunLight => setSunLightLight

  • public subroutine setSunLightLight(obj, earth)

    Arguments

    Type IntentOptional Attributes Name
    class(Light_), intent(inout) :: obj
    type(Earth_), intent(in), optional, target :: earth

procedure, public :: updateSunLight => updateSunLightLight

  • public subroutine updateSunLightLight(obj, Now, DateTime)

    Arguments

    Type IntentOptional Attributes Name
    class(Light_), intent(inout) :: obj
    logical, intent(in), optional :: Now
    integer(kind=int32), intent(in), optional :: DateTime(6)