Albany icon indicating copy to clipboard operation
Albany copied to clipboard

Settle on one expression parser in trilinos

Open bartgol opened this issue 6 years ago • 3 comments

Right now we are using two expression parsers, which I think do similar things. One is taken from Pamgen, and is used in AAdapt_InitialConditions.cpp, to be able to create an initial condition from a functional form. The other is taken from Panzer_ExprEval, and is used in Albany_GenericSTKMeshStruct.cpp to load a field from file given its functional form.

I believe the panzer version is more powerful (at least in the way it is used), since it allows to compute the expression on device for all the points in parallel, while the pamgen one appears to work on host, and compute one point at a time.

I think we should stick with one of the two.

bartgol avatar Mar 07 '19 17:03 bartgol

Agreed. I believe @djlittl introduced the expression parser in AAdapt_InitialConditions.cpp, and @ibaned worked on the Panzer parser. Maybe they can weigh in.

mperego avatar Mar 07 '19 18:03 mperego

Yea, the Panzer parser is a Trilinos version of things I've written to solve the problem of evaluating expressions on GPUs. it was commissioned by Eric Cyr but I don't know how much they ended up using it. I agree with trying to change the AAdapt stuff to use that one if possible.

ibaned avatar Mar 07 '19 18:03 ibaned

Ok, I'll put it on my todo list...

bartgol avatar Mar 07 '19 18:03 bartgol