to my mind, Blitz++ is indeed the best choice for implementing tensor
calculus!



2011/6/10 Boyce Griffith <[email protected]>

> On 6/10/11 12:05 PM, John Peterson wrote:
> > On Fri, Jun 10, 2011 at 9:50 AM, Ataollah Mesgarnejad
> > <[email protected]>  wrote:
> >> Dear all,
> >>
> >> Is there a way to implement a fourth order tensor A_ijkl using libmesh
> native classes?
> >
> > Nope.
> >
> >> If not how do you recommend to do it ?
> >
> > If it has a fixed size I * J * K * L:
> >
> > Real tensor[I][J][K][L];
> >
> > If the size is variable, you could use a
> >
> > vector<vector<vector<vector<Real>  >  >  >
> >
> > (This is one reason why Fortran programmers think C++ is dumb.)
> >
> > but a better idea would be to write a class which wraps the data
> > structure above or a 1D vector and do array subscripting tricks.
> >
> > If you want to bring external libraries into the mix, there is
> > probably a good one out there.  Don't know of one off the top of my
> > head.
>
> One external library that might be worth considering for this kind of
> stuff is Blitz++, which provides "tensor-like" notation that can make
> dealing with higher order tensors less painful:
>
>    http://www.oonumerics.org/blitz/docs/blitz_3.html#SEC99
>
> (It is also easy to get carried away and write very cryptic array
> expressions.)
>
> Blitz++ development has slowed over the last several years, and so to
> get the most recent released version (0.9) to run on recent C++
> compilers, it may be necessary to patch the source code, e.g.:
>
>    http://sharpen.che.caltech.edu/mediawiki/index.php/Patching_blitz_0.9
>
> If you download the source from their repo, I think it should work
> without patching.
>
> -- Boyce
>
>
> ------------------------------------------------------------------------------
> EditLive Enterprise is the world's most technically advanced content
> authoring tool. Experience the power of Track Changes, Inline Image
> Editing and ensure content is compliant with Accessibility Checking.
> http://p.sf.net/sfu/ephox-dev2dev
> _______________________________________________
> Libmesh-users mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/libmesh-users
>
------------------------------------------------------------------------------
EditLive Enterprise is the world's most technically advanced content
authoring tool. Experience the power of Track Changes, Inline Image
Editing and ensure content is compliant with Accessibility Checking.
http://p.sf.net/sfu/ephox-dev2dev
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to