Lorene::Connection_flat Class Referenceabstract
Tensorial fields

Class Connection_flat. More...

`#include <connection.h>`

Inheritance diagram for Lorene::Connection_flat:

## Public Member Functions

| Connection_flat (const Connection_flat &)
| Copy constructor.
virtual | ~Connection_flat ()
| destructor
void | operator= (const Connection_flat &)
| Assignment to another `Connection_flat`.
virtual Tensor * | p_derive_cov (const Tensor &tens) const =0
| Computes the covariant derivative of a tensor (with respect to the current connection).
virtual Tensor * | p_divergence (const Tensor &tens) const =0
| Computes the divergence of a tensor (with respect to the current connection).
virtual const Tensor & | ricci () const
| Computes (if not up to date) and returns the Ricci tensor associated with the current 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 which defines the connection with respect to the flat one: is the difference between the connection coefficients and the connection coefficients of the flat connection.

## Protected Member Functions

| Connection_flat (const Map &, const Base_vect &)
| Contructor from a triad, has to be defined in the 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 with respect to which the connection coefficients are defined.
Tensor_sym | delta
| Tensor which defines the connection with respect to the flat one: is the difference between the connection coefficients and the connection coefficients of the flat connection.
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 between the connection coefficients and that a the flat connection in the case where the current connection is associated with a metric.

## Private Attributes

const Metric_flat * | flat_met
| Flat metric with respect to which (member `delta` ) is defined.

## Detailed Description

Class Connection_flat.

()

Abstract class for connections associated with a flat metric.

Definition at line 354 of file connection.h.

## Constructor & Destructor Documentation

## Connection_flat() [1/2]

Lorene::Connection_flat::Connection_flat | ( | const Map & | mpi,
|  | const Base_vect & | bi )

protected

Contructor from a triad, has to be defined in the derived classes.

Definition at line 77 of file connection_flat.C.

References Lorene::Connection::assoc_metric, Lorene::Connection::Connection(), Lorene::Connection::delta, and Lorene::Map().

## Connection_flat() [2/2]

Lorene::Connection_flat::Connection_flat | ( | const Connection_flat & | ci | ) |

Copy constructor.

Definition at line 87 of file connection_flat.C.

References Lorene::Connection::Connection(), and Connection_flat().

## ~Connection_flat()

Lorene::Connection_flat::~Connection_flat | ( |  | ) |

virtual

destructor

Definition at line 97 of file connection_flat.C.

## Member Function Documentation

## del_deriv()

void Lorene::Connection::del_deriv | ( |  | ) | const

protected inherited

Deletes all the derived quantities.

Definition at line 205 of file connection.C.

References p_ricci, and set_der_0x0().

## fait_delta()

void Lorene::Connection::fait_delta | ( | const Metric & | gam | ) |

private inherited

Computes the difference between the connection coefficients and that a the flat connection in the case where the current connection is associated with a metric.

Definition at line 278 of file connection.C.

References Lorene::Metric::con(), Lorene::Metric::cov(), delta, Lorene::Tensor_sym::derive_cov(), and flat_met.

## get_delta()

const Tensor_sym & Lorene::Connection::get_delta | ( |  | ) | const

inline inherited

Returns the tensor which defines the connection with respect to the flat one: is the difference between the connection coefficients and the connection coefficients of the flat connection.

The connection coefficients with respect to the triad are defined according to the MTW convention:

Note that is symmetric with respect to the indices j and k.

Returns
  `delta}`(i,j,k) =

Definition at line 271 of file connection.h.

References delta.

## get_mp()

const Map & Lorene::Connection::get_mp | ( |  | ) | const

inline inherited

Returns the mapping.

Definition at line 253 of file connection.h.

References Lorene::Map(), and mp.

## operator=()

void Lorene::Connection_flat::operator= | ( | const Connection_flat & |  | ) |

Assignment to another `Connection_flat`.

Definition at line 107 of file connection_flat.C.

References Connection_flat().

## p_derive_cov()

virtual Tensor * Lorene::Connection_flat::p_derive_cov | ( | const Tensor & | tens | ) | const

pure virtual

Computes the covariant derivative of a tensor (with respect to the current connection).

    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 from Lorene::Connection.

Implemented in Lorene::Connection_fcart, and Lorene::Connection_fspher.

## p_divergence()

virtual Tensor * Lorene::Connection_flat::p_divergence | ( | const Tensor & | tens | ) | const

pure virtual

Computes the divergence of a tensor (with respect to the current connection).

The divergence is taken with respect of the last index of which thus must be contravariant. For instance if is a twice contravariant tensor, whose components w.r.t. the triad are : , the divergence of is the vector

where denotes the current connection.

Parameters

  tens | tensor

Returns
  pointer on the divergence of ; this pointer is polymorphe, i.e. its is a pointer on a `Scalar` if is a `Vector` , on a `Vector` if is a tensor of valence 2, and on a `Tensor` otherwise. NB: The corresponding memory is allocated by the method `p_divergence()` and must be deallocated by the user afterwards.

Reimplemented from Lorene::Connection.

Implemented in Lorene::Connection_fcart, and Lorene::Connection_fspher.

## ricci()

const Tensor & Lorene::Connection_flat::ricci | ( |  | ) | const

virtual

Computes (if not up to date) and returns the Ricci tensor associated with the current connection.

Reimplemented from Lorene::Connection.

Definition at line 121 of file connection_flat.C.

References Lorene::Connection::mp, Lorene::Connection::p_ricci, and Lorene::Connection::triad.

## set_der_0x0()

void Lorene::Connection::set_der_0x0 | ( |  | ) | const

protected inherited

Sets to `0x0` all the pointers on derived quantities.

Definition at line 213 of file connection.C.

References p_ricci.

## update() [1/2]

void Lorene::Connection::update | ( | const Metric & | met | ) |

inherited

Update the connection when it is associated with a metric.

Parameters

  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.

## update() [2/2]

void Lorene::Connection::update | ( | const Tensor_sym & | delta_i | ) |

inherited

Update the connection when it is defined ab initio.

Parameters

  delta_i | tensor which defines the connection with respect to the flat one: is the difference between the connection coefficients and the connection coefficients of the flat connection. must be symmetric with respect to the indices j and k.

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().

## Member Data Documentation

## assoc_metric

bool Lorene::Connection::assoc_metric

protected inherited

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.

## delta

Tensor_sym Lorene::Connection::delta

protected inherited

Tensor which defines the connection with respect to the flat one: is the difference between the connection coefficients and the connection coefficients of the flat connection.

The connection coefficients with respect to the triad are defined according to the MTW convention:

Note that is symmetric with respect to the indices j and k.

Definition at line 141 of file connection.h.

## flat_met

const Metric_flat* Lorene::Connection::flat_met

private inherited

Flat metric with respect to which (member `delta` ) is defined.

Definition at line 156 of file connection.h.

## mp

const Map* const Lorene::Connection::mp

protected inherited

Reference mapping.

Definition at line 119 of file connection.h.

## p_ricci

Tensor* Lorene::Connection::p_ricci

mutable protected inherited

Pointer of the Ricci tensor associated with the connection.

Definition at line 164 of file connection.h.

## triad

const Base_vect* const Lorene::Connection::triad

protected inherited

Triad with respect to which the connection coefficients are defined.

Definition at line 124 of file connection.h.

The documentation for this class was generated from the following files:

- connection.h
- connection_flat.C