I assume apbs takes 'dum.pqr' and turns it into 'dum.grd'. So if 2 apbs run at the same time they will overwrite dum.grd. You somehow need to make sure that the names are unique. Maybe using dirs:
func my_apbs {
mkdir $1
cp $1.pqr $1/dum.pqr
cd $1
apbs parameters.in
mv dum.grd ../$1.grd
cd ..
rm -r $1
}
export -f my_apbs
parallel my_apbs :::: names
You did not write whether you have watched the intro videos https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1 or walked through the tutorial: http://www.gnu.org/software/parallel/parallel_tutorial.html