KADATH
Kadath::Metric_AADS Class Reference

Class to manage asymptotically anti de Sitter metrics. More...

#include <metric_AADS.hpp>

Inheritance diagram for Kadath::Metric_AADS:
Kadath::Metric

Public Member Functions

 Metric_AADS (const Space &space, Metric_tensor &hmet)
 Standard constructor. More...
 
 Metric_AADS (const Metric_AADS &so)
 Copy constructor. More...
 
virtual void manipulate_ind (Term_eq &so, int ind) const
 Uses the Metric to manipulate one of the index of a Term_eq (i.e. More...
 
virtual Term_eq derive (int type_der, char ind_der, const Term_eq &so) const
 Computes the covariant derivative of a Term_eq (assumes Cartesian basis of decomposition). More...
 
void set_system (System_of_eqs &syst, const char *name_met, const char *name_hmet)
 Associates the metric to a given system of equations. More...
 
void set_system (System_of_eqs &syst, const char *name_met, const char *name_hmet, const char *name_back_cov, const char *name_back_con, const char *name_back_ricci)
 Associates the metric to a given system of equations. More...
 
void set_system (System_of_eqs &syst, const char *name_met, const char *name_hmet, const char *name_back_cov, const char *name_back_con, const char *name_back_gam, const char *name_back_ricci)
 Associates the metric to a given system of equations. More...
 
virtual const Metricget_background () const
 
virtual Term_eq derive_partial (int typeder, char nameder, const Term_eq &so) const
 Computes the partial derivative of a Term_eq (assumes Cartesian basis of decomposition). More...
 
virtual Term_eq derive_flat (int typeder, char nameder, const Term_eq &so) const
 Computes the covariant flat derivative of a Term_eq. More...
 
virtual int give_type (int) const
 Returns the type of tensorial basis of the covariant representation, in a given Domain. More...
 
const Term_eqgive_term (int typemet, int dd) const
 Gives one representation of the metric, in a Domain. More...
 
const Term_eqgive_christo (int dd) const
 Gives the Christoffel symbols, in a Domain. More...
 
const Term_eqgive_riemann (int dd) const
 Gives the Riemann tensor, in a Domain. More...
 
const Term_eqgive_ricci_tensor (int dd) const
 Gives the Ricci tensor, in a Domain. More...
 
const Term_eqgive_ricci_scalar (int dd) const
 Gives the Ricci scalar, in a Domain. More...
 
const Term_eqgive_dirac (int dd) const
 Gives the potential of the Dirac gauge, in a Domain. More...
 
const Term_eqgive_det_cov (int dd) const
 Gives the determinant of the covariant metric, in a Domain. More...
 

Protected Member Functions

virtual void compute_cov (int d) const
 Computes the covariant representation, in a given Domain. More...
 
virtual void compute_con (int d) const
 Computes the contravariant representation, in a given Domain. More...
 
virtual void compute_christo (int d) const
 Computes the Christoffel symbols, in a given Domain. More...
 
virtual void compute_ricci_tensor (int d) const
 Computes the Ricci tensor, in a given Domain. More...
 
virtual void compute_ricci_scalar (int d) const
 Computes the Ricci scalar, in a given Domain. More...
 
virtual void update (int d)
 Updates the derived quantities (Christoffels etc..) in a given Domain This is done only for the ones that are needed, i.e. More...
 
virtual void update ()
 Updates the derived quantities (Christoffels etc..) This is done only for the ones that are needed, i.e. More...
 
virtual void compute_riemann (int) const
 Computes the Riemann tensor, in a given Domain. More...
 
virtual void compute_dirac (int) const
 Computes the Dirac gauge term, in a given Domain. More...
 
virtual void compute_det_cov (int) const
 Computes the determinant of the covariant representation, in a given Domain. More...
 

Protected Attributes

int m_nd
 number of physical domains (usually the last compaxtified domain is discarded). More...
 
int m_place_syst
 Where is the unknown h in the system of equations. More...
 
double m_L
 AdS length. More...
 
bool m_doder
 true if metric variation allowed to be computed More...
 
Metric_ADS m_ads
 Background metric(i.e. ADS metric). More...
 
Metric_tensorp_hmet
 $h_{ij}$ : the discrepancy between covariant metric and contravariant background. More...
 
Vectorp_der_eps
 Pointer on the vector containing the derivative of the conformal factor $ D_i \epsilon$. More...
 
Base_tensorp_basis
 Pointer on the tensorial basis (Cartesian basis only). More...
 
const Spaceespace
 The associated Space. More...
 
const System_of_eqssyst
 Pointer of the system of equations where the metric is used (only one for now). More...
 
MMPtr_array< Term_eqp_met_cov
 Array of pointers on various Term_eq. More...
 
MMPtr_array< Term_eqp_met_con
 Array of pointers on various Term_eq. More...
 
MMPtr_array< Term_eqp_christo
 Array of pointers on various Term_eq. More...
 
MMPtr_array< Term_eqp_riemann
 Array of pointers on various Term_eq. More...
 
MMPtr_array< Term_eqp_ricci_tensor
 Array of pointers on various Term_eq. More...
 
MMPtr_array< Term_eqp_ricci_scalar
 Array of pointers on various Term_eq. More...
 
MMPtr_array< Term_eqp_dirac
 Array of pointers on various Term_eq. More...
 
MMPtr_array< Term_eqp_det_cov
 Array of pointers on various Term_eq. More...
 
int type_tensor
 States if one works in the CON or COV representation. More...
 

Private Member Functions

Term_eq derive_simple (const Term_eq &so) const
 Computes the covariant derivative. More...
 

Private Attributes

Term_eq ** p_h
 Pointers on the differences between the covariant metric and the covariant background. More...
 
Term_eq ** p_k
 Pointers on the differences between the contravariant metric and the contravariant background. More...
 

Detailed Description

Class to manage asymptotically anti de Sitter metrics.

Definition at line 128 of file metric_AADS.hpp.

Constructor & Destructor Documentation

◆ Metric_AADS() [1/2]

Kadath::Metric_AADS::Metric_AADS ( const Space space,
Metric_tensor hmet 
)

◆ Metric_AADS() [2/2]

Kadath::Metric_AADS::Metric_AADS ( const Metric_AADS so)

Copy constructor.

Definition at line 48 of file metric_AADS.cpp.

References Kadath::Metric::espace, Kadath::Space::get_nbr_domains(), m_nd, p_basis, p_der_eps, p_h, p_hmet, and p_k.

Member Function Documentation

◆ compute_christo()

void Kadath::Metric_AADS::compute_christo ( int  dd) const
protectedvirtual

Computes the Christoffel symbols, in a given Domain.

Reimplemented from Kadath::Metric.

Definition at line 290 of file metric_AADS.cpp.

References Kadath::Index::inc(), Kadath::Tensor::set(), Kadath::Array< T >::set(), and Kadath::Scalar::set_domain().

◆ compute_con()

void Kadath::Metric_AADS::compute_con ( int  ) const
protectedvirtual

Computes the contravariant representation, in a given Domain.

Reimplemented from Kadath::Metric.

Definition at line 113 of file metric_AADS.cpp.

References Kadath::Term_eq::get_der_t(), Kadath::Term_eq::get_val_t(), Kadath::Tensor::set(), and Kadath::Scalar::set_domain().

◆ compute_cov()

void Kadath::Metric_AADS::compute_cov ( int  ) const
protectedvirtual

Computes the covariant representation, in a given Domain.

Reimplemented from Kadath::Metric.

Definition at line 92 of file metric_AADS.cpp.

◆ compute_det_cov()

void Kadath::Metric::compute_det_cov ( int  ) const
protectedvirtualinherited

Computes the determinant of the covariant representation, in a given Domain.

Reimplemented in Kadath::Metric_harmonic.

Definition at line 750 of file metric.cpp.

◆ compute_dirac()

void Kadath::Metric::compute_dirac ( int  ) const
protectedvirtualinherited

Computes the Dirac gauge term, in a given Domain.

Reimplemented in Kadath::Metric_conf, and Kadath::Metric_general.

Definition at line 745 of file metric.cpp.

◆ compute_ricci_scalar()

void Kadath::Metric_AADS::compute_ricci_scalar ( int  dd) const
protectedvirtual

Computes the Ricci scalar, in a given Domain.

Reimplemented from Kadath::Metric.

Definition at line 521 of file metric_AADS.cpp.

References Kadath::Scalar::set_domain().

◆ compute_ricci_tensor()

void Kadath::Metric_AADS::compute_ricci_tensor ( int  dd) const
protectedvirtual

Computes the Ricci tensor, in a given Domain.

Reimplemented from Kadath::Metric.

Definition at line 463 of file metric_AADS.cpp.

References Kadath::Index::inc(), Kadath::Tensor::set(), and Kadath::Scalar::set_domain().

◆ compute_riemann()

◆ derive()

Term_eq Kadath::Metric_AADS::derive ( int  typeder,
char  nameder,
const Term_eq so 
) const
virtual

Computes the covariant derivative of a Term_eq (assumes Cartesian basis of decomposition).

The index corresponding to the derivation is given a name. If need be inner summation is performed.

Parameters
typeder: the result is either $D_i$ or $D^i$
nameder: the name given as the derivation index.
so: the Term_eq to be derived.
Returns
: the covariant derivative.

Reimplemented from Kadath::Metric.

Definition at line 418 of file metric_AADS.cpp.

References Kadath::Term_eq::der_t, Kadath::Tensor::do_summation_one_dom(), Kadath::Tensor::set_name_affected(), Kadath::Tensor::set_name_ind(), and Kadath::Term_eq::val_t.

◆ derive_flat()

Term_eq Kadath::Metric::derive_flat ( int  typeder,
char  nameder,
const Term_eq so 
) const
virtualinherited

Computes the covariant flat derivative of a Term_eq.

The index corresponding to the derivation is given a name. If need be inner summation is performed.

Parameters
typeder: the result is either $\bar{D}_i$ or $\bar{D}^i$
nameder: the name given as the derivation index.
so: the Term_eq to be derived.
Returns
: the covariant flat derivative.

Reimplemented in Kadath::Metric_nophi_AADS, Kadath::Metric_nophi, Kadath::Metric_cfc, Kadath::Metric_conf_factor, Kadath::Metric_conf, and Kadath::Metric_general.

Definition at line 402 of file metric.cpp.

◆ derive_partial()

Term_eq Kadath::Metric::derive_partial ( int  typeder,
char  nameder,
const Term_eq so 
) const
virtualinherited

◆ derive_simple()

Term_eq Kadath::Metric_AADS::derive_simple ( const Term_eq so) const
private

Computes the covariant derivative.

The name of the index is not defined (hence no inner summation is performed).

Parameters
so: the Term_eq to be derived.
Returns
: the covariant derivative.

Definition at line 363 of file metric_AADS.cpp.

References Kadath::Term_eq::der_t, Kadath::Tensor::get_index_type(), Kadath::Tensor::get_valence(), Kadath::Index::inc(), Kadath::Tensor::set(), Kadath::Index::set(), Kadath::Term_eq::set_der_zero(), Kadath::Scalar::set_domain(), Kadath::Index::set_start(), and Kadath::Term_eq::val_t.

◆ get_background()

const Metric * Kadath::Metric_AADS::get_background ( ) const
virtual
Returns
the pointer on the background metric.

Reimplemented from Kadath::Metric.

Definition at line 609 of file metric_AADS.cpp.

References m_ads.

◆ give_christo()

const Term_eq * Kadath::Metric::give_christo ( int  dd) const
inherited

Gives the Christoffel symbols, in a Domain.

This is the Term_eq version.

Parameters
dd: in which Domain.
Returns
: pointer on the result (being a Term_eq).

Definition at line 124 of file metric.cpp.

References Kadath::Metric::compute_christo(), Kadath::Metric::espace, Kadath::Space::get_nbr_domains(), and Kadath::Metric::p_christo.

◆ give_det_cov()

const Term_eq * Kadath::Metric::give_det_cov ( int  dd) const
inherited

Gives the determinant of the covariant metric, in a Domain.

This is the Term_eq version.

Parameters
dd: in which Domain.
Returns
: pointer on the result (being a Term_eq).

Definition at line 159 of file metric.cpp.

References Kadath::Metric::compute_det_cov(), Kadath::Metric::espace, Kadath::Space::get_nbr_domains(), and Kadath::Metric::p_det_cov.

◆ give_dirac()

const Term_eq * Kadath::Metric::give_dirac ( int  dd) const
inherited

Gives the potential of the Dirac gauge, in a Domain.

This is the Term_eq version.

Parameters
dd: in which Domain.
Returns
: pointer on the result (being a Term_eq).

Definition at line 152 of file metric.cpp.

References Kadath::Metric::compute_dirac(), Kadath::Metric::espace, Kadath::Space::get_nbr_domains(), and Kadath::Metric::p_dirac.

◆ give_ricci_scalar()

const Term_eq * Kadath::Metric::give_ricci_scalar ( int  dd) const
inherited

Gives the Ricci scalar, in a Domain.

This is the Term_eq version.

Parameters
dd: in which Domain.
Returns
: pointer on the result (being a Term_eq).

Definition at line 145 of file metric.cpp.

References Kadath::Metric::compute_ricci_scalar(), Kadath::Metric::espace, Kadath::Space::get_nbr_domains(), and Kadath::Metric::p_ricci_scalar.

◆ give_ricci_tensor()

const Term_eq * Kadath::Metric::give_ricci_tensor ( int  dd) const
inherited

Gives the Ricci tensor, in a Domain.

This is the Term_eq version.

Parameters
dd: in which Domain.
Returns
: pointer on the result (being a Term_eq).

Definition at line 138 of file metric.cpp.

References Kadath::Metric::compute_ricci_tensor(), Kadath::Metric::espace, Kadath::Space::get_nbr_domains(), and Kadath::Metric::p_ricci_tensor.

◆ give_riemann()

const Term_eq * Kadath::Metric::give_riemann ( int  dd) const
inherited

Gives the Riemann tensor, in a Domain.

This is the Term_eq version.

Parameters
dd: in which Domain.
Returns
: pointer on the result (being a Term_eq).

Definition at line 131 of file metric.cpp.

References Kadath::Metric::compute_riemann(), Kadath::Metric::espace, Kadath::Space::get_nbr_domains(), and Kadath::Metric::p_riemann.

◆ give_term()

const Term_eq * Kadath::Metric::give_term ( int  typemet,
int  dd 
) const
inherited

Gives one representation of the metric, in a Domain.

This is the Term_eq version.

Parameters
typemet: CON or COV.
dd: in which Domain.
Returns
: pointer on the result (being a Term_eq).

Definition at line 103 of file metric.cpp.

References Kadath::Metric::compute_con(), Kadath::Metric::compute_cov(), Kadath::Metric::espace, Kadath::Space::get_nbr_domains(), Kadath::Metric::p_met_con, and Kadath::Metric::p_met_cov.

◆ give_type()

int Kadath::Metric::give_type ( int  dd) const
virtualinherited

Returns the type of tensorial basis of the covariant representation, in a given Domain.

Reimplemented in Kadath::Metric_nophi_AADS, Kadath::Metric_nophi, Kadath::Metric_flat_nophi, Kadath::Metric_cfc, Kadath::Metric_conf_factor, Kadath::Metric_conf, Kadath::Metric_general, and Kadath::Metric_flat.

Definition at line 118 of file metric.cpp.

References Kadath::Metric::compute_cov(), and Kadath::Metric::p_met_cov.

◆ manipulate_ind()

void Kadath::Metric_AADS::manipulate_ind ( Term_eq so,
int  ind 
) const
virtual

Uses the Metric to manipulate one of the index of a Term_eq (i.e.

moves the index up or down)

Parameters
so: the Term_eq to be manipulated.
ind: index number.

Reimplemented from Kadath::Metric.

Definition at line 223 of file metric_AADS.cpp.

References Kadath::Index::inc(), Kadath::Tensor::set(), Kadath::Array< T >::set(), Kadath::Index::set(), Kadath::Scalar::set_domain(), Kadath::Tensor::set_name_affected(), and Kadath::Tensor::set_name_ind().

◆ set_system() [1/3]

void Kadath::Metric_AADS::set_system ( System_of_eqs syst,
const char *  name_met,
const char *  name_hmet 
)

Associates the metric to a given system of equations.

Parameters
syst: the System_of_eqs.
name_met: name by which the metric will be known in the system (like "g", "f"...)
name_hmet: name of $ h_{ij} $, difference with the background.

Definition at line 562 of file metric_AADS.cpp.

References Kadath::System_of_eqs::add_var(), m_place_syst, Kadath::System_of_eqs::met, Kadath::System_of_eqs::name_met, Kadath::System_of_eqs::ndom, Kadath::System_of_eqs::nvar, p_hmet, and Kadath::Metric::syst.

◆ set_system() [2/3]

void Kadath::Metric_AADS::set_system ( System_of_eqs syst,
const char *  name_met,
const char *  name_hmet,
const char *  name_back_cov,
const char *  name_back_con,
const char *  name_back_gam,
const char *  name_back_ricci 
)

Associates the metric to a given system of equations.

It also sets the background quantities as constants.

Parameters
syst: the System_of_eqs.
name_met: name by which the metric will be known in the system (like "g", "f"...)
name_hmet: name of $ h_{ij} $, difference with the background.
name_back_cov: name of the convariant background metric
name_back_con: name of the contravariant background metric.
name_back_gam: name of the background Christoffels.
name_back_ricci: name of the backgroundRicci tensor.

Definition at line 593 of file metric_AADS.cpp.

References Kadath::System_of_eqs::add_var(), Kadath::Metric_ADS::init_system(), m_ads, m_place_syst, Kadath::System_of_eqs::met, Kadath::System_of_eqs::name_met, Kadath::System_of_eqs::ndom, Kadath::System_of_eqs::nvar, p_hmet, and Kadath::Metric::syst.

◆ set_system() [3/3]

void Kadath::Metric_AADS::set_system ( System_of_eqs syst,
const char *  name_met,
const char *  name_hmet,
const char *  name_back_cov,
const char *  name_back_con,
const char *  name_back_ricci 
)

Associates the metric to a given system of equations.

It also sets the background quantities as constants.

Parameters
syst: the System_of_eqs.
name_met: name by which the metric will be known in the system (like "g", "f"...)
name_hmet: name of $ h_{ij} $, difference with the background.
name_back_cov: name of the background convariant metric
name_back_con: name of the background contravariant description.
name_back_ricci: name of the background Ricci tensor.

Definition at line 577 of file metric_AADS.cpp.

References Kadath::System_of_eqs::add_var(), Kadath::Metric_ADS::init_system(), m_ads, m_place_syst, Kadath::System_of_eqs::met, Kadath::System_of_eqs::name_met, Kadath::System_of_eqs::ndom, Kadath::System_of_eqs::nvar, p_hmet, and Kadath::Metric::syst.

◆ update() [1/2]

void Kadath::Metric_AADS::update ( )
protectedvirtual

Updates the derived quantities (Christoffels etc..) This is done only for the ones that are needed, i.e.

for the ones that have already been computed.

Reimplemented from Kadath::Metric.

Definition at line 87 of file metric_AADS.cpp.

References m_nd.

◆ update() [2/2]

void Kadath::Metric_AADS::update ( int  dd)
protectedvirtual

Updates the derived quantities (Christoffels etc..) in a given Domain This is done only for the ones that are needed, i.e.

for the ones that have already been computed.

Parameters
dd: the index of the Domain.

Reimplemented from Kadath::Metric.

Definition at line 77 of file metric_AADS.cpp.

References compute_christo(), compute_con(), compute_cov(), compute_ricci_scalar(), compute_ricci_tensor(), Kadath::Metric::p_christo, Kadath::Metric::p_met_con, Kadath::Metric::p_met_cov, Kadath::Metric::p_ricci_scalar, Kadath::Metric::p_ricci_tensor, and Kadath::Metric::type_tensor.

Member Data Documentation

◆ espace

const Space& Kadath::Metric::espace
protectedinherited

The associated Space.

Definition at line 42 of file metric.hpp.

◆ m_ads

Metric_ADS Kadath::Metric_AADS::m_ads
protected

Background metric(i.e. ADS metric).

Definition at line 135 of file metric_AADS.hpp.

◆ m_doder

bool Kadath::Metric_AADS::m_doder
mutableprotected

true if metric variation allowed to be computed

Definition at line 134 of file metric_AADS.hpp.

◆ m_L

double Kadath::Metric_AADS::m_L
protected

AdS length.

Definition at line 133 of file metric_AADS.hpp.

◆ m_nd

int Kadath::Metric_AADS::m_nd
protected

number of physical domains (usually the last compaxtified domain is discarded).

Definition at line 131 of file metric_AADS.hpp.

◆ m_place_syst

int Kadath::Metric_AADS::m_place_syst
protected

Where is the unknown h in the system of equations.

Definition at line 132 of file metric_AADS.hpp.

◆ p_basis

Base_tensor* Kadath::Metric_AADS::p_basis
protected

Pointer on the tensorial basis (Cartesian basis only).

Definition at line 138 of file metric_AADS.hpp.

◆ p_christo

MMPtr_array<Term_eq> Kadath::Metric::p_christo
mutableprotectedinherited

Array of pointers on various Term_eq.

Each one points onto one component of the Christoffel symbols, in a given Domain.

Definition at line 60 of file metric.hpp.

◆ p_der_eps

Vector* Kadath::Metric_AADS::p_der_eps
protected

Pointer on the vector containing the derivative of the conformal factor $ D_i \epsilon$.

Definition at line 137 of file metric_AADS.hpp.

◆ p_det_cov

MMPtr_array<Term_eq> Kadath::Metric::p_det_cov
mutableprotectedinherited

Array of pointers on various Term_eq.

Each one points onto determinant of the covariant representation, in a given Domain.

Definition at line 85 of file metric.hpp.

◆ p_dirac

MMPtr_array<Term_eq> Kadath::Metric::p_dirac
mutableprotectedinherited

Array of pointers on various Term_eq.

Each one points onto the potential of the Dirac gauge, in a given Domain.

Definition at line 80 of file metric.hpp.

◆ p_h

Term_eq** Kadath::Metric_AADS::p_h
mutableprivate

Pointers on the differences between the covariant metric and the covariant background.

Definition at line 141 of file metric_AADS.hpp.

◆ p_hmet

Metric_tensor* Kadath::Metric_AADS::p_hmet
protected

$h_{ij}$ : the discrepancy between covariant metric and contravariant background.

Definition at line 136 of file metric_AADS.hpp.

◆ p_k

Term_eq** Kadath::Metric_AADS::p_k
mutableprivate

Pointers on the differences between the contravariant metric and the contravariant background.

Definition at line 142 of file metric_AADS.hpp.

◆ p_met_con

MMPtr_array<Term_eq> Kadath::Metric::p_met_con
mutableprotectedinherited

Array of pointers on various Term_eq.

Each one points onto one component of the contravariant representation of the Metric, in a given Domain.

Definition at line 55 of file metric.hpp.

◆ p_met_cov

MMPtr_array<Term_eq> Kadath::Metric::p_met_cov
mutableprotectedinherited

Array of pointers on various Term_eq.

Each one points onto one component of the covariant representation of the Metric, in a given Domain.

Definition at line 50 of file metric.hpp.

◆ p_ricci_scalar

MMPtr_array<Term_eq> Kadath::Metric::p_ricci_scalar
mutableprotectedinherited

Array of pointers on various Term_eq.

Each one points onto the Ricci scalar, in a given Domain.

Definition at line 75 of file metric.hpp.

◆ p_ricci_tensor

MMPtr_array<Term_eq> Kadath::Metric::p_ricci_tensor
mutableprotectedinherited

Array of pointers on various Term_eq.

Each one points onto one component of the Ricci tensor, in a given Domain.

Definition at line 70 of file metric.hpp.

◆ p_riemann

MMPtr_array<Term_eq> Kadath::Metric::p_riemann
mutableprotectedinherited

Array of pointers on various Term_eq.

Each one points onto one component of the Riemann tensor, in a given Domain.

Definition at line 65 of file metric.hpp.

◆ syst

const System_of_eqs* Kadath::Metric::syst
protectedinherited

Pointer of the system of equations where the metric is used (only one for now).

Definition at line 44 of file metric.hpp.

◆ type_tensor

int Kadath::Metric::type_tensor
protectedinherited

States if one works in the CON or COV representation.

Definition at line 86 of file metric.hpp.


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