Property Derived Type

type, public, abstract :: Property

Property base type

Define the basics that a property can have.


Inherited by

type~~property~~InheritedByGraph type~property Property type~groups Groups type~groups->type~property type~scalarproperty ScalarProperty type~scalarproperty->type~property type~criticalconstants CriticalConstants type~criticalconstants->type~scalarproperty critical_pressure, critical_temperature, critical_volume, acentric_factor type~substance Substance type~substance->type~groups unifac_vle type~substance->type~scalarproperty parachor, mathiascopeman type~substance->type~criticalconstants critical

Components

Type Visibility Attributes Name Initial
character(len=:), public, allocatable :: name

Property’s name

character(len=:), public, allocatable :: units

Units


Type-Bound Procedures

procedure(abs_from_json), public, deferred :: from_json

  • impure elemental subroutine abs_from_json(self, name, json_str, path) Prototype

    How a Property reader routine is espected to work.

    A Property should be setted up by providing it’s name and a json file relative (or absolute) path. The Property instance name should be setted up inside the subroutine and later on the Property value(s) should be read from the json file.

    Inside the subroutine the default forsus_dir path should be used but it should also be possible to use an optional custom path.

    An example implementation can be seen at [scalar_from_json(subroutine)]

    Arguments

    Type IntentOptional Attributes Name
    class(Property), intent(inout) :: self

    Property

    character(len=*), intent(in) :: name

    Property’s name (json key)

    character(len=*), intent(in) :: json_str

    json file path

    character(len=*), intent(in), optional :: path

    Optional database path