2016-06-24 14 views
1

Ich brauche ein wenig Hilfe bei der Erstellung eines abgeleiteten Feldes, das mir den negativen Gradienten des Gravitationspotentials zurückgibt, also die Gravitationsbeschleunigung. Ich habe versucht, so etwas wie dieses:Erstellen von Gradienten eines Feldes als abgeleitetes Feld im Projekt yt

@derived_field(name = "gradient_gravpot", units = " cm/s**2") 
def _gradient (field, data): 
     G = add_gradient_fields(("gas"," gravitational_potental")) 
     return (- data["gravitational_potential_gradient_x"]) 

und ich habe diesen Fehler

NameError: global name 'add_gradient_fields' is not defined 

bitte machen Sie mir die richtige Methode, das Feld zu definieren. Danke

Antwort

1

Es sieht aus wie Sie eine Antwort bekommen on the yt project mailing list. Das heißt, ich werde hier wiederholen, dass add_gradient_fields eine Methode der Dataset Klasse ist, so dass Sie es auf einem geladenen Dataset aufrufen müssen. Zum Beispiel:

ds = yt.load('path/to/dataset') 
ds.add_gradient_fields(('gas', 'gravitational_potential'))