• Home
  • History
  • Annotate
Name Date Size #Lines LOC

..03-May-2022-

MakefileH A D19-May-20151.7 KiB6333

READMEH A D19-May-20151.5 KiB3225

bound.cH A D19-May-201516.2 KiB513353

bound.hH A D19-May-20155.8 KiB13854

drat.cH A D19-May-20155.9 KiB247183

drat.hH A D19-May-20154.1 KiB9526

drat.iH A D19-May-201552.2 KiB1,342474

dratt.iH A D19-May-20156.8 KiB241177

track.cH A D19-May-201542.1 KiB1,222718

track.hH A D19-May-20158.6 KiB20370

trans.cH A D19-May-201516.4 KiB474252

trans.hH A D19-May-20153.1 KiB6920

ydrat.cH A D19-May-201516.6 KiB587445

README

1
2				 Drat
3
4   A Yorick package which integrates the transport equation through
5			 a quadrilateral mesh
6
7
8This is a very specialized Yorick package which integrates the
9transport equation through a quadrilateral mesh in cylindrical
10coordinates.  It is unlikely to be of use to anyone outside my own
11narrow specialty (laser fusion research).  I provide it as an example
12of a package which "knows" about the interpreter, as opposed to the
13Math package, which is a mere installation of LAPACK subroutines into
14Yorick.  This "knowledge" is contained in the file ydrat.c, which you
15can study if you need to do something similar.
16
17In particular, a new data type -- the "DratMesh" -- is added to the
18Yorick interpreter.  This encapsulates the "FullMesh" data structure
19which is maintained by the rad-transport package.  This data structure
20could not be easily made available to interpreted code, since the
21rad-transport code reallocates some of the variable sized data
22associated with the "FullMesh"; it wouldn't be nice to attempt to
23resize an array the interpreter owned, nor would it be easy to
24communicate such a change back to an interpreted data structure.
25
26Also, the interface routines take care of getting their arguments off
27of Yorick's stack, which in principle allows them to have a more
28general syntax than interpreted functions.  In this case, the only
29benefit is that no interpreted "wrapper" routines are required to fix
30up the data types and dimensions of input variables before the
31compiled routines are called.
32