[yt-users] convert arbitrary particle based quantities to cloud-in-cell mesh

Brendan Griffen brendan.f.griffen at gmail.com
Wed Aug 19 11:02:56 PDT 2015


Hi Nathan,

Is there an example of how one might do this for say an array which
contains particle based x,y,z (for an arepo cell) and some arbitrary other
quantity of the same length (e.g. HI density, velocity magnitudes etc.)?
Seems like you can only do it if you've loaded the data through yt. I
wanted to load in the quantities using my tools as numpy arrays then feed
that into the deposition.

Thanks.
Brendan

On Thu, Jun 25, 2015 at 11:31 AM, Nathan Goldbaum <nathan12343 at gmail.com>
wrote:

> In the latest dev version of yt, there is a
> ds.add_deposited_particle_field function attached to all dataset instances
> that automates the workflow Britton suggests.
>
>
> On Thursday, June 25, 2015, Britton Smith <brittonsmith at gmail.com> wrote:
>
>> Hi Brendan,
>>
>> I would have a look in the yt source in yt/fields/particle_fields.py at
>> the field functions like particle_mass and particle_cic.  They are good
>> examples of just how the deposited fields are done.  In addition, there is
>> a field function, _get_density_weighted_deposit_field, for doing
>> mass-weighted deposited fields.  I think this is exactly what you're
>> looking for.  In fact, it seems that mass-weighted velocity fields already
>> exist as something like ("deposit", "<PTYPE>_sum_velocity_x") or
>> ("deposit", "<PTYPE>_nn_velocity_x").  If you have multiple particle types
>> for stars and such, they should already be defined with these fields.  This
>> should give you a template for implementing any other fields of this type.
>>
>> Britton
>>
>> On Wed, Jun 24, 2015 at 12:28 PM, Brendan Griffen <
>> brendan.f.griffen at gmail.com> wrote:
>>
>>> Hi,
>>>
>>> I'm looking to convert particle based quantities into a uniform grid
>>> based quantity (arepo data is input). So say I have a collection of gas
>>> elements with some density rho and x,y,z positions. I want to construct an
>>> 256^3 mesh representing the cells in a mesh.
>>>
>>> x,y,z,rho --> cic mesh where the values at i,j,k is the smoothed density
>>> are created by the cic algorithm
>>>
>>> Now, generalising this more, can I have rho to be any quantity? So now
>>> say I have star particles which similarly have x,y,z but I want to
>>> distribute their luminosity. Again, I want to do it for say the gas
>>> velocity field as well. Is there any general functionality for converting
>>> particle quantities to mesh quantites in yt with the deposit all_cic
>>> functionality? I have a basic code for just x,y,z particle data and
>>> distributing that based on density to a cic (see below)
>>>
>>> ad = pf.all_data()
>>> level = int(math.log(ndim,2))
>>> cg = pf.covering_grid(level=level,
>>> left_edge=[0,0,0],dims=[ndim,ndim,ndim])
>>> arr = cg['deposit', 'all_cic'],
>>>
>>> but I'm not sure what to do for the other variables. Any help is
>>> appreciated in advance.
>>>
>>> Thanks.
>>> Brendan
>>>
>>> _______________________________________________
>>> yt-users mailing list
>>> yt-users at lists.spacepope.org
>>> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>>>
>>>
>>
> _______________________________________________
> yt-users mailing list
> yt-users at lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.spacepope.org/pipermail/yt-users-spacepope.org/attachments/20150819/f6e0f3f9/attachment.htm>


More information about the yt-users mailing list