[pooma-dev] vector access in particles
Julian C. Cummings
cummings at linkline.com
Mon Apr 2 23:15:31 UTC 2001
Use Method 2 below. There is a way to
access the x component of a Vector
attribute for all particles, using the
comp() method of Arrays:
Neutrons.Direction.comp(0)
The result of this component access is
an Array of scalar data, and you can index
elements of that Array just like any other.
So you could do something like
Neutrons.Direction.comp(0)(ipart)
to get element ipart. However, you
probably want to save the result of
the component access as a temporary
Array component view, since there is
a cost associated with creating these.
There is a fairly gnarly syntax used
to get the type of this temporary Array
component view:
ComponentView<Loc<1>,Array_t>::Type_t
where Array_t is the type of the original
DynamicArray that you are viewing a
component of. The Loc<1> is used to store
the single component index used to reference
a component of a Vector attribute.
My advice is, don't go through the work of
creating a component view unless you need to
pass the component as an Array to some function.
Just access single elements of the Vector
attribute, then access the component you want:
Neutrons.Direction(ipart)(0)
-- Julian C.
-----Original Message-----
From: Steve Nolen [mailto:drnuke at lanl.gov]
Sent: Monday, April 02, 2001 2:59 PM
To: Pooma
Subject: [pooma-dev] vector access in particles
how does one access the x-axis dimension in a particle attribute direction?
1. Neutrons.Direction( 0 )( ipart )
-or-
2. Neutrons.Direction( ipart ) ( 0 );
where ipart is the particle of interest and 0 denotes the x-axis member
-steve
More information about the pooma-dev
mailing list