I have been trying to solve this type of geometry (a smooth "rounded" mesh with a concave edge at the top - as shown in the image). Any suggestions on resolving this, without getting the bulge at the side of the edge?
As suggested in the comments, you can use a 'guide mesh' that the vertices of your object can snap to. The guide mesh is a simplified version of your object that describes the curvature that your original object should take. This works because some close-together edge loops not conforming to the curvature of the overall surface, creating a pinching effect. A guide mesh will force all vertices to perfectly match a surface.
I have created a guide mesh by adding a plane with a few subdivisions with a Simple Deform modifier set to 'bend' on it. You don't need to use a Simple Deform modifier, I just did this to get a perfect curved plane. It also has a Subsurf modifier before it to give the Simple Deform modifier more geometry to work with, meaning a smoother bend:
I then add a Shrinkwrap modifier to your original object and choose the simplified object I just made as the 'Target':
This does improve the result - the original object is now being clamped to the smooth, simplified object, however, we can improve the result by improving the topology of your original mesh.
Here we see some improved topology:
The further apart, or more evenly, your edge loops are placed the smoother your mesh will be, however, you obviously need some edge loops to be close together to create that sharp corner. The green markings in the image show that the edges near the bottom have been spread out whilst the red ones at the top have remained close. The orange markings show edges that have been partially spread out so that the change is more gradual. This gives us the best of both worlds, close edge loops where needed, but spread out where not.
I used the add-on 'LoopTools' add-on (which comes with Blender) as it has a 'Space' option (W> 'LoopTools'> 'Space') to evenly space out selected edges. On some edges I reduced the space 'Influence' in the 'Toolshelf' so they were only partially spread out.
This gives us this result:
You will notice some slight creasing still where that 'diamond' face is on the other sharpened corner, so you could use the same technique of spreading edge loops on this part of the mesh too instead of the 'diamond' technique.
Now, obviously, this was done on a flat mesh, whereas your mesh has some thickness to it. The solution to this is to either:
- Add a Solidify modifier after the Subsurf modifier.
- Use a second simplified object for the inside part of the mesh and use vertex groups to assign which modifier should effect which vertices.
- Apply the Shrinkwrap modifier and extrude normally.