Load rational damping parameters from internal storage
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
type(c_ptr), | value | :: | verror | |||
character(kind=c_char, len=1), | intent(in) | :: | charptr(*) | |||
logical(kind=c_bool), | intent(in), | value | :: | atm |
function load_mrational_damping_api(verror, charptr, atm) & & result(vparam) & & bind(C, name=namespace//"load_mrational_damping") type(c_ptr), value :: verror type(vp_error), pointer :: error character(kind=c_char), intent(in) :: charptr(*) logical(c_bool), value, intent(in) :: atm character(len=:, kind=c_char), allocatable :: method type(c_ptr) :: vparam type(rational_damping_param), allocatable :: tmp type(vp_param), pointer :: param type(d3_param) :: inp real(wp), allocatable :: s9 vparam = c_null_ptr if (.not.c_associated(verror)) return call c_f_pointer(verror, error) call c_f_character(charptr, method) if (atm) s9 = 1.0_wp call get_mrational_damping(inp, method, error%ptr, s9) if (allocated(error%ptr)) return allocate(tmp) call new_rational_damping(tmp, inp) allocate(param) call move_alloc(tmp, param%ptr) vparam = c_loc(param) end function load_mrational_damping_api