Tensorial 4.0 and TContinuumMechanics 2.0 ۞ Films Scientifiques ۞  Physique et Structures Fractales ۞ Programmes Mathematica

  Jean-François GOUYET

Updated June 5, 2008
Tensorial 4.0 and TContinuumMechanics 2.1
    The package TContinuumMechanics is devoted to the manipulation of tensors in the context of Continuum Mechanics problems. The most recent version is TContinuumMechanics 2.1, which needs Mathematica (version 4 or 5) and Tensorial 4.0, has been divided into two parts: the program TContinuumMechanics version 2.1 itself, which is now a shareware as is version 4.0 of Tensorial, and its specific applications which remain freely available.
       The various functions created for the present purpose are shown in the link Package.
The main example of application TContinuumMechanics_Fluegge is composed of the twelve chapters of  the well known book of Wilhelm Flügge "Tensorial Analysis and Continuum Mechanics", Wilhelm Flügge, Springer, 1972. It shows how TContinuumMechanics 2.1 can be used in continuum mechanics problems. In this application, I closely followed Flügge's book all along the chapters, as it is to my opinion one of the clearest presentation of Continuum Mechanics using tensors extensively. It demonstrates how the Mathematica packages Tensorial and TContinuumMechanics permit to express in a very clear manner the tensorial structure of the equations of Continuum Mechanics.
New in Tensorial 4.0  and ContinuumMechanics 2.0  - January 2006
    All the output can now be copied and pasted. See UsingTensorial, Output Format.
The output notation has been improved. Unexpanded partial derivatives now show only a single comma before the first differentiation index. Similarly an unexpanded covariant derivative shows only a single semicolon. (Other differentiation symbols can be used as before.) In addition there is an alternative mode of display for covariant derivatives using the \[Del] symbol with subscripts. This can be turned on and off with SetCovariantDisplay. Similarly, SetLieDisplay can be used to display unexpanded Lie derivatives as a £ symbol with subscripts.
    The old Dif and Cov wrappers for differentiation indices are out. Unexpanded (to coordinates) partial and covariant derivatives are only broken out by their linear and Liebnizian properties and then left without further evaluation. This means that the old NestedTensor is unnecesssary and it has been removed. To prevent linear and Liebnizian breakout wrap the expression in Tensor instead of NestedTensor. UnnestTensor will still unwrap the expression.
    DummySimplify has been removed. There is a new TensorSimplify. It selects terms that have the same pattern, applies any declared symmetries and then applies SimplifyTensorSum on these subsets of terms.
    The Curvature section contains new routines (moved from the General Relativity subpackage) that calculate the Riemann tensor, up and down, the Ricci tensor, the scalar curvature and the Einstein tensor.
The new OrthonormalTransformation routine will, given a metric and a signature pattern, calculate a transformation matrix from the coordinated basis to an orthonormal basis.
A number of routines that are more in the class of general expression manipulation rather than tensor routines are gathered together in the Functions & Rules section. Two new routines here are SymbolsToPatterns and LHSSymbolsToPatterns. These are useful in turning derived equations into general rules that can be applied to subsequent expressions.
    The $PrePrint for larger font output has been eliminated. Instead the Tensorial style sheet was changed to give a larger Output cell font. This simplifies copying and pasting by eliminating additional box structures. The style sheet was also changed to eliminate the Helvetica font in Headings in favor of Times. Some systems have a difficult time using the Helvetica font.
    Also, in the Tensorial style sheet, Output cells are now StandardForm. Derivatives are formated in Leibnizian style but you will now have to use MatrixForm to format arrays.   
    Many improvements have been made to various functions of the program. I have added as an example a chapter showing how TContinuumMechanics  can be used to calculate classical operators like divergence, gradient, curl or laplacian in arbitrary curvilinear coordinates. Practical examples will be progressively added in the future, even if the present notebook shows that TContinuumMechanics (associated to Tensorial  ) already allows to cover all the various aspects of continuum mechanics.
    Later on I plan to develop the modelization of growing hulls and membranes with tensorial surface tensions, following the course of Jean Garrigues (Ecole Supérieure de Mécanique de Marseille). Some preliminary works have already started in our group, involving liquid crystal and fibered type of structures.
    The development of this package led to the creation of operations and rules which are included in part in `TContinuumMechanics`Help`3D package`, in part in Tensorial. It shows how convenient is the symbolic approach which permits now to manipulate the whole basic concepts presented for instance in the standard Flügge's book.
    Figures presented in Flügge's book to clarify the theoretical developments, have been introduced here using the Mathematica  package `DrawGraphics`. This program may be downloaded on the same web site as TContinuumMechanics and Tensorial.
New in ContinuumMechanics 2.1  - May 2008
    There was an error in the flavor parameter of  the functions RaiseIndexD, LowerIndexD and UpDownSwapD, which has been corrected.

    All the remarks and suggestions concerning this package will be welcome !
    Send your comments to jean-francois.gouyet@aliceadsl.fr
Other information about Tensorial and  TContinuumMechanics can be found at :
Purchase TContinuumMechanics2 Package $50, 577KB The package, documentation, and text material, 25 May 2008.

    I would like to thank Renan Cabrera, the author of Tensorial,  and his collaborator  David Park, to have accepted my contribution to the improvement of the successive versions of Tensorial, and to have themselves participated to the amendment of the present package.