material_t Derived Type

type, public :: material_t


Inherits

type~~material_t~~InheritsGraph type~material_t material_t c_ptr c_ptr type~material_t->c_ptr res_cfg, th_cond_cfg, stra_cfg, t_crit_cfg, bc_cfg, jc_cfg, tcs_cfg, heat_cap_cfg

Inherited by

type~~material_t~~InheritedByGraph type~material_t material_t type~lab_prop_t lab_prop_t type~lab_prop_t->type~material_t mat type~solid_t solid_t type~solid_t->type~material_t mat type~sssrclink_t SSsrcLink_t type~sssrclink_t->type~material_t mat_ins type~strand_t strand_t type~strand_t->type~material_t mat_stab, mat_supc type~label_t label_t type~label_t->type~lab_prop_t regionArr, edgeArr type~mesh2d_t mesh2D_t type~mesh2d_t->type~label_t label

Components

Type Visibility Attributes Name Initial
character(len=:), public, allocatable :: material
real(kind=dp), public :: density = -1.0_dp
real(kind=dp), public :: E0 = -1.0_dp
integer, public :: nPow = -1
type(c_ptr), public :: res_cfg = C_NULL_PTR
type(c_ptr), public :: th_cond_cfg = C_NULL_PTR
type(c_ptr), public :: stra_cfg = C_NULL_PTR
type(c_ptr), public :: t_crit_cfg = C_NULL_PTR
type(c_ptr), public :: bc_cfg = C_NULL_PTR
type(c_ptr), public :: jc_cfg = C_NULL_PTR
type(c_ptr), public :: tcs_cfg = C_NULL_PTR
type(c_ptr), public :: heat_cap_cfg = C_NULL_PTR
procedure(itf_2var), public, pointer, nopass :: res => resistivity_not_implemented
procedure(itf_2var), public, pointer, nopass :: th_cond => thermal_conductivity_not_implemented
procedure(itf_2var), public, pointer, nopass :: stra => strain_not_implemented
procedure(itf_2var), public, pointer, nopass :: t_crit => critical_temperature_not_implemented
procedure(itf_2var), public, pointer, nopass :: bc => critical_field_not_implemented
procedure(itf_5var), public, pointer, nopass :: jc => critical_current_density_not_implemented
procedure(itf_8var), public, pointer, nopass :: tcs => current_sharing_temperature_not_implemented
procedure(itf_5var), public, pointer, nopass :: heat_cap => heat_capacity_not_implemented

Type-Bound Procedures

procedure, public :: resistivity => material_resistivity

  • public function material_resistivity(me, T, B)

    Arguments

    Type IntentOptional Attributes Name
    class(material_t), intent(inout) :: me
    real(kind=dp), intent(in) :: T
    real(kind=dp), intent(in) :: B

    Return Value real(kind=dp)

procedure, public :: resistivity_der => material_resistivity_der

  • public function material_resistivity_der(me, T, B)

    Arguments

    Type IntentOptional Attributes Name
    class(material_t), intent(inout) :: me
    real(kind=dp), intent(in) :: T
    real(kind=dp), intent(in) :: B

    Return Value real(kind=dp)

procedure, public :: thermal_conductivity => material_thermal_conductivity

  • public function material_thermal_conductivity(me, T, B)

    Arguments

    Type IntentOptional Attributes Name
    class(material_t), intent(inout) :: me
    real(kind=dp), intent(in) :: T
    real(kind=dp), intent(inout), optional :: B

    Return Value real(kind=dp)

procedure, public :: thermal_conductivity_der => material_thermal_conductivity_der

  • public function material_thermal_conductivity_der(me, T, B)

    Arguments

    Type IntentOptional Attributes Name
    class(material_t), intent(inout) :: me
    real(kind=dp), intent(in) :: T
    real(kind=dp), intent(inout), optional :: B

    Return Value real(kind=dp)

procedure, public :: strain => material_strain

  • public function material_strain(me, B, I)

    Arguments

    Type IntentOptional Attributes Name
    class(material_t), intent(inout) :: me
    real(kind=dp), intent(in) :: B
    real(kind=dp), intent(in) :: I

    Return Value real(kind=dp)

procedure, public :: critical_temperature => material_critical_temperature

  • public function material_critical_temperature(me, B, St)

    Arguments

    Type IntentOptional Attributes Name
    class(material_t), intent(inout) :: me
    real(kind=dp), intent(in) :: B
    real(kind=dp), intent(in) :: St

    Return Value real(kind=dp)

procedure, public :: critical_field => material_critical_field

  • public function material_critical_field(me, T, St)

    Arguments

    Type IntentOptional Attributes Name
    class(material_t), intent(inout) :: me
    real(kind=dp), intent(in) :: T
    real(kind=dp), intent(in) :: St

    Return Value real(kind=dp)

