Computational program not using full cpu power I started some computations on Gamess. 

For instance, when I compute the frequencies of an optimized structure, I see in the terminal that the job only uses 40% of the CPU core most of time (sometimes it goes to 100%). When I decide to provide 2 cores for the job, it only uses something like 20-25% of each core most of the time (and sometimes 100% of each core too). Why would not the task take maximum power to achieve the computations ?
Most applications in theoretical chemistry are memory and or memory bandwidth bound. Especially due to shared memory bandwidth it can be bad for your performance if you use too many processes.

In addition you benefit from additional processes only if your algorithm is more or less parallel. If there are too many serial parts/communication overhead you will have idle cores, if your process number is too high. (Amdahl's law)

Take home message:


Time the execution of your code with a non trivial example.
More is not always better.