Zhao 系シース数値モデルの core 実装。
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=dp), | public, | parameter | :: | nonlinear_tol | = | 1.0d-5 | |
| integer, | public, | parameter | :: | nonlinear_max_iter | = | 60 | |
| integer, | public, | parameter | :: | nonlinear_max_backtrack | = | 20 | |
| real(kind=dp), | public, | parameter | :: | zhao_profile_phi_tol_hat | = | 1.0d-3 | |
| real(kind=dp), | public, | parameter | :: | zhao_type_a_phi_m_eps_hat | = | 1.0d-5 | |
| integer, | public, | parameter | :: | zhao_profile_grid | = | 8000 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | x(:) | |||
| real(kind=dp), | intent(out) | :: | f(:) |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=dp), | public | :: | q_particle | = | 0.0d0 | ||
| real(kind=dp), | public | :: | m_particle | = | 0.0d0 | ||
| real(kind=dp), | public | :: | number_density_m3 | = | 0.0d0 | ||
| real(kind=dp), | public | :: | temperature_k | = | 0.0d0 | ||
| real(kind=dp), | public | :: | drift_velocity(3) | = | 0.0d0 |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| real(kind=dp), | public | :: | alpha_rad | = | 0.0d0 | ||
| real(kind=dp), | public | :: | n_swi_inf_m3 | = | 0.0d0 | ||
| real(kind=dp), | public | :: | n_phe_ref_m3 | = | 0.0d0 | ||
| real(kind=dp), | public | :: | n_phe0_m3 | = | 0.0d0 | ||
| real(kind=dp), | public | :: | t_swe_ev | = | 0.0d0 | ||
| real(kind=dp), | public | :: | t_phe_ev | = | 0.0d0 | ||
| real(kind=dp), | public | :: | v_d_electron_mps | = | 0.0d0 | ||
| real(kind=dp), | public | :: | v_d_ion_mps | = | 0.0d0 | ||
| real(kind=dp), | public | :: | m_i_kg | = | 0.0d0 | ||
| real(kind=dp), | public | :: | m_e_kg | = | 0.0d0 | ||
| real(kind=dp), | public | :: | v_swe_th_mps | = | 0.0d0 | ||
| real(kind=dp), | public | :: | v_phe_th_mps | = | 0.0d0 | ||
| real(kind=dp), | public | :: | cs_mps | = | 0.0d0 | ||
| real(kind=dp), | public | :: | mach | = | 0.0d0 | ||
| real(kind=dp), | public | :: | u | = | 0.0d0 | ||
| real(kind=dp), | public | :: | tau | = | 0.0d0 | ||
| real(kind=dp), | public | :: | lambda_d_phe_ref_m | = | 0.0d0 |
| Type | Visibility | Attributes | Name | Initial | |||
|---|---|---|---|---|---|---|---|
| character(len=1), | public | :: | branch | = | ' ' | ||
| character(len=16), | public | :: | side | = | 'monotonic' | ||
| real(kind=dp), | public | :: | z_m_m | = | 0.0d0 | ||
| real(kind=dp), | public | :: | phi_hat | = | 0.0d0 | ||
| real(kind=dp), | public | :: | phi_v | = | 0.0d0 | ||
| real(kind=dp), | public | :: | n_swi_m3 | = | 0.0d0 | ||
| real(kind=dp), | public | :: | n_swe_f_m3 | = | 0.0d0 | ||
| real(kind=dp), | public | :: | n_swe_r_m3 | = | 0.0d0 | ||
| real(kind=dp), | public | :: | n_phe_f_m3 | = | 0.0d0 | ||
| real(kind=dp), | public | :: | n_phe_c_m3 | = | 0.0d0 | ||
| real(kind=dp), | public | :: | electron_source_density_m3 | = | 0.0d0 | ||
| real(kind=dp), | public | :: | vcut_swe_mps | = | 0.0d0 | ||
| real(kind=dp), | public | :: | vcut_phe_mps | = | 0.0d0 | ||
| real(kind=dp), | public | :: | v_i_mps | = | 0.0d0 | ||
| logical, | public | :: | swe_reflected_active | = | .false. | ||
| logical, | public | :: | phe_captured_active | = | .false. |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | phi0_v | |||
| real(kind=dp), | intent(in) | :: | n_e_inf_m3 | |||
| type(sheath_model_species), | intent(in) | :: | spec_e | |||
| real(kind=dp), | intent(in) | :: | inward_normal(3) | |||
| real(kind=dp), | intent(in) | :: | gamma_i |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | x_nodes(:) | |||
| real(kind=dp), | intent(in) | :: | y_nodes(:) | |||
| real(kind=dp), | intent(in) | :: | x_query |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(zhao_params_type), | intent(in) | :: | p | |||
| real(kind=dp), | intent(in) | :: | n_swe_inf_m3 | |||
| real(kind=dp), | intent(in) | :: | a_swe |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(zhao_params_type), | intent(in) | :: | p | |||
| real(kind=dp), | intent(in) | :: | phi0_v | |||
| real(kind=dp), | intent(in) | :: | phi_m_v | |||
| real(kind=dp), | intent(in) | :: | n_swe_inf_m3 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | f(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(sheath_model_species), | intent(in) | :: | spec |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(sheath_model_species), | intent(in) | :: | spec | |||
| character(len=*), | intent(in) | :: | drift_mode | |||
| real(kind=dp), | intent(in) | :: | inward_normal(3) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=1), | intent(in) | :: | branch | |||
| real(kind=dp), | intent(in) | :: | phi0_v | |||
| real(kind=dp), | intent(in) | :: | phi_m_v | |||
| real(kind=dp), | intent(in) | :: | m_e_kg |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=1), | intent(in) | :: | branch | |||
| real(kind=dp), | intent(in) | :: | phi0_v | |||
| real(kind=dp), | intent(in) | :: | phi_m_v | |||
| real(kind=dp), | intent(in) | :: | m_phe_kg |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=1), | intent(in) | :: | branch | |||
| real(kind=dp), | intent(in) | :: | phi0_v | |||
| real(kind=dp), | intent(in) | :: | phi_m_v | |||
| real(kind=dp), | intent(in) | :: | photo_charge_c | |||
| type(zhao_params_type), | intent(in) | :: | p |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(sheath_model_species), | intent(in) | :: | spec_e | |||
| type(sheath_model_species), | intent(in) | :: | spec_i | |||
| real(kind=dp), | intent(in) | :: | inward_normal(3) | |||
| real(kind=dp), | intent(out) | :: | phi0_v |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(zhao_params_type), | intent(in) | :: | p | |||
| character(len=1), | intent(in) | :: | branch | |||
| real(kind=dp), | intent(in) | :: | phi0_v | |||
| real(kind=dp), | intent(in) | :: | phi_m_v | |||
| real(kind=dp), | intent(in) | :: | n_swe_inf_m3 | |||
| real(kind=dp), | intent(in) | :: | z_m | |||
| type(zhao_local_state_type), | intent(out) | :: | state |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(zhao_params_type), | intent(in) | :: | p | |||
| real(kind=dp), | intent(in) | :: | phi0_hat | |||
| real(kind=dp), | intent(in) | :: | phi_m_hat | |||
| real(kind=dp), | intent(in) | :: | n_swe_inf_hat | |||
| real(kind=dp), | intent(in) | :: | z_m | |||
| real(kind=dp), | intent(out) | :: | phi_hat | |||
| character(len=16), | intent(out) | :: | side | |||
| real(kind=dp), | intent(out) | :: | z_m_hat |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(zhao_params_type), | intent(in) | :: | p | |||
| character(len=1), | intent(in) | :: | branch | |||
| real(kind=dp), | intent(in) | :: | phi0_hat | |||
| real(kind=dp), | intent(in) | :: | phi_m_hat | |||
| real(kind=dp), | intent(in) | :: | n_swe_inf_hat | |||
| real(kind=dp), | intent(in) | :: | z_m | |||
| real(kind=dp), | intent(out) | :: | phi_hat | |||
| character(len=16), | intent(out) | :: | side | |||
| real(kind=dp), | intent(out) | :: | z_m_hat |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(zhao_params_type), | intent(in) | :: | p | |||
| real(kind=dp), | intent(in) | :: | phi_nodes_asc(:) | |||
| real(kind=dp), | intent(in) | :: | phi0_hat | |||
| real(kind=dp), | intent(in) | :: | n_swe_inf_hat | |||
| real(kind=dp), | intent(in) | :: | phi_m_hat | |||
| character(len=*), | intent(in) | :: | side | |||
| real(kind=dp), | intent(out) | :: | s_nodes(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(zhao_params_type), | intent(in) | :: | p | |||
| character(len=1), | intent(in) | :: | branch | |||
| character(len=*), | intent(in) | :: | side | |||
| real(kind=dp), | intent(in) | :: | phi_hat | |||
| real(kind=dp), | intent(in) | :: | phi0_hat | |||
| real(kind=dp), | intent(in) | :: | phi_m_hat | |||
| real(kind=dp), | intent(in) | :: | n_swe_inf_m3 | |||
| real(kind=dp), | intent(in) | :: | z_m_m | |||
| type(zhao_local_state_type), | intent(out) | :: | state |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(zhao_params_type), | intent(in) | :: | p | |||
| character(len=1), | intent(in) | :: | branch | |||
| character(len=*), | intent(in) | :: | side | |||
| real(kind=dp), | intent(in) | :: | phi_hat | |||
| real(kind=dp), | intent(in) | :: | phi0_hat | |||
| real(kind=dp), | intent(in) | :: | phi_m_hat | |||
| real(kind=dp), | intent(in) | :: | n_swe_inf_hat | |||
| real(kind=dp), | intent(out) | :: | rho_hat |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(zhao_params_type), | intent(in) | :: | p | |||
| character(len=1), | intent(in) | :: | branch | |||
| character(len=*), | intent(in) | :: | side | |||
| real(kind=dp), | intent(in) | :: | phi_hat | |||
| real(kind=dp), | intent(in) | :: | phi0_hat | |||
| real(kind=dp), | intent(in) | :: | phi_m_hat | |||
| real(kind=dp), | intent(in) | :: | n_swe_inf_hat | |||
| real(kind=dp), | intent(out) | :: | n_swi_hat | |||
| real(kind=dp), | intent(out) | :: | n_swe_f_hat | |||
| real(kind=dp), | intent(out) | :: | n_swe_r_hat | |||
| real(kind=dp), | intent(out) | :: | n_phe_f_hat | |||
| real(kind=dp), | intent(out) | :: | n_phe_c_hat |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| real(kind=dp), | intent(in) | :: | alpha_deg | |||
| real(kind=dp), | intent(in) | :: | n_swi_inf_m3 | |||
| real(kind=dp), | intent(in) | :: | n_phe_ref_m3 | |||
| real(kind=dp), | intent(in) | :: | t_swe_ev | |||
| real(kind=dp), | intent(in) | :: | t_phe_ev | |||
| real(kind=dp), | intent(in) | :: | v_d_electron_mps | |||
| real(kind=dp), | intent(in) | :: | v_d_ion_mps | |||
| real(kind=dp), | intent(in) | :: | m_i_kg | |||
| real(kind=dp), | intent(in) | :: | m_e_kg | |||
| type(zhao_params_type), | intent(out) | :: | p |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| character(len=*), | intent(in) | :: | model | |||
| type(zhao_params_type), | intent(in) | :: | p | |||
| real(kind=dp), | intent(out) | :: | phi0_v | |||
| real(kind=dp), | intent(out) | :: | phi_m_v | |||
| real(kind=dp), | intent(out) | :: | n_swe_inf_m3 | |||
| character(len=1), | intent(out) | :: | branch |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(zhao_params_type), | intent(in) | :: | p | |||
| real(kind=dp), | intent(out) | :: | phi0_v | |||
| real(kind=dp), | intent(out) | :: | phi_m_v | |||
| real(kind=dp), | intent(out) | :: | n_swe_inf_m3 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(zhao_params_type), | intent(in) | :: | p | |||
| real(kind=dp), | intent(out) | :: | phi0_v | |||
| real(kind=dp), | intent(out) | :: | n_swe_inf_m3 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(zhao_params_type), | intent(in) | :: | p | |||
| real(kind=dp), | intent(out) | :: | phi0_v | |||
| real(kind=dp), | intent(out) | :: | n_swe_inf_m3 |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(zhao_params_type), | intent(in) | :: | p | |||
| real(kind=dp), | intent(out) | :: | x(3) | |||
| logical, | intent(out) | :: | success |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(zhao_params_type), | intent(in) | :: | p | |||
| real(kind=dp), | intent(out) | :: | x(2) | |||
| logical, | intent(out) | :: | success |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(zhao_params_type), | intent(in) | :: | p | |||
| real(kind=dp), | intent(out) | :: | x(2) | |||
| logical, | intent(out) | :: | success |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(zhao_params_type), | intent(in) | :: | p | |||
| real(kind=dp), | intent(in) | :: | x(:) | |||
| real(kind=dp), | intent(out) | :: | f(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(zhao_params_type), | intent(in) | :: | p | |||
| real(kind=dp), | intent(in) | :: | x(:) | |||
| real(kind=dp), | intent(out) | :: | f(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| type(zhao_params_type), | intent(in) | :: | p | |||
| real(kind=dp), | intent(in) | :: | x(:) | |||
| real(kind=dp), | intent(out) | :: | f(:) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | n | |||
| real(kind=dp), | intent(in) | :: | guesses(:,:) | |||
| procedure(nonlinear_residual) | :: | residual_fn | ||||
| real(kind=dp), | intent(out) | :: | x_best(n) | |||
| logical, | intent(out) | :: | success |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | n | |||
| real(kind=dp), | intent(in) | :: | x0(n) | |||
| procedure(nonlinear_residual) | :: | residual_fn | ||||
| real(kind=dp), | intent(out) | :: | x_out(n) | |||
| real(kind=dp), | intent(out) | :: | final_norm | |||
| logical, | intent(out) | :: | success |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | n | |||
| real(kind=dp), | intent(in) | :: | x(n) | |||
| real(kind=dp), | intent(in) | :: | f0(n) | |||
| procedure(nonlinear_residual) | :: | residual_fn | ||||
| real(kind=dp), | intent(out) | :: | jac(n,n) |
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | n | |||
| real(kind=dp), | intent(in) | :: | a_in(n,n) | |||
| real(kind=dp), | intent(in) | :: | b_in(n) | |||
| real(kind=dp), | intent(out) | :: | x(n) | |||
| logical, | intent(out) | :: | ok |