material_nbti_init Subroutine

public subroutine material_nbti_init(cfg, density, c_pt)

Arguments

Type IntentOptional Attributes Name
class(input_t), intent(in), target :: cfg
real(kind=dp), intent(out) :: density
type(c_ptr), intent(out) :: c_pt

Calls

proc~~material_nbti_init~~CallsGraph proc~material_nbti_init material_nbti_init proc~input_dbl input_t%input_dbl proc~material_nbti_init->proc~input_dbl proc~continue_if continue_if proc~input_dbl->proc~continue_if proc~get0d_hdf5 get0d_hdf5 proc~input_dbl->proc~get0d_hdf5 proc~input_has_key input_t%input_has_key proc~input_dbl->proc~input_has_key proc~input_node input_t%input_node proc~input_dbl->proc~input_node to_real to_real proc~input_dbl->to_real proc~get0d_hdf5->proc~input_has_key h5close_f h5close_f proc~get0d_hdf5->h5close_f h5dclose_f h5dclose_f proc~get0d_hdf5->h5dclose_f h5dopen_f h5dopen_f proc~get0d_hdf5->h5dopen_f h5dread_f h5dread_f proc~get0d_hdf5->h5dread_f h5fclose_f h5fclose_f proc~get0d_hdf5->h5fclose_f h5fopen_f h5fopen_f proc~get0d_hdf5->h5fopen_f h5ltget_dataset_info_f h5ltget_dataset_info_f proc~get0d_hdf5->h5ltget_dataset_info_f h5open_f h5open_f proc~get0d_hdf5->h5open_f proc~input_str input_t%input_str proc~get0d_hdf5->proc~input_str get get proc~input_has_key->get proc~select_dict select_dict proc~input_has_key->proc~select_dict proc~input_node->get proc~dictionary_traverse dictionary_traverse proc~input_node->proc~dictionary_traverse proc~input_node->proc~select_dict proc~dictionary_traverse->proc~dictionary_traverse get_dictionary get_dictionary proc~dictionary_traverse->get_dictionary proc~abort_if abort_if proc~dictionary_traverse->proc~abort_if proc~input_str->proc~input_has_key proc~input_str->proc~input_node proc~select_scalar select_scalar proc~input_str->proc~select_scalar

Called by

proc~~material_nbti_init~~CalledByGraph proc~material_nbti_init material_nbti_init proc~set_material set_material proc~set_material->proc~material_nbti_init proc~load_materials load_materials proc~load_materials->proc~set_material program~reims_p reims_p program~reims_p->proc~load_materials

Source Code

  subroutine material_nbti_init(cfg,density,c_pt)  
      class(input_t), target, intent(in) :: cfg
      real(dp), intent(out) :: density
      type(c_ptr), intent(out) :: c_pt

      type(nbti_cfg_t), pointer :: nbti_ptr ! fortran pointer

      density=cfg%dbl('density',6000.0_dp)

      allocate(nbti_ptr)
      nbti_ptr%E0    = cfg%dbl('E0',1.0e-5_dp)
      nbti_ptr%nPow  = cfg%int('nPow',5)      
      nbti_ptr%str1  = cfg%dbl('str1',0.00742_dp)
      nbti_ptr%str2  = cfg%dbl('str2',1.301e-9_dp)
      nbti_ptr%Bc20  = cfg%dbl('Bc20',13.72_dp)
      nbti_ptr%Tc0_p = cfg%dbl('Tc0_p',8.79_dp)
      nbti_ptr%nu    = cfg%dbl('nu',1.7_dp)      
      nbti_ptr%CC0   = cfg%dbl('CC0',8.92534e11_dp)
      nbti_ptr%p     = cfg%dbl('p',0.98_dp)
      nbti_ptr%q     = cfg%dbl('q',0.98_dp)
      nbti_ptr%n     = cfg%dbl('n',1.96_dp)

      c_pt = c_loc(nbti_ptr) ! translates fortran pointer to C pointer
  end subroutine material_nbti_init