Metric for tensor calculation. More...
#include <metric.h>
Public Member Functions | |
Metric (const Sym_tensor &tens) | |
Standard constructor from a Sym_tensor . | |
Metric (const Metric &met) | |
Copy constructor. | |
Metric (const Map &, FILE *) | |
Constructor from a file (see sauve(FILE*) ). | |
virtual | ~Metric () |
Destructor. | |
void | operator= (const Metric &met) |
Assignment to another Metric. | |
virtual void | operator= (const Sym_tensor &tens) |
Assignment from a Sym_tensor . | |
const Map & | get_mp () const |
Returns the mapping. | |
virtual const Sym_tensor & | cov () const |
Read-only access to the covariant representation. | |
virtual const Sym_tensor & | con () const |
Read-only access to the contravariant representation. | |
virtual const Connection & | connect () const |
Returns the connection. | |
const Sym_tensor & | ricci () const |
Returns the Ricci tensor (given by the Connection p_connect ). | |
virtual const Scalar & | ricci_scal () const |
Returns the Ricci scalar. | |
virtual const Vector & | radial_vect () const |
Returns the radial vector normal to a spherical slicing and pointing toward spatial infinity. | |
virtual const Scalar & | determinant () const |
Returns the determinant. | |
virtual void | sauve (FILE *) const |
Save in a file. | |
Protected Member Functions | |
Metric (const Map &mpi) | |
Simplified constructor used by derived classes. | |
void | del_deriv () const |
Deletes all the derived quantities. | |
void | set_der_0x0 () const |
Sets to 0x0 all the pointers on derived quantities. | |
void | del_tensor_depend () const |
Deletes all the derivative members of the Tensor contained in tensor_depend . | |
void | set_tensor_depend_0x0 () const |
Sets all elements of tensor_depend to 0x0. | |
virtual ostream & | operator>> (ostream &) const |
Operator >> (virtual function called by the operator <<). | |
Protected Attributes | |
const Map *const | mp |
Reference mapping. | |
Sym_tensor * | p_met_cov |
Pointer on the contravariant representation. | |
Sym_tensor * | p_met_con |
Pointer on the covariant representation. | |
Connection * | p_connect |
Connection associated with the metric. | |
Scalar * | p_ricci_scal |
Pointer on the Ricci scalar. | |
Vector * | p_radial_vect |
Pointer to the radial vector normal to a spherical slicing and pointing toward spatial infinity. | |
Scalar * | p_determinant |
Pointer on the determinant. | |
const Tensor * | tensor_depend [N_TENSOR_DEPEND] |
Pointer on the dependancies, that means the array contains pointers on all the Tensor whom derivative members have been calculated using *this . | |
Friends | |
class | Tensor |
ostream & | operator<< (ostream &, const Metric &) |
Display. |
Metric for tensor calculation.
()
Definition at line 86 of file metric.h.
Metric::Metric | ( | const Sym_tensor & | tens | ) | [explicit] |
Standard constructor from a Sym_tensor
.
The symmetric tensor can be either the covariant or the contravariant representation of the metric.
Definition at line 100 of file metric.C.
References Tensor::get_index_type(), p_met_con, p_met_cov, set_der_0x0(), and set_tensor_depend_0x0().
Metric::Metric | ( | const Metric & | met | ) |
Copy constructor.
Definition at line 121 of file metric.C.
References p_met_con, p_met_cov, set_der_0x0(), and set_tensor_depend_0x0().
Metric::Metric | ( | const Map & | mpi, | |
FILE * | ||||
) |
Metric::Metric | ( | const Map & | mpi | ) | [explicit, protected] |
Simplified constructor used by derived classes.
Definition at line 143 of file metric.C.
References set_der_0x0(), and set_tensor_depend_0x0().
Metric::~Metric | ( | ) | [virtual] |
Destructor.
Definition at line 156 of file metric.C.
References del_deriv(), del_tensor_depend(), p_met_con, and p_met_cov.
const Sym_tensor & Metric::con | ( | ) | const [virtual] |
Read-only access to the contravariant representation.
Reimplemented in Metric_flat.
Definition at line 286 of file metric.C.
References Sym_tensor::inverse(), p_met_con, and p_met_cov.
const Connection & Metric::connect | ( | ) | const [virtual] |
Returns the connection.
Reimplemented in Metric_flat.
Definition at line 297 of file metric.C.
References Map::flat_met_cart(), Map::flat_met_spher(), Tensor::get_triad(), mp, p_connect, p_met_con, and p_met_cov.
const Sym_tensor & Metric::cov | ( | ) | const [virtual] |
Read-only access to the covariant representation.
Reimplemented in Metric_flat.
Definition at line 276 of file metric.C.
References Sym_tensor::inverse(), p_met_con, and p_met_cov.
void Metric::del_deriv | ( | ) | const [protected] |
Deletes all the derived quantities.
Definition at line 172 of file metric.C.
References p_connect, p_determinant, p_radial_vect, p_ricci_scal, and set_der_0x0().
void Metric::del_tensor_depend | ( | ) | const [protected] |
Deletes all the derivative members of the Tensor
contained in tensor_depend
.
Those quantities had been previously calculated using *this
.
Definition at line 193 of file metric.C.
References Tensor::del_derive_met(), Tensor::get_place_met(), set_tensor_depend_0x0(), and tensor_depend.
const Scalar & Metric::determinant | ( | ) | const [virtual] |
Returns the determinant.
This determinant is stored as a Scalar
although it a scalar density. To be a real scalar it must be divided by e.g. the determinant of a flat metric.
Reimplemented in Metric_flat.
Definition at line 388 of file metric.C.
References cov(), mp, and p_determinant.
const Map& Metric::get_mp | ( | ) | const [inline] |
void Metric::operator= | ( | const Sym_tensor & | tens | ) | [virtual] |
Assignment from a Sym_tensor
.
The allocated representation depends on the type of the input tensor indices. All the other members are deleted.
Reimplemented in Metric_flat.
Definition at line 242 of file metric.C.
References del_deriv(), Tensor::get_index_type(), Tensor::get_mp(), mp, p_met_con, and p_met_cov.
void Metric::operator= | ( | const Metric & | met | ) |
Assignment to another Metric.
Reimplemented in Metric_flat.
Definition at line 216 of file metric.C.
References del_deriv(), mp, p_met_con, and p_met_cov.
ostream & Metric::operator>> | ( | ostream & | ost | ) | const [protected, virtual] |
Operator >> (virtual function called by the operator <<).
Reimplemented in Metric_flat.
Definition at line 442 of file metric.C.
References p_connect, p_determinant, p_met_con, p_met_cov, and p_ricci_scal.
const Vector & Metric::radial_vect | ( | ) | const [virtual] |
Returns the radial vector normal to a spherical slicing and pointing toward spatial infinity.
Definition at line 358 of file metric.C.
References p_radial_vect, Vector::set(), and sqrt().
const Sym_tensor & Metric::ricci | ( | ) | const |
Returns the Ricci tensor (given by the Connection
p_connect
).
Definition at line 334 of file metric.C.
References connect(), and Connection::ricci().
const Scalar & Metric::ricci_scal | ( | ) | const [virtual] |
Returns the Ricci scalar.
Reimplemented in Metric_flat.
Definition at line 346 of file metric.C.
References p_ricci_scal, and ricci().
void Metric::sauve | ( | FILE * | fd | ) | const [virtual] |
Save in a file.
Reimplemented in Metric_flat.
Definition at line 410 of file metric.C.
References fwrite_be(), p_met_con, p_met_cov, and Tensor_sym::sauve().
void Metric::set_der_0x0 | ( | ) | const [protected] |
Sets to 0x0
all the pointers on derived quantities.
Definition at line 184 of file metric.C.
References p_connect, p_determinant, p_radial_vect, and p_ricci_scal.
void Metric::set_tensor_depend_0x0 | ( | ) | const [protected] |
Sets all elements of tensor_depend
to 0x0.
Definition at line 204 of file metric.C.
References tensor_depend.
ostream& operator<< | ( | ostream & | , | |
const Metric & | ||||
) | [friend] |
Display.
const Map* const Metric::mp [protected] |
Connection* Metric::p_connect [mutable, protected] |
Connection associated with the metric.
Scalar* Metric::p_determinant [mutable, protected] |
Sym_tensor* Metric::p_met_con [mutable, protected] |
Sym_tensor* Metric::p_met_cov [mutable, protected] |
Vector* Metric::p_radial_vect [mutable, protected] |
Scalar* Metric::p_ricci_scal [mutable, protected] |
const Tensor* Metric::tensor_depend[N_TENSOR_DEPEND] [mutable, protected] |