| Commit message (Collapse) | Author | Age |
... | |
| |
|
|
|
|
| |
actually schedule storage for them, rather than scheduling only one...
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
which is designed to be much easier to use and much easier to
maintain. Instead of multiple types of thorn, there is just one, and
most of the functionality from the old types is present in this new
type. Some functionality (for example the TRIGGERS mechanism for
evaluated quantities) has not been implemented, but if there is demand
these things can be added. The new API is documented in
Doc/KrancDoc.tex and there is an example in Examples/Maxwell/EMTT2.m.
This is such a significant change that the major version number of
Kranc has been increased from 1 to 2.
|
| |
|
|
|
|
| |
notation etc.
|
|
|
|
| |
Modify symmetry handling slightly
|
|
|
|
| |
Tidy up qualifyGFName function slightly
|
| |
|
|
|
|
|
|
|
|
| |
Fixed bug whereby physical boundary conditions could be called in
symmetry zones, and in some cases this could lead to accessing
unallocated memory and segfaults. This would never have generated
incorrect output, as these points would be overwritten by the symmetry
thorn anyway.
|
|
|
|
|
|
| |
Mathematica 5.1
Also modified shorthands function
|
|
|
|
|
|
|
|
|
|
| |
suggestion.
Removed spurious output.
CreateMoLRegistration source now requires that the group names should
be passed in with an implementation prefix. This is what is currently
done, so the change should be harmless.
|
|
|
|
|
| |
applied to groups (the goups were always associated with the default base thorn,
which is not always true).
|
| |
|
|
|
|
|
|
|
|
| |
not declared at the top of the function.
Rewrote 'cleanCalculation' and renamed it to 'removeUnusedShorthands'.
This routine is for optimization; it removes shorthand assignments
that are never used. See the comment in the source for more caveats.
|
|
|
|
|
| |
for some strange reason this had beed omitted so far. This _should_ not
break anything.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
calculation than the stencil_width will allow. This is useful if you
know that your difference operators are actually safe to use there.
No longer "clean" the calculation five times in a row. In fact, no
longer clean it at all. What was this for? It looks like it was for
removing unused shorthands from a calculation. But only those
shorthands which are used are declared anyway, so why is this
necessary? The logic used in cleancalc doesn't find the shorthands
which are used inside derivative operators, and this was stopping my
code from working.
Only precompute those derivatives that do not contain shorthands. If
a derivative contains a shorthand, the shorthands needs to be computed
before the derivative, so precomputation is not really possible.
|
|
|
|
|
| |
loop over the physical boundaries. Use InfoMessage to output text to
allow user to control verbosity.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Added functions for symmetrizing and
antisymmetrizing expressions in pairs of indices.
Added function to query whether an index is a lower or an upper index.
Invented the concept of a 'tensor attribute'. This is a piece of
information about a particular tensor. Set and get with
SetTensorAttribute[kernel,attr,value] and
GetTensorAttribute[kernel,attr]. Intention is to have things like
Symmetries, TensorWeight, TensorSpecial etc. This allows these things
to be stored along with the tensor, and they can then be queried by
the parts of Kranc that understand tensors. Symmetries are stored as
permutation weight lists as in MathTensor, though we still only have a
very rudimentary index symmetry system.
Changed MakeExplicit on a list of rules to allow duplicate entries.
This has the effect of allowing a shorthand or a grid function to be
set more than once in a calculation, which some people like to do
(i.e. x = f[], x=g[x]). Not sure why the duplicates were removed in
the first place, but was probably to get rid of extra equations caused
by the symmetry system. We are now more clever about recognizing
tensors when this is called, so I hope it is no longer an issue.
Define symmetry tensor attribute when "AssertSymmetric*" are called.
Allow Eps to contain tensorial indices during validation check.
New function to determine the reflection symmetries of a tensor.
|
|
|
|
| |
ability to specify group tags in the interface file.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
functions which understand the internal layout of the Groups
structure. The remaining functions only use the functional interface.
This was necessary as I needed to modify the Groups structure (in a
backward compatible way) to include tensor type tags. So now instead of
{"groupname", {var1, var2, ...}}
we can now have
{"groupname", {var1, var2,...}, Tags -> {TensorType -> "DD", TensorWeight -> -1/2}}
for example. The rest of Kranc should use ONLY the functions at the
top of this file to manipulate Groups structures. KrancThorn and
CalculationFunction will satisfy this requirement, but I am no longer
maintaining KrancThorns.m, so it won't be able to cope with the
modified group format.
|
|
|
|
|
|
| |
types of differencing operators; specifically those that have indices
calculated based on shorthands. (This change was just in the type of
expressions which would be rendered into the header file correctly.)
|
|
|
|
| |
map passed is in fact a list of rule objects.
|
|
|
|
|
|
|
| |
in error checking the user's input and catching bugs as soon as
possible. Also introduced the function InfoMessage to control the
screen output that Kranc produces. The user can set the level of
output required by SetDebugLevel with Quiet, Terse, Info or Full.
|
|
|
|
| |
requires some debugging.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
level. Removed printing of stack backtrace as it doesn't work. I
have an email from Wolfram support with some advice on how to do stack
backtraces; I will investigate soon.
|
|
|
|
|
| |
stripping of implementation names a little more consistent, though it
is still a bit messy.
|
| |
|
|
|
|
| |
functions public.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
in robust stability test to 4
|
|
|
|
| |
awaits comment from Ian.
|
|
|
|
| |
work with current Cactus.
|
|
|
|
|
| |
necessary, and apparently confuse some preprocessors under certain
circumstances.
|
|
|
|
|
| |
to Penalty.m, as a first step to make it easier to clean up
KrancThorns.m
|
| |
|