This class is the base class of Potential module
- Main class Potential is derived from it.
- components of potentials on real space grids can derived from it and will be registered into Potential. a. cal_fixed_v() is a virtual function, it can be override to contribute potentials which do not change with Charge object. b. cal_v_eff() is a virtual function, it can be override to contribute potentials which change with Charge object. c. fixed_mode should be set "true" if you want Potential class call cal_fixed_v() d. dynamic_mode should be set "true" if you want Potential class call cal_v_eff() e. rho_basis_ is needed to provide number of real space grids(nrxx) and number of spin(nspin) and FFT(real<->recip) interface