procedure, public :: critical_current_density => material_critical_current_density

  • public function material_critical_current_density(me, T, B, St, Tc0, Bc)

    Arguments

    Type IntentOptional Attributes Name
    class(material_t), intent(inout) :: me
    real(kind=dp), intent(in) :: T
    real(kind=dp), intent(in) :: B
    real(kind=dp), intent(in) :: St
    real(kind=dp), intent(in) :: Tc0
    real(kind=dp), intent(in) :: Bc

    Return Value real(kind=dp)

procedure, public :: critical_current_density_der => material_critical_current_density_der

  • public function material_critical_current_density_der(me, T, B, St, Tc0, Bc)

    Arguments

    Type IntentOptional Attributes Name
    class(material_t), intent(inout) :: me
    real(kind=dp), intent(in) :: T
    real(kind=dp), intent(in) :: B
    real(kind=dp), intent(in) :: St
    real(kind=dp), intent(in) :: Tc0
    real(kind=dp), intent(in) :: Bc

    Return Value real(kind=dp)

procedure, public :: current_sharing_temperature => material_current_sharing_temperature

  • public function material_current_sharing_temperature(me, B, St, Jop, Bc0, Jc0, Tc, Tc0, Bc)

    Arguments

    Type IntentOptional Attributes Name
    class(material_t), intent(inout) :: me
    real(kind=dp), intent(in) :: B
    real(kind=dp), intent(in) :: St
    real(kind=dp), intent(in) :: Jop
    real(kind=dp), intent(in) :: Bc0
    real(kind=dp), intent(in) :: Jc0
    real(kind=dp), intent(in) :: Tc
    real(kind=dp), intent(in) :: Tc0
    real(kind=dp), intent(in) :: Bc

    Return Value real(kind=dp)

procedure, public :: heat_capacity => material_heat_capacity

  • public function material_heat_capacity(me, T, B, TC, TCS, TC0)

    Arguments

    Type IntentOptional Attributes Name
    class(material_t), intent(inout) :: me
    real(kind=dp), intent(in) :: T
    real(kind=dp), intent(inout), optional :: B
    real(kind=dp), intent(inout), optional :: TC
    real(kind=dp), intent(inout), optional :: TCS
    real(kind=dp), intent(inout), optional :: TC0

    Return Value real(kind=dp)

procedure, public :: heat_capacity_der => material_heat_capacity_der

  • public function material_heat_capacity_der(me, T, B, TC, TCS, TC0)

    Arguments

    Type IntentOptional Attributes Name
    class(material_t), intent(inout) :: me
    real(kind=dp), intent(in) :: T
    real(kind=dp), intent(inout), optional :: B
    real(kind=dp), intent(inout), optional :: TC
    real(kind=dp), intent(inout), optional :: TCS
    real(kind=dp), intent(inout), optional :: TC0

    Return Value real(kind=dp)

Source Code

    type material_t
        character(:), allocatable :: material
        real(dp)    :: density = -1.0_dp
        real(dp)    :: E0      = -1.0_dp
        integer     :: nPow    = -1
        type(c_ptr) :: res_cfg      = C_NULL_PTR
        type(c_ptr) :: th_cond_cfg  = C_NULL_PTR
        type(c_ptr) :: stra_cfg     = C_NULL_PTR
        type(c_ptr) :: t_crit_cfg   = C_NULL_PTR
        type(c_ptr) :: bc_cfg       = C_NULL_PTR
        type(c_ptr) :: jc_cfg       = C_NULL_PTR
        type(c_ptr) :: tcs_cfg      = C_NULL_PTR
        type(c_ptr) :: heat_cap_cfg = C_NULL_PTR
        procedure(itf_2var), pointer, nopass :: res      => resistivity_not_implemented
        procedure(itf_2var), pointer, nopass :: th_cond  => thermal_conductivity_not_implemented
        procedure(itf_2var), pointer, nopass :: stra     => strain_not_implemented
        procedure(itf_2var), pointer, nopass :: t_crit   => critical_temperature_not_implemented
        procedure(itf_2var), pointer, nopass :: bc       => critical_field_not_implemented
        procedure(itf_5var), pointer, nopass :: jc       => critical_current_density_not_implemented
        procedure(itf_8var), pointer, nopass :: tcs      => current_sharing_temperature_not_implemented
        procedure(itf_5var), pointer, nopass :: heat_cap => heat_capacity_not_implemented
    contains   
        procedure :: resistivity                  => material_resistivity
        procedure :: resistivity_der              => material_resistivity_der  
        procedure :: thermal_conductivity         => material_thermal_conductivity
        procedure :: thermal_conductivity_der     => material_thermal_conductivity_der  
        procedure :: strain                       => material_strain
        procedure :: critical_temperature         => material_critical_temperature
        procedure :: critical_field               => material_critical_field
        procedure :: critical_current_density     => material_critical_current_density
        procedure :: critical_current_density_der => material_critical_current_density_der  
        procedure :: current_sharing_temperature  => material_current_sharing_temperature    
        procedure :: heat_capacity                => material_heat_capacity
        procedure :: heat_capacity_der            => material_heat_capacity_der          
    end type material_t