[yt-svn] commit/yt: 13 new changesets
commits-noreply at bitbucket.org
commits-noreply at bitbucket.org
Fri Dec 8 09:58:12 PST 2017
13 new commits in yt:
https://bitbucket.org/yt_analysis/yt/commits/bb8aa068e77b/
Changeset: bb8aa068e77b
User: atmyers
Date: 2017-11-20 20:44:00+00:00
Summary: adding some additional field aliases for WarpX datasets.
Affected #: 1 file
diff -r dca5e454d03e59c1f9ab4a52301e74dc12f245e7 -r bb8aa068e77bd0fd6ba07de9c3923aa6c7a9b545 yt/frontends/boxlib/fields.py
--- a/yt/frontends/boxlib/fields.py
+++ b/yt/frontends/boxlib/fields.py
@@ -55,19 +55,19 @@
class WarpXFieldInfo(FieldInfoContainer):
known_other_fields = (
- ("Bx", ("T", ["magnetic_field_x"], None)),
- ("By", ("T", ["magnetic_field_y"], None)),
- ("Bz", ("T", ["magnetic_field_z"], None)),
- ("Ex", ("V/m", ["electric_field_x"], None)),
- ("Ey", ("V/m", ["electric_field_y"], None)),
- ("Ez", ("V/m", ["electric_field_z"], None)),
- ("jx", ("A", ["current_x"], None)),
- ("jy", ("A", ["current_y"], None)),
- ("jz", ("A", ["current_z"], None)),
+ ("Bx", ("T", ["magnetic_field_x", "B_x"], None)),
+ ("By", ("T", ["magnetic_field_y", "B_y"], None)),
+ ("Bz", ("T", ["magnetic_field_z", "B_z"], None)),
+ ("Ex", ("V/m", ["electric_field_x", "E_x"], None)),
+ ("Ey", ("V/m", ["electric_field_y", "E_y"], None)),
+ ("Ez", ("V/m", ["electric_field_z". "E_z"], None)),
+ ("jx", ("A", ["current_x", "Jx", "J_x"], None)),
+ ("jy", ("A", ["current_y", "Jy", "J_y"], None)),
+ ("jz", ("A", ["current_z", "Jz", "J_z"], None)),
)
known_particle_fields = (
- ("particle_weight", ("", [], None)),
+ ("particle_weight", ("", ["particle_weighting"], None)),
("particle_position_x", ("m", [], None)),
("particle_position_y", ("m", [], None)),
("particle_position_z", ("m", [], None)),
https://bitbucket.org/yt_analysis/yt/commits/7378b729ec1c/
Changeset: 7378b729ec1c
User: atmyers
Date: 2017-11-20 21:27:38+00:00
Summary: defining some additional fields
Affected #: 1 file
diff -r bb8aa068e77bd0fd6ba07de9c3923aa6c7a9b545 -r 7378b729ec1cccbb8fc75a2613f250157084f96b yt/frontends/boxlib/fields.py
--- a/yt/frontends/boxlib/fields.py
+++ b/yt/frontends/boxlib/fields.py
@@ -15,7 +15,7 @@
import re
from yt.utilities.physical_constants import \
- boltzmann_constant_cgs, amu_cgs
+ boltzmann_constant_cgs, amu_cgs, c
from yt.fields.field_info_container import \
FieldInfoContainer
from yt.units import YTQuantity
@@ -71,9 +71,9 @@
("particle_position_x", ("m", [], None)),
("particle_position_y", ("m", [], None)),
("particle_position_z", ("m", [], None)),
- ("particle_velocity_x", ("m/s", [], None)),
- ("particle_velocity_y", ("m/s", [], None)),
- ("particle_velocity_z", ("m/s", [], None)),
+ ("particle_momentum_x", ("kg*m/s", [], None)),
+ ("particle_momentum_y", ("kg*m/s", [], None)),
+ ("particle_momentum_z", ("kg*m/s", [], None)),
)
extra_union_fields = (
@@ -108,6 +108,37 @@
function=get_charge,
units="C")
+ def get_energy(field, data):
+ p2 = data[ptype, 'particle_momentum_x']**2 + \
+ data[ptype, 'particle_momentum_y']**2 + \
+ data[ptype, 'particle_momentum_z']**2
+ return np.sqrt(p2 * c**2 + data[ptype, 'particle_mass']**2 * c**4)
+
+ self.add_field((ptype, "particle_energy"), sampling_type="particle",
+ function=get_energy,
+ units="J")
+
+ def get_velocity_x(field, data):
+ return c**2 * data[ptype, 'particle_momentum_x'] / data[ptype, 'particle_energy']
+
+ def get_velocity_y(field, data):
+ return c**2 * data[ptype, 'particle_momentum_y'] / data[ptype, 'particle_energy']
+
+ def get_velocity_z(field, data):
+ return c**2 * data[ptype, 'particle_momentum_z'] / data[ptype, 'particle_energy']
+
+ self.add_field((ptype, "particle_velocity_x"), sampling_type="particle",
+ function=get_velocity_x,
+ units="m/s")
+
+ self.add_field((ptype, "particle_velocity_y"), sampling_type="particle",
+ function=get_velocity_y,
+ units="m/s")
+
+ self.add_field((ptype, "particle_velocity_z"), sampling_type="particle",
+ function=get_velocity_z,
+ units="m/s")
+
super(WarpXFieldInfo, self).setup_particle_fields(ptype)
https://bitbucket.org/yt_analysis/yt/commits/f6e37d90fa61/
Changeset: f6e37d90fa61
User: atmyers
Date: 2017-11-20 21:27:56+00:00
Summary: fix typo.
Affected #: 1 file
diff -r 7378b729ec1cccbb8fc75a2613f250157084f96b -r f6e37d90fa61c884239bb0d4b4237a5973a6d599 yt/frontends/boxlib/fields.py
--- a/yt/frontends/boxlib/fields.py
+++ b/yt/frontends/boxlib/fields.py
@@ -60,7 +60,7 @@
("Bz", ("T", ["magnetic_field_z", "B_z"], None)),
("Ex", ("V/m", ["electric_field_x", "E_x"], None)),
("Ey", ("V/m", ["electric_field_y", "E_y"], None)),
- ("Ez", ("V/m", ["electric_field_z". "E_z"], None)),
+ ("Ez", ("V/m", ["electric_field_z", "E_z"], None)),
("jx", ("A", ["current_x", "Jx", "J_x"], None)),
("jy", ("A", ["current_y", "Jy", "J_y"], None)),
("jz", ("A", ["current_z", "Jz", "J_z"], None)),
https://bitbucket.org/yt_analysis/yt/commits/aee3bce5ac62/
Changeset: aee3bce5ac62
User: atmyers
Date: 2017-11-20 21:34:52+00:00
Summary: add missing import
Affected #: 1 file
diff -r f6e37d90fa61c884239bb0d4b4237a5973a6d599 -r aee3bce5ac626befaf1dba7533dbf245c815c7c4 yt/frontends/boxlib/fields.py
--- a/yt/frontends/boxlib/fields.py
+++ b/yt/frontends/boxlib/fields.py
@@ -13,6 +13,7 @@
import string
import re
+import numpy as np
from yt.utilities.physical_constants import \
boltzmann_constant_cgs, amu_cgs, c
https://bitbucket.org/yt_analysis/yt/commits/206df35ea708/
Changeset: 206df35ea708
User: atmyers
Date: 2017-11-21 18:47:05+00:00
Summary: generalize the field info container so that the default fluid type doesn't have to be 'gas'
Affected #: 2 files
diff -r aee3bce5ac626befaf1dba7533dbf245c815c7c4 -r 206df35ea7084daaf076fb2975c94370ea9b0227 yt/data_objects/static_output.py
--- a/yt/data_objects/static_output.py
+++ b/yt/data_objects/static_output.py
@@ -565,7 +565,7 @@
mylog.debug("zero common fields: skipping particle union 'all'")
self.field_info.setup_extra_union_fields()
mylog.debug("Loading field plugins.")
- self.field_info.load_all_plugins()
+ self.field_info.load_all_plugins(self.default_fluid_type)
deps, unloaded = self.field_info.check_derived_fields()
self.field_dependencies.update(deps)
self.fields = FieldTypeContainer(self)
diff -r aee3bce5ac626befaf1dba7533dbf245c815c7c4 -r 206df35ea7084daaf076fb2975c94370ea9b0227 yt/fields/field_info_container.py
--- a/yt/fields/field_info_container.py
+++ b/yt/fields/field_info_container.py
@@ -173,7 +173,7 @@
#print "Aliasing %s => %s" % (alias, source)
self.alias(alias, source)
- def setup_fluid_aliases(self):
+ def setup_fluid_aliases(self, ftype='gas'):
known_other_fields = dict(self.known_other_fields)
for field in sorted(self.field_list):
if not isinstance(field, tuple):
@@ -199,7 +199,7 @@
self.add_output_field(field, sampling_type="cell", units = units,
display_name = display_name)
for alias in aliases:
- self.alias(("gas", alias), field)
+ self.alias((ftype, alias), field)
def add_field(self, name, sampling_type, function=None, **kwargs):
"""
https://bitbucket.org/yt_analysis/yt/commits/64c14511ef8b/
Changeset: 64c14511ef8b
User: atmyers
Date: 2017-11-21 18:48:12+00:00
Summary: make the default fluid type for WarpX called 'mesh'
Affected #: 2 files
diff -r 206df35ea7084daaf076fb2975c94370ea9b0227 -r 64c14511ef8b6ebf23ffb830c0ad145363966326 yt/frontends/boxlib/data_structures.py
--- a/yt/frontends/boxlib/data_structures.py
+++ b/yt/frontends/boxlib/data_structures.py
@@ -1499,6 +1499,10 @@
units_override=None,
unit_system="mks"):
+ self.default_fluid_type = "mesh"
+ self.default_field = ("mesh", "density")
+ self.fluid_types = ("mesh", "index")
+
super(WarpXDataset, self).__init__(output_dir,
cparam_filename,
fparam_filename,
diff -r 206df35ea7084daaf076fb2975c94370ea9b0227 -r 64c14511ef8b6ebf23ffb830c0ad145363966326 yt/frontends/boxlib/fields.py
--- a/yt/frontends/boxlib/fields.py
+++ b/yt/frontends/boxlib/fields.py
@@ -21,6 +21,7 @@
FieldInfoContainer
from yt.units import YTQuantity
+
rho_units = "code_mass / code_length**3"
mom_units = "code_mass / (code_time * code_length**2)"
eden_units = "code_mass / (code_time**2 * code_length)" # erg / cm^3
@@ -91,6 +92,14 @@
finfo = self.__getitem__(('raw', field))
finfo.nodal_flag = ds.nodal_flags[field]
+ def setup_fluid_fields(self):
+ for field in self.known_other_fields:
+ fname = field[0]
+ self.alias(("mesh", fname), ('boxlib', fname))
+
+ def setup_fluid_aliases(self):
+ super(WarpXFieldInfo, self).setup_fluid_aliases("mesh")
+
def setup_particle_fields(self, ptype):
def get_mass(field, data):
https://bitbucket.org/yt_analysis/yt/commits/9fd34ec5c5b1/
Changeset: 9fd34ec5c5b1
User: atmyers
Date: 2017-11-28 18:27:27+00:00
Summary: update test answers for the boxlib frontend.
Affected #: 1 file
diff -r 64c14511ef8b6ebf23ffb830c0ad145363966326 -r 9fd34ec5c5b14292b193104cf0e6aa6153072675 tests/tests.yaml
--- a/tests/tests.yaml
+++ b/tests/tests.yaml
@@ -77,7 +77,7 @@
- yt/visualization/tests/test_line_plots.py:test_line_plot
- yt/visualization/tests/test_line_plots.py:test_multi_line_plot
- local_boxlib_005:
+ local_boxlib_006:
- yt/frontends/boxlib/tests/test_outputs.py:test_radadvect
- yt/frontends/boxlib/tests/test_outputs.py:test_radtube
- yt/frontends/boxlib/tests/test_outputs.py:test_star
@@ -87,7 +87,7 @@
- yt/frontends/boxlib/tests/test_outputs.py:test_units_override
- yt/frontends/boxlib/tests/test_outputs.py:test_raw_fields
- local_boxlib_particles_004:
+ local_boxlib_particles_005:
- yt/frontends/boxlib/tests/test_outputs.py:test_LyA
- yt/frontends/boxlib/tests/test_outputs.py:test_nyx_particle_io
- yt/frontends/boxlib/tests/test_outputs.py:test_castro_particle_io
https://bitbucket.org/yt_analysis/yt/commits/b1f1ba8d860a/
Changeset: b1f1ba8d860a
User: atmyers
Date: 2017-11-28 21:28:25+00:00
Summary: add velocity back to the list of known particle fields (for backwards compatibility)
Affected #: 1 file
diff -r 9fd34ec5c5b14292b193104cf0e6aa6153072675 -r b1f1ba8d860aa97c97547fe879f1e5e7968c7152 yt/frontends/boxlib/fields.py
--- a/yt/frontends/boxlib/fields.py
+++ b/yt/frontends/boxlib/fields.py
@@ -73,6 +73,9 @@
("particle_position_x", ("m", [], None)),
("particle_position_y", ("m", [], None)),
("particle_position_z", ("m", [], None)),
+ ("particle_velocity_x", ("m/s", [], None)),
+ ("particle_velocity_y", ("m/s", [], None)),
+ ("particle_velocity_z", ("m/s", [], None)),
("particle_momentum_x", ("kg*m/s", [], None)),
("particle_momentum_y", ("kg*m/s", [], None)),
("particle_momentum_z", ("kg*m/s", [], None)),
https://bitbucket.org/yt_analysis/yt/commits/86fd2becbd61/
Changeset: 86fd2becbd61
User: atmyers
Date: 2017-12-05 18:33:05+00:00
Summary: add --with-isolation argument.
Affected #: 1 file
diff -r b1f1ba8d860aa97c97547fe879f1e5e7968c7152 -r 86fd2becbd61d93d00ca2aaa7dfc6d41600d7bc2 tests/nose_runner.py
--- a/tests/nose_runner.py
+++ b/tests/nose_runner.py
@@ -75,7 +75,8 @@
tests = yaml.load(data)
base_argv = ['--local-dir=%s' % answers_dir, '-s', '--nologcapture',
- '--with-answer-testing', '--answer-big-data', '--local']
+ '--with-answer-testing', '--answer-big-data', '--local',
+ '--with-isolation']
args = []
for test in list(tests["other_tests"].keys()):
https://bitbucket.org/yt_analysis/yt/commits/f5be93296585/
Changeset: f5be93296585
User: atmyers
Date: 2017-12-06 00:08:47+00:00
Summary: revert add --with-isolation
Affected #: 1 file
diff -r 86fd2becbd61d93d00ca2aaa7dfc6d41600d7bc2 -r f5be93296585d7b831f69ed9bda8bc649108fd20 tests/nose_runner.py
--- a/tests/nose_runner.py
+++ b/tests/nose_runner.py
@@ -75,8 +75,7 @@
tests = yaml.load(data)
base_argv = ['--local-dir=%s' % answers_dir, '-s', '--nologcapture',
- '--with-answer-testing', '--answer-big-data', '--local',
- '--with-isolation']
+ '--with-answer-testing', '--answer-big-data', '--local']
args = []
for test in list(tests["other_tests"].keys()):
https://bitbucket.org/yt_analysis/yt/commits/a234f9d22156/
Changeset: a234f9d22156
User: atmyers
Date: 2017-12-06 22:49:03+00:00
Summary: always have a 'raw' fluid type
Affected #: 1 file
diff -r f5be93296585d7b831f69ed9bda8bc649108fd20 -r a234f9d221564d77325673e779f157664d0b8cf9 yt/frontends/boxlib/data_structures.py
--- a/yt/frontends/boxlib/data_structures.py
+++ b/yt/frontends/boxlib/data_structures.py
@@ -1464,7 +1464,6 @@
# now detect the optional, non-cell-centered fields
self.raw_file = self.ds.output_dir + "/raw_fields/"
- self.ds.fluid_types += ("raw",)
self.raw_fields = _read_raw_field_names(self.raw_file + 'Level_0/')
self.field_list += [('raw', f) for f in self.raw_fields]
self.raw_field_map = {}
@@ -1501,7 +1500,7 @@
self.default_fluid_type = "mesh"
self.default_field = ("mesh", "density")
- self.fluid_types = ("mesh", "index")
+ self.fluid_types = ("mesh", "index", "raw")
super(WarpXDataset, self).__init__(output_dir,
cparam_filename,
https://bitbucket.org/yt_analysis/yt/commits/b530de41ee00/
Changeset: b530de41ee00
User: atmyers
Date: 2017-12-07 00:56:50+00:00
Summary: bump boxlib answers
Affected #: 1 file
diff -r a234f9d221564d77325673e779f157664d0b8cf9 -r b530de41ee001b6e0dbc4d48ae0ff9499ae307f6 tests/tests.yaml
--- a/tests/tests.yaml
+++ b/tests/tests.yaml
@@ -77,7 +77,7 @@
- yt/visualization/tests/test_line_plots.py:test_line_plot
- yt/visualization/tests/test_line_plots.py:test_multi_line_plot
- local_boxlib_006:
+ local_boxlib_007:
- yt/frontends/boxlib/tests/test_outputs.py:test_radadvect
- yt/frontends/boxlib/tests/test_outputs.py:test_radtube
- yt/frontends/boxlib/tests/test_outputs.py:test_star
https://bitbucket.org/yt_analysis/yt/commits/a374b49fe309/
Changeset: a374b49fe309
User: ngoldbaum
Date: 2017-12-08 17:57:58+00:00
Summary: Merge pull request #1634 from atmyers/warpx_field_names
Warpx field name improvements
Affected #: 6 files
diff -r 0535ffa5fe9afe653f5f53c85e65a1521769a8d3 -r a374b49fe3098b802b33caaa82ae541e9f66b777 tests/tests.yaml
--- a/tests/tests.yaml
+++ b/tests/tests.yaml
@@ -77,7 +77,7 @@
- yt/visualization/tests/test_line_plots.py:test_line_plot
- yt/visualization/tests/test_line_plots.py:test_multi_line_plot
- local_boxlib_005:
+ local_boxlib_007:
- yt/frontends/boxlib/tests/test_outputs.py:test_radadvect
- yt/frontends/boxlib/tests/test_outputs.py:test_radtube
- yt/frontends/boxlib/tests/test_outputs.py:test_star
@@ -87,7 +87,7 @@
- yt/frontends/boxlib/tests/test_outputs.py:test_units_override
- yt/frontends/boxlib/tests/test_outputs.py:test_raw_fields
- local_boxlib_particles_004:
+ local_boxlib_particles_005:
- yt/frontends/boxlib/tests/test_outputs.py:test_LyA
- yt/frontends/boxlib/tests/test_outputs.py:test_nyx_particle_io
- yt/frontends/boxlib/tests/test_outputs.py:test_castro_particle_io
diff -r 0535ffa5fe9afe653f5f53c85e65a1521769a8d3 -r a374b49fe3098b802b33caaa82ae541e9f66b777 yt/data_objects/static_output.py
--- a/yt/data_objects/static_output.py
+++ b/yt/data_objects/static_output.py
@@ -565,7 +565,7 @@
mylog.debug("zero common fields: skipping particle union 'all'")
self.field_info.setup_extra_union_fields()
mylog.debug("Loading field plugins.")
- self.field_info.load_all_plugins()
+ self.field_info.load_all_plugins(self.default_fluid_type)
deps, unloaded = self.field_info.check_derived_fields()
self.field_dependencies.update(deps)
self.fields = FieldTypeContainer(self)
diff -r 0535ffa5fe9afe653f5f53c85e65a1521769a8d3 -r a374b49fe3098b802b33caaa82ae541e9f66b777 yt/fields/field_info_container.py
--- a/yt/fields/field_info_container.py
+++ b/yt/fields/field_info_container.py
@@ -173,7 +173,7 @@
#print "Aliasing %s => %s" % (alias, source)
self.alias(alias, source)
- def setup_fluid_aliases(self):
+ def setup_fluid_aliases(self, ftype='gas'):
known_other_fields = dict(self.known_other_fields)
for field in sorted(self.field_list):
if not isinstance(field, tuple):
@@ -199,7 +199,7 @@
self.add_output_field(field, sampling_type="cell", units = units,
display_name = display_name)
for alias in aliases:
- self.alias(("gas", alias), field)
+ self.alias((ftype, alias), field)
def add_field(self, name, sampling_type, function=None, **kwargs):
"""
diff -r 0535ffa5fe9afe653f5f53c85e65a1521769a8d3 -r a374b49fe3098b802b33caaa82ae541e9f66b777 yt/frontends/boxlib/data_structures.py
--- a/yt/frontends/boxlib/data_structures.py
+++ b/yt/frontends/boxlib/data_structures.py
@@ -1469,7 +1469,6 @@
# now detect the optional, non-cell-centered fields
self.raw_file = self.ds.output_dir + "/raw_fields/"
- self.ds.fluid_types += ("raw",)
self.raw_fields = _read_raw_field_names(self.raw_file + 'Level_0/')
self.field_list += [('raw', f) for f in self.raw_fields]
self.raw_field_map = {}
@@ -1504,6 +1503,10 @@
units_override=None,
unit_system="mks"):
+ self.default_fluid_type = "mesh"
+ self.default_field = ("mesh", "density")
+ self.fluid_types = ("mesh", "index", "raw")
+
super(WarpXDataset, self).__init__(output_dir,
cparam_filename,
fparam_filename,
diff -r 0535ffa5fe9afe653f5f53c85e65a1521769a8d3 -r a374b49fe3098b802b33caaa82ae541e9f66b777 yt/frontends/boxlib/fields.py
--- a/yt/frontends/boxlib/fields.py
+++ b/yt/frontends/boxlib/fields.py
@@ -13,13 +13,15 @@
import string
import re
+import numpy as np
from yt.utilities.physical_constants import \
- boltzmann_constant_cgs, amu_cgs
+ boltzmann_constant_cgs, amu_cgs, c
from yt.fields.field_info_container import \
FieldInfoContainer
from yt.units import YTQuantity
+
rho_units = "code_mass / code_length**3"
mom_units = "code_mass / (code_time * code_length**2)"
eden_units = "code_mass / (code_time**2 * code_length)" # erg / cm^3
@@ -55,25 +57,28 @@
class WarpXFieldInfo(FieldInfoContainer):
known_other_fields = (
- ("Bx", ("T", ["magnetic_field_x"], None)),
- ("By", ("T", ["magnetic_field_y"], None)),
- ("Bz", ("T", ["magnetic_field_z"], None)),
- ("Ex", ("V/m", ["electric_field_x"], None)),
- ("Ey", ("V/m", ["electric_field_y"], None)),
- ("Ez", ("V/m", ["electric_field_z"], None)),
- ("jx", ("A", ["current_x"], None)),
- ("jy", ("A", ["current_y"], None)),
- ("jz", ("A", ["current_z"], None)),
+ ("Bx", ("T", ["magnetic_field_x", "B_x"], None)),
+ ("By", ("T", ["magnetic_field_y", "B_y"], None)),
+ ("Bz", ("T", ["magnetic_field_z", "B_z"], None)),
+ ("Ex", ("V/m", ["electric_field_x", "E_x"], None)),
+ ("Ey", ("V/m", ["electric_field_y", "E_y"], None)),
+ ("Ez", ("V/m", ["electric_field_z", "E_z"], None)),
+ ("jx", ("A", ["current_x", "Jx", "J_x"], None)),
+ ("jy", ("A", ["current_y", "Jy", "J_y"], None)),
+ ("jz", ("A", ["current_z", "Jz", "J_z"], None)),
)
known_particle_fields = (
- ("particle_weight", ("", [], None)),
+ ("particle_weight", ("", ["particle_weighting"], None)),
("particle_position_x", ("m", [], None)),
("particle_position_y", ("m", [], None)),
("particle_position_z", ("m", [], None)),
("particle_velocity_x", ("m/s", [], None)),
("particle_velocity_y", ("m/s", [], None)),
("particle_velocity_z", ("m/s", [], None)),
+ ("particle_momentum_x", ("kg*m/s", [], None)),
+ ("particle_momentum_y", ("kg*m/s", [], None)),
+ ("particle_momentum_z", ("kg*m/s", [], None)),
)
extra_union_fields = (
@@ -90,6 +95,14 @@
finfo = self.__getitem__(('raw', field))
finfo.nodal_flag = ds.nodal_flags[field]
+ def setup_fluid_fields(self):
+ for field in self.known_other_fields:
+ fname = field[0]
+ self.alias(("mesh", fname), ('boxlib', fname))
+
+ def setup_fluid_aliases(self):
+ super(WarpXFieldInfo, self).setup_fluid_aliases("mesh")
+
def setup_particle_fields(self, ptype):
def get_mass(field, data):
@@ -108,6 +121,37 @@
function=get_charge,
units="C")
+ def get_energy(field, data):
+ p2 = data[ptype, 'particle_momentum_x']**2 + \
+ data[ptype, 'particle_momentum_y']**2 + \
+ data[ptype, 'particle_momentum_z']**2
+ return np.sqrt(p2 * c**2 + data[ptype, 'particle_mass']**2 * c**4)
+
+ self.add_field((ptype, "particle_energy"), sampling_type="particle",
+ function=get_energy,
+ units="J")
+
+ def get_velocity_x(field, data):
+ return c**2 * data[ptype, 'particle_momentum_x'] / data[ptype, 'particle_energy']
+
+ def get_velocity_y(field, data):
+ return c**2 * data[ptype, 'particle_momentum_y'] / data[ptype, 'particle_energy']
+
+ def get_velocity_z(field, data):
+ return c**2 * data[ptype, 'particle_momentum_z'] / data[ptype, 'particle_energy']
+
+ self.add_field((ptype, "particle_velocity_x"), sampling_type="particle",
+ function=get_velocity_x,
+ units="m/s")
+
+ self.add_field((ptype, "particle_velocity_y"), sampling_type="particle",
+ function=get_velocity_y,
+ units="m/s")
+
+ self.add_field((ptype, "particle_velocity_z"), sampling_type="particle",
+ function=get_velocity_z,
+ units="m/s")
+
super(WarpXFieldInfo, self).setup_particle_fields(ptype)
Repository URL: https://bitbucket.org/yt_analysis/yt/
--
This is a commit notification from bitbucket.org. You are receiving
this because you have the service enabled, addressing the recipient of
this email.
More information about the yt-svn
mailing list