Skip to content
  • Lorenz Huedepohl's avatar
    Initial version of new ELPA API · f91c0b4b
    Lorenz Huedepohl authored
    This attempt at a new, more flexible API for ELPA should hopefully
    result in less ABI/API breaking changes in the future.
    
    The new API features a generic key/value system for options that can be
    extended without changing any exported symbols or function signatures,
    so that new, optional features do not influence existing usage of ELPA.
    
    We hope this makes life easier for users of ELPA - at least in the long
    run when they migrated to this newest of ABI changes :)
    
    Example usage (explicit documentation to be done in a future commit):
    
       if (elpa_init(20170403) /= ELPA_OK) then
         error stop "ELPA API version not supported"
       endif
    
       e = elpa_create(na, nev, na_rows, na_cols, nblk, mpi_comm_world, my_prow, my_pcol, success)
    
       call e%set("solver", ELPA_SOLVER_2STAGE)
       call e%set("real_kernel", ELPA_2STAGE_REAL_GENERIC)
    
       call e%solve(a, ev, z, success)
    
       call e%destroy()
    
       call elpa_uninit()
    f91c0b4b