[RealFlow] Melting script porque elimina pocas partículas

Hola. Estoy haciendo un script para hacer el derretido de unas letras. La idea es simple, uso dos emisores, uno para llenar el objeto y al cual luego haré un freeze a sus partículas y otro que generara las nuevas partículas partiendo de la posición de las partículas des primer emisor.

De momento funciona más o menos, pero me encuentro que elimina muy pocas partículas en cada frame y además pilla más partículas de la parte de abajo.

Alguien tiene experiencia con scripting de RealFlow? Si me pudierais ayudar lo agradecería mucho.

El script es este (tengo algunas partes como comentarios de las pruebas que he hecho,):
#-.
# function: onsimulationbegin.
#-.

Def onsimulationbegin():
Emitter = scene, getemitter(lleno2) tletra = scene, getobject(t) tparticle = emitter, getfirstparticle () twhile (particle):
Particle, freeze () particle = particle, getnextparticle () tletra, setparameter(simulation, inactive).
#-.
# function: onsimulationstep.
#-.

Def onsimulationstep():
Temitter=scene, getemitter(lleno2) tfoam=scene, getemitter(foam) tremovelist = [] tparticles = emitter, getparticles() tfor particle in particles:
If (particle, id == 0):
Break, tneighbors = particle, getneighbors(.025) tid=particle, getid() tpos=particle, getposition() tvel=particle, getvelocity() t#count = 0 t#i=0 t#if (i =1000):
Threshold = 5000 tif (len(neighbors) > threshold) and (len(neighbors).=0):
Pues = particle, getposition() tvel = particle, getvelocity() tremovelist, append(particle, getid()) tfoam, addparticle (pos, el) tif (len(removelist) > 0):
For I in range (len(removelist)):
Lleno2.removeparticle (removelist[i]) t#if (len(neighbors) >0.01):
#count=count +1 #i=i+1 #foam, addparticle (pos, vel) #lleno2.removeparticle (id) #else:
#scene, message (str(count)) t#id=particles, getid() t#pos=particles, getposition() t#while (particles):
#if (neighbors > 1):
#lleno, removeparticle (id) #foam, addparticle (pos) #particles, getnext. Particle ().
#-.
# function: onsimulationframe.
#-.

Def onsimulationframe ():
Pass.
#-.
# function: onsimulationend.
#-.

Def onsimulationend():
Pass.
#-.
# function: onchangetoframe.
#-.

Def onchangetoframe ():
Pass.

Si hace falta puedo enviar el archivo que uso para hacer el test, tiene pocas partículas y poca resolución. Por eso parece que elimina más partículas, peor en cuando quieres ponerlo en un proyecto serio, la cosa cambia. Un saludo y muchas gracias.