|
LORENE
|
Class Connection. More...
#include <connection.h>
Public Member Functions | |
| Connection (const Tensor_sym &delta_i, const Metric_flat &flat_met_i) | |
| Standard constructor ab initio. | |
| Connection (const Metric &met, const Metric_flat &flat_met_i) | |
| Standard constructor for a connection associated with a metric. | |
| Connection (const Connection &) | |
| Copy constructor. | |
| virtual | ~Connection () |
| Destructor. | |
| void | operator= (const Connection &) |
Assignment to another Connection. | |
| void | update (const Tensor_sym &delta_i) |
| Update the connection when it is defined ab initio. | |
| void | update (const Metric &met) |
| Update the connection when it is associated with a metric. | |
| const Map & | get_mp () const |
| Returns the mapping. | |
| const Tensor_sym & | get_delta () const |
Returns the tensor ![]() ![]() ![]() ![]() | |
| virtual Tensor * | p_derive_cov (const Tensor &tens) const |
Computes the covariant derivative ![]() ![]() | |
| virtual Tensor * | p_divergence (const Tensor &tens) const |
Computes the divergence of a tensor ![]() | |
| virtual const Tensor & | ricci () const |
| Computes (if not up to date) and returns the Ricci tensor associated with the current connection. | |
Protected Member Functions | |
| Connection (const Map &, const Base_vect &) | |
| Constructor for 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. | |
Protected Attributes | |
| const Map *const | mp |
| Reference mapping. | |
| const Base_vect *const | triad |
Triad ![]() | |
| Tensor_sym | delta |
Tensor ![]() ![]() ![]() ![]() | |
| bool | assoc_metric |
| Indicates whether the connection is associated with a metric (in which case the Ricci tensor is symmetric, i.e. | |
| Tensor * | p_ricci |
| Pointer of the Ricci tensor associated with the connection. | |
Private Member Functions | |
| void | fait_delta (const Metric &) |
Computes the difference ![]() | |
Private Attributes | |
| const Metric_flat * | flat_met |
Flat metric with respect to which ![]() delta ) is defined. | |
Class Connection.
()
This class deals only with torsion-free connections.
Note that we use the MTW convention for the indices of the connection coefficients with respect to a given triad 
![\[ \Gamma^i_{\ jk} := \langle e^i, \nabla_{e_k} \, e_j \rangle
\]](form_206.png)
Definition at line 113 of file connection.h.
| Lorene::Connection::Connection | ( | const Tensor_sym & | delta_i, |
| const Metric_flat & | flat_met_i ) |
Standard constructor ab initio.
| delta_i | tensor ![]() ![]() ![]() ![]() ![]()
![]() |
| flat_met_i | flat metric with respect to which ![]() |
Definition at line 129 of file connection.C.
References assoc_metric, delta, flat_met, Lorene::Tensor::get_index_type(), get_mp(), Lorene::Tensor::get_valence(), mp, set_der_0x0(), Lorene::Tensor_sym::sym_index1(), Lorene::Tensor_sym::sym_index2(), and triad.
| Lorene::Connection::Connection | ( | const Metric & | met, |
| const Metric_flat & | flat_met_i ) |
Standard constructor for a connection associated with a metric.
| met | Metric to which the connection will be associated |
| flat_met_i | flat metric to define the ![]() |
Definition at line 150 of file connection.C.
References assoc_metric, delta, fait_delta(), flat_met, get_mp(), mp, set_der_0x0(), and triad.
| Lorene::Connection::Connection | ( | const Connection & | conn_i | ) |
Copy constructor.
Definition at line 166 of file connection.C.
References assoc_metric, Connection(), delta, flat_met, mp, set_der_0x0(), and triad.
Constructor for derived classes.
Definition at line 179 of file connection.C.
References assoc_metric, delta, flat_met, Lorene::Map(), mp, set_der_0x0(), and triad.
|
virtual |
|
protected |
Deletes all the derived quantities.
Definition at line 205 of file connection.C.
References p_ricci, and set_der_0x0().
|
private |
Computes the difference 
Definition at line 278 of file connection.C.
References Lorene::Metric::con(), Lorene::Metric::cov(), delta, Lorene::Tensor_sym::derive_cov(), and flat_met.
|
inline |
Returns the tensor 



The connection coefficients with respect to the triad 
![\[ \Gamma^i_{\ jk} := \langle e^i, \nabla_{e_k} \, e_j \rangle
\]](form_210.png)
Note that 
delta}(i,j,k) = 
Definition at line 271 of file connection.h.
References delta.
|
inline |
| void Lorene::Connection::operator= | ( | const Connection & | ci | ) |
Assignment to another Connection.
Definition at line 225 of file connection.C.
References Connection(), del_deriv(), delta, flat_met, and triad.
Computes the covariant derivative 

The extra index (with respect to the indices of \f$T\f$) of \f$\nabla T\f$ is chosen to be the \b last one. This convention agrees with that of MTW (see Eq. (10.17) of MTW). For instance, if \f$T\f$ is a 1-form, whose components w.r.t. the triad \f$e^i\f$ are \f$T_i\f$: \f$T=T_i \; e^i\f$, then the covariant derivative of \f$T\f$ is the bilinear form \f$\nabla T\f$ whose components \f$\nabla_j T_i\f$ are such that \f[ \nabla T = \nabla_j T_i \; e^i \otimes e^j \f] @param tens tensor \f$T\f$ @return pointer on the covariant derivative \f$\nabla T\f$ ; this pointer is polymorphe, i.e. it is a pointer on a \c Vector if the argument is a \c Scalar , and on a \c Tensor otherwise. NB: The corresponding memory is allocated by the method \c p_derive_cov() and must be deallocated by the user afterwards.
Reimplemented in Lorene::Connection_fcart, Lorene::Connection_flat, and Lorene::Connection_fspher.
Definition at line 307 of file connection.C.
References Lorene::Scalar::dec_dzpuis(), delta, Lorene::Tensor::derive_cov(), flat_met, Lorene::Tensor::get_index_type(), Lorene::Tensor::get_n_comp(), Lorene::Tensor::get_triad(), Lorene::Tensor::get_valence(), Lorene::Tensor::indices(), mp, Lorene::Itbl::set(), Lorene::Tensor::set(), Lorene::Tensor_sym::sym_index1(), Lorene::Tensor_sym::sym_index2(), and triad.
Computes the divergence of a tensor 
The divergence is taken with respect of the last index of 





![\[ {\rm div}\, T = \nabla_k T^{ik} \; e_i
\]](form_216.png)
where 
| tens | tensor ![]() |

Scalar if 
Vector , on a Vector if 
Tensor otherwise. NB: The corresponding memory is allocated by the method p_divergence() and must be deallocated by the user afterwards. Reimplemented in Lorene::Connection_fcart, Lorene::Connection_flat, and Lorene::Connection_fspher.
Definition at line 463 of file connection.C.
References Lorene::Scalar::dec_dzpuis(), delta, Lorene::Tensor::divergence(), flat_met, Lorene::Tensor::get_index_type(), Lorene::Tensor::get_n_comp(), Lorene::Tensor::get_triad(), Lorene::Tensor::get_valence(), Lorene::Tensor::indices(), mp, Lorene::Itbl::set(), Lorene::Tensor::set(), Lorene::Tensor_sym::sym_index1(), Lorene::Tensor_sym::sym_index2(), and triad.
|
virtual |
Computes (if not up to date) and returns the Ricci tensor associated with the current connection.
Reimplemented in Lorene::Connection_flat.
Definition at line 662 of file connection.C.
References assoc_metric, Lorene::Scalar::dec_dzpuis(), delta, flat_met, mp, p_ricci, Lorene::Scalar::set_etat_zero(), and triad.
|
protected |
Sets to 0x0 all the pointers on derived quantities.
Definition at line 213 of file connection.C.
References p_ricci.
| void Lorene::Connection::update | ( | const Metric & | met | ) |
Update the connection when it is associated with a metric.
| met | Metric to which the connection is associated |
Definition at line 255 of file connection.C.
References assoc_metric, del_deriv(), fait_delta(), and flat_met.
| void Lorene::Connection::update | ( | const Tensor_sym & | delta_i | ) |
Update the connection when it is defined ab initio.
| delta_i | tensor ![]() ![]() ![]() ![]() ![]() |
Definition at line 235 of file connection.C.
References assoc_metric, del_deriv(), delta, flat_met, Lorene::Tensor::get_index_type(), Lorene::Tensor::get_valence(), Lorene::Tensor_sym::sym_index1(), and Lorene::Tensor_sym::sym_index2().
|
protected |
Indicates whether the connection is associated with a metric (in which case the Ricci tensor is symmetric, i.e.
the actual type of p_ricci is a Sym_tensor )
Definition at line 147 of file connection.h.
|
protected |
Tensor 



The connection coefficients with respect to the triad 
![\[ \Gamma^i_{\ jk} := \langle e^i, \nabla_{e_k} \, e_j \rangle
\]](form_210.png)
Note that 
Definition at line 141 of file connection.h.
|
private |
Flat metric with respect to which 
delta ) is defined.
Definition at line 156 of file connection.h.
|
protected |
Reference mapping.
Definition at line 119 of file connection.h.
|
mutableprotected |
Pointer of the Ricci tensor associated with the connection.
Definition at line 164 of file connection.h.
|
protected |
Triad 
Definition at line 124 of file connection.h.