drat
Folders and files
Name | Name | Last commit date | ||
---|---|---|---|---|
parent directory.. | ||||
Drat A Yorick package which integrates the transport equation through a quadrilateral mesh This is a very specialized Yorick package which integrates the transport equation through a quadrilateral mesh in cylindrical coordinates. It is unlikely to be of use to anyone outside my own narrow specialty (laser fusion research). I provide it as an example of a package which "knows" about the interpreter, as opposed to the Math package, which is a mere installation of LAPACK subroutines into Yorick. This "knowledge" is contained in the file ydrat.c, which you can study if you need to do something similar. In particular, a new data type -- the "DratMesh" -- is added to the Yorick interpreter. This encapsulates the "FullMesh" data structure which is maintained by the rad-transport package. This data structure could not be easily made available to interpreted code, since the rad-transport code reallocates some of the variable sized data associated with the "FullMesh"; it wouldn't be nice to attempt to resize an array the interpreter owned, nor would it be easy to communicate such a change back to an interpreted data structure. Also, the interface routines take care of getting their arguments off of Yorick's stack, which in principle allows them to have a more general syntax than interpreted functions. In this case, the only benefit is that no interpreted "wrapper" routines are required to fix up the data types and dimensions of input variables before the compiled routines are called.