I am modeling the structure of a crystal and need to find what the "lowest energy structure" is. There are three free parameters (let's say, $a$, $b$, and $c$) to change, and the search space, $E(a,b,c)$ is convex. What is the best way to set this up so I vary $a$, $b$, and $c$ to find the combination that yields the minimum of $E(a,b,c)$ without running extraneous calculations?
What I am currently doing is picking a relatively wide range of $a$, $b$, and $c$ values and computing $E$ for each combination. Then I fit a paraboloid to series of 3D plots of $E$ vs. $a$ vs. $b$ at fixed $c$ value and find where the global minimum is located. This was fine when my calculations were quick, but I need to be more efficient now with how to improve how I am searching the parameter space. One can think of something simple like making a range of $a$, $b$, and $c$, and keep expanding this range until $E$ increases when changing in all 3 dimensions from a given point, for instance.
Any suggestions of an adaptive search algorithm for a problem like this?