在项目 yt 中创建场的梯度作为派生场
creating gradient of a field as a derived field in project yt
我需要一些帮助来创建一个派生场,它将 return 引力势的负梯度,从而引力加速度。
我试过这样的事情:
@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"])
我遇到了这个错误
NameError: global name 'add_gradient_fields' is not defined
请建议我定义字段的正确方法。谢谢
看起来你得到了答案on the yt project mailing list。也就是说,我将在这里重复 add_gradient_fields
是 Dataset
class 的一种方法,因此您需要在加载的数据集上调用它。例如:
ds = yt.load('path/to/dataset')
ds.add_gradient_fields(('gas', 'gravitational_potential'))
我需要一些帮助来创建一个派生场,它将 return 引力势的负梯度,从而引力加速度。 我试过这样的事情:
@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"])
我遇到了这个错误
NameError: global name 'add_gradient_fields' is not defined
请建议我定义字段的正确方法。谢谢
看起来你得到了答案on the yt project mailing list。也就是说,我将在这里重复 add_gradient_fields
是 Dataset
class 的一种方法,因此您需要在加载的数据集上调用它。例如:
ds = yt.load('path/to/dataset')
ds.add_gradient_fields(('gas', 'gravitational_potential'))