It might be feasible but the creatures would be quite weird and I am not sure whether the classical laws of physics would actually still be applicable in this realm.
I once created a python script that performs the calculations, see at the end of this post.
If I input a mass of 1e12 kgs, I get the following output:
Enter mass [kg]1e12
Schwardschild Radius: 1.4851297e-15 m
Surface gravity : 3.0258475e+31 N
Surface temperature : 1.2269853e+11 K
Power dissipation : 3.5621128e+08 W
Will evaporate in : 8.4103192e+19 s
Energy released : 8.9875518e+28 J
In other words, a steady rate of 350 Megawatts of power due to Hawking Radiation alone with a lifetime that is in excess of the known lifetime of the universe. Also note that the black hole itself is only slightly larger than an atomic nucleus. However, to construct the black hole you would have to squeeze a volume of 10 x 10 x 10 kilometers of water into that space.
While the surface gravity is tremendous, the gravity at a distance of say 1 meter is only a few newtons / kg so static structures at that distance should be safe from gravitational collapse. To keep the black hole in place with respect to the creature you could give the black hole a positive charge (done at construction time) and encase it in a metal sphere with with an almost equal positive charge at say 1 meter from the black hole center, the charge distribution on the outer metal sphere could then be used to compensate for local gravity or to accelerate or decelerate the black hole to compensate for the creatures acceleration and deceleration.
Note that the charges involved would be in the order of several tens of coulombs and while easily achieved for the black hole itself (only several moles of protons in the input material to be added, negligible to the total input number), the encasing metal in the outer shell would have to be stripped from at least one electron per metal atom and I am pretty sure that that does not count as a metal anymore and the metal bonding properties would seriously deteriorate. Of course you can put the encasing metal sphere further away to lower the charge density per amount of metal.
If the creature needs more power, it can always feed the black hole with negatively charged particles by aiming in the neighborhood of the black hole at relativistic speeds so that the particles start orbiting the black hole in close proximity. The combination of bremsstrahlung and collisions between the particles in orbit and the virtual particles and photons near the schwarzschild radius are thought to be a fairly efficient mass to energy converter, converting up to 10% of the incoming mass to energy, though it should be noted that at these scales and timeframes classical or even relativistic laws of physics may no longer be applicable.
The python script:
import math
# manifest constants
SpeedOfLight = 2.99792458e8 # m/s^2
GravitationalConstant = 6.67384e-11 # Nm^2/kg^2
ReducedPlanckConstant = 1.054571726e-34 # Js
BoltzmannConstant = 1.3806488e-23 # J/K
CosmicBackgroundTemperature = 2.725 # K
def schwarzschildradius(mass):
'''
Compute the Schwarzshield radius of a given mass @mass. The Schwarzschild
radius is the distance from the centre of the black hole to its even horizon,
assuming a perfect sphere.
'''
global SpeedOfLight
global GravitationalConstant
rs = 2 * GravitationalConstant * mass / math.pow(SpeedOfLight, 2.0)
return rs
def surfacegravity(mass):
'''
Gravity at the event horizon of a black hgole with given mass @mass.
'''
global SpeedOfLight
global GravitationalConstant
gs = math.pow(SpeedOfLight, 4.0) / ( 4.0 * GravitationalConstant * mass )
return gs
def surfacetemperature(mass):
'''
Surface temperature at the event horizon of a black hgole with given mass @mass
due to Hawking Radiation
'''
global SpeedOfLight
global GravitationalConstant
global ReducedPlanckConstant
global BoltzmannConstant
th = ReducedPlanckConstant * math.pow(SpeedOfLight, 3.0) / (
8.0 * math.pi * GravitationalConstant * mass * BoltzmannConstant )
return th
def willevaporate(mass):
global CosmicBackgroundTemperature
return surfacetemperature(mass) > CosmicBackgroundTemperature
def evaporationtime(mass):
'''
Black hole dissipation time (due to Hawking Radiation) at initial mass @mass
'''
global SpeedOfLight
global GravitationalConstant
global ReducedPlanckConstant
tev = 5120.0 * math.pi * math.pow(GravitationalConstant, 2.0) * math.pow(mass, 3.0) / ( ReducedPlanckConstant * math.pow(SpeedOfLight, 4.0) )
return tev
def evaporationenergy(mass):
'''
Total mass conversion is simple
'''
global SpeedOfLight
return mass * math.pow(SpeedOfLight, 2.0)
def evaporationdissipation(mass):
'''
And dissipation is also simple
'''
global SpeedOfLight
global GravitationalConstant
global ReducedPlanckConstant
p = ReducedPlanckConstant * math.pow(SpeedOfLight, 6.0) / ( 15360.0 * math.pi * math.pow(GravitationalConstant, 2.0) * math.pow(mass, 2.0) )
return p
if __name__ == "__main__":
print "Black hole calculations"
print "======================="
print "Example masses: 80 (average human male), 5.972e24 (Earth), 1.98892e30 (Sun), 7.3477e22 (Moon), 1.672621777e-27 (proton)"
mass = float(raw_input("Enter mass [kg]"))
print "Schwardschild Radius: %10.7e m" % schwarzschildradius(mass)
print "Surface gravity : %10.7e N" % surfacegravity(mass)
print "Surface temperature : %10.7e K" % surfacetemperature(mass)
print "Power dissipation : %10.7e W" % evaporationdissipation(mass)
if willevaporate(mass):
print "Will evaporate in : %10.7e s" % evaporationtime(mass)
print "Energy released : %10.7e J" % evaporationenergy(mass)