gtrpy 1.9

Creator: bigcodingguy24

Last updated:

Add to Cart

Description:

gtrpy 1.9

GTRPy
GTRPy is a python package that allows you to calculate the well-known tensors in the General Theory of Relativity without writing a single line of code. Furthermore, you can apply many operations to 6 different types of fields, in both 3D and 4D.

It's tested for GNU/Linux. However, it should also work in macOS. If you ever encounter with a problem, feel free to create an issue.

Installation
You can easily install the GTRPy via
python3 -m pip install gtrpy

or, you can directly clone the repository
git clone https://github.com/camarman/GTRPy.git

to your favourite directory
Requirements
Install the python3 requirements by running
python3 -m pip install numpy Pillow pysimplegui sympy

Additionally, you will also need tkinter and LaTeX support to run the GTRPy. These can be installed by running:
in Fedora
sudo dnf install dvipng python3-tkinter texlive-collection-latex texlive-collection-latexextra

in Ubuntu
sudo apt install dvipng python3-tk texlive-latex-base texlive-latex-extra

User Guide
To start GTRPy, simply run
python3 -m gtrpy.run

The program will create the logs directory under your current directory, which will contain the outputs of the performed operations.

Please look at the docs/user_guide.md for a summary of the GTRPy. You can look at the demos directory, to see more detailed examples.

Current Features
GTR Tensors
Either by using predefined coordinates or by defining the coordinate system yourself, you can calculate:

Inverse Metric Tensor
Christoffel Symbol
Riemann Tensor
Ricci Tensor
Ricci Scalar
Weyl Tensor
Traceless Ricci Tensor
Einstein Tensor
Kretschmann Scalar

The one important point in GTRPy is that the variables defined in the metric tensor must be constant. For example, you can write the Schwarzschild Coordinates System as
g = diag[-(1-r_s/r), (1-r_s/r)**(-1), r^2, r^2sin^2(theta)]

and that is totally fine for GTRPy, since r_s = 2GM/c^2 is a constant.
Let us suppose you have another variable called F(r) which is a function of r. And the metric is given as
g = diag[-1, F, r^2, r^2sin^2(theta)]

Sadly, the GTRPy will interpret this F as a constant and not as a function of r. So the result will be wrong. On the other hand, if you know what that function is, for instance if F(r) = r^3, then you should write r^3 instead of F and use the GTRPy in that way. Thus, you should write the metric as
g = diag[-1, r^3, r^2, r^2sin^2(theta)]

and now, the GTRPy will work perfectly fine.
Fields
Currently, there are 6 different types of fields that you can carry out operations. These are:

Scalar Field
Type (1,0) Vector Field
Type (0,1) Vector Field
Type (2,0) Tensor Field
Type (1,1) Tensor Field
Type (0,2) Tensor Field

Available Operations in GTRPy

Print out the equations obtained from each operation by clicking a single button
Checking the Killing field condition for a given vector field
Varying the type of a given vector and tensor field
Calculating Covariant and Lie derivatives for scalar, vector, and tensor fields

Overview



4D/Main Page
3D/Main Page












4D/Scalar Field
4D/Vector Field
4D/Tensor Field













3D/Scalar Field
3D/Vector Field
3D/Tensor Field










Upcoming Features

Gradient, Divergence, Curl, and Laplace operations on fields
Partial and Covariant derivatives of the GTR tensors
Including more coordinate systems
Adding a user-defined (custom) function support

Contributing
I am looking for developers who would like to contribute to the project. If you are interested, feel free to create an issue by stating how would you like to contribute. Any help or idea is appreciated. For more information, you can also look at the CONTRIBUTING.md.

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.