Thanks Michael for the explanation. I too liked this way
var u : [Domain] 4*real;
Best
praveen
On Thu, Oct 6, 2016 at 6:08 PM, Michael Ferguson <[email protected]> wrote:
> Hi -
>
>
> > If I have 4 unknowns at each grid point, what is the best way to
> > store this data ?
>
> This sounds like a good use for a tuple to me.
>
> E.g. instead of
>
>
> var u1 : [Domain] real;
> var u2 : [Domain] real;
> var u3 : [Domain] real;
> var u4 : [Domain] real;
>
>
> you can use
>
> var u : [Domain] 4*real;
>
> where now instead of writing
>
> u2[x]
>
> you'd write
>
> u[x][2]
>
> for example.
>
> Representing it as a record is also reasonable
> but that has more to do with how you wish to structure
> the code. Of course you could use a tuple in a record,
> or 4 different fields. I would generally advise against
> making a 4-element array as a field in that record -
> a tuple is a better fit.
>
> If it made sense to include the 4 unknowns in "Domain",
> you could also add another dimension to Domain.
>
> Or, you could declare an array of arrays:
>
> var u : [Domain] [1..4] real
>
> and use it just like the tuple.
>
> Of all these, I'd recommend storing tuples:
>
> var u : [Domain] 4*real;
>
> Cheers,
>
> -michael
>
> On 10/6/16, 4:15 AM, "Praveen C" <[email protected]> wrote:
>
> >Hello
> >
> >
> >I am thinking of a finite different type application. So I will have
> >loops like
> >
> >
> >forall (i,j) in Domain
> >{
> >// use all 4 components of solution at (i-3,j), (i-2,j), (i-1,j), (i,j),
> >(i+1,j)
> >// and do some computation
> >}
> >
> >
> >and similarly a loop where I access solution values along j-axis.
> >
> >
> >Best
> >praveen
> >
> >
> >On Thu, Oct 6, 2016 at 8:41 AM, Praveen C
> ><[email protected]> wrote:
> >
> >Dear all
> >
> >
> >If I have 4 unknowns at each grid point, what is the best way to store
> >this data ?
> >
> >
> >I could do
> >
> >
> >var u1 : [Domain] real;
> >var u2 : [Domain] real;
> >
> >var u3 : [Domain] real;
> >
> >var u4 : [Domain] real;
> >
> >
> >
> >But this is not very nice for coding.
> >
> >
> >I could use a record
> >
> >
> >record Solution
> >{
> >var u : [1..4] real;
> >}
> >
> >
> >var sol : [Domain] Solution;
> >
> >
> >Is there a reason to choose one over the other in terms of performance.
> >
> >
> >Thanks
> >praveen
> >
> >
> >
> >
> >
> >
>
>
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, SlashDot.org! http://sdm.link/slashdot
_______________________________________________
Chapel-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/chapel-users