KWN_model_routines Module



Contents


Subroutines

public subroutine set_initial_timestep_constants(prm, stt, dot, Temperature, sigma_r, A, Q_stress, n, dt, en, diffusion_coefficient, c_thermal_vacancy, dislocation_density, production_rate, annihilation_rate)

Arguments

TypeIntentOptionalAttributesName
type(tParameters), intent(in) :: prm
type(tKwnpowerlawState), intent(inout) :: stt
type(tKwnpowerlawState), intent(inout) :: dot
real(kind=pReal), intent(in) :: Temperature
real(kind=pReal), intent(in) :: sigma_r
real(kind=pReal), intent(in) :: A
real(kind=pReal), intent(in) :: Q_stress
real(kind=pReal), intent(in) :: n
real(kind=pReal), intent(in) :: dt
integer, intent(in) :: en
real(kind=pReal), intent(out), dimension(:), allocatable:: diffusion_coefficient
real(kind=pReal), intent(out) :: c_thermal_vacancy
real(kind=pReal), intent(out) :: dislocation_density
real(kind=pReal), intent(out) :: production_rate
real(kind=pReal), intent(out) :: annihilation_rate

public subroutine update_precipate_properties(prm, dst, stt, en)

Arguments

TypeIntentOptionalAttributesName
type(tParameters), intent(in) :: prm
type(tKwnpowerlawMicrostructure), intent(inout) :: dst
type(tKwnpowerlawState), intent(in) :: stt
integer, intent(in) :: en

public subroutine interface_composition(Temperature, N_elements, N_steps, stoechiometry, c_matrix, ceq_matrix, atomic_volume, na, molar_volume, ceq_precipitate, bins, gamma_coherent, R, x_eq_interface, diffusion_coefficient, volume_fraction, misfit_energy)

Arguments

TypeIntentOptionalAttributesName
real(kind=pReal), intent(in) :: Temperature
integer, intent(in) :: N_elements
integer, intent(in) :: N_steps
integer, intent(in), dimension(N_elements+1):: stoechiometry
real(kind=pReal), intent(in), dimension(N_elements):: c_matrix
real(kind=pReal), intent(in), dimension(N_elements):: ceq_matrix
real(kind=pReal), intent(in) :: atomic_volume
real(kind=pReal), intent(in) :: na
real(kind=pReal), intent(in) :: molar_volume
real(kind=pReal), intent(in), dimension(N_elements):: ceq_precipitate
real(kind=pReal), intent(in), dimension(0:N_steps):: bins
real(kind=pReal), intent(in) :: gamma_coherent
real(kind=pReal), intent(in) :: R
real(kind=pReal), intent(inout), dimension(0:N_steps):: x_eq_interface
real(kind=pReal), intent(in), dimension(N_elements):: diffusion_coefficient
real(kind=pReal), intent(in) :: volume_fraction
real(kind=pReal), intent(in) :: misfit_energy

public subroutine growth_precipitate(N_elements, N_Steps, bins, interface_c, x_eq_interface, atomic_volume, na, molar_volume, ceq_precipitate, precipitate_density, dot_precipitate_density, nucleation_rate, diffusion_coefficient, c_matrix, growth_rate_array, radius_crit)

Arguments

TypeIntentOptionalAttributesName
integer, intent(in) :: N_elements
integer, intent(in) :: N_Steps
real(kind=pReal), intent(in), dimension(0:N_steps):: bins
real(kind=pReal) :: interface_c
real(kind=pReal), intent(in), dimension(0:N_steps):: x_eq_interface
real(kind=pReal), intent(in) :: atomic_volume
real(kind=pReal), intent(in) :: na
real(kind=pReal), intent(in) :: molar_volume
real(kind=pReal), intent(in), dimension(N_elements):: ceq_precipitate
real(kind=pReal), intent(in), dimension(N_steps):: precipitate_density
real(kind=pReal), intent(inout), dimension(N_steps):: dot_precipitate_density
real(kind=pReal), intent(in) :: nucleation_rate
real(kind=pReal), intent(in), dimension(N_elements):: diffusion_coefficient
real(kind=pReal), intent(in), dimension(N_elements):: c_matrix
real(kind=pReal), intent(inout), dimension(0:N_steps):: growth_rate_array
real(kind=pReal), intent(inout) :: radius_crit