|
KADATH
|
Class to manage asymptotically anti de Sitter metrics. More...
#include <metric_AADS.hpp>
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 Metric * | get_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_eq * | give_term (int typemet, int dd) const |
Gives one representation of the metric, in a Domain. More... | |
| const Term_eq * | give_christo (int dd) const |
Gives the Christoffel symbols, in a Domain. More... | |
| const Term_eq * | give_riemann (int dd) const |
Gives the Riemann tensor, in a Domain. More... | |
| const Term_eq * | give_ricci_tensor (int dd) const |
Gives the Ricci tensor, in a Domain. More... | |
| const Term_eq * | give_ricci_scalar (int dd) const |
Gives the Ricci scalar, in a Domain. More... | |
| const Term_eq * | give_dirac (int dd) const |
Gives the potential of the Dirac gauge, in a Domain. More... | |
| const Term_eq * | give_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_tensor * | p_hmet |
: the discrepancy between covariant metric and contravariant background. More... | |
| Vector * | p_der_eps |
Pointer on the vector containing the derivative of the conformal factor . More... | |
| Base_tensor * | p_basis |
| Pointer on the tensorial basis (Cartesian basis only). More... | |
| const Space & | espace |
The associated Space. More... | |
| const System_of_eqs * | syst |
| Pointer of the system of equations where the metric is used (only one for now). More... | |
| MMPtr_array< Term_eq > | p_met_cov |
Array of pointers on various Term_eq. More... | |
| MMPtr_array< Term_eq > | p_met_con |
Array of pointers on various Term_eq. More... | |
| MMPtr_array< Term_eq > | p_christo |
Array of pointers on various Term_eq. More... | |
| MMPtr_array< Term_eq > | p_riemann |
Array of pointers on various Term_eq. More... | |
| MMPtr_array< Term_eq > | p_ricci_tensor |
Array of pointers on various Term_eq. More... | |
| MMPtr_array< Term_eq > | p_ricci_scalar |
Array of pointers on various Term_eq. More... | |
| MMPtr_array< Term_eq > | p_dirac |
Array of pointers on various Term_eq. More... | |
| MMPtr_array< Term_eq > | p_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... | |
Class to manage asymptotically anti de Sitter metrics.
Definition at line 128 of file metric_AADS.hpp.
| Kadath::Metric_AADS::Metric_AADS | ( | const Space & | space, |
| Metric_tensor & | hmet | ||
| ) |
Standard constructor.
| space | : the associated Space. |
| hmet | : the difference between the covariant metric and the covariant background |
Definition at line 22 of file metric_AADS.cpp.
References Kadath::Metric::espace, Kadath::Domain::get_cart(), Kadath::Space::get_domain(), Kadath::Space::get_nbr_domains(), Kadath::Space::get_ndim(), Kadath::Domain::get_rmax(), Kadath::Metric_tensor::get_type(), m_ads, m_L, m_nd, Kadath::Metric_ADS::m_rho2, p_basis, p_der_eps, p_h, p_k, Kadath::Vector::set(), Kadath::Scalar::set_domain(), and Kadath::Metric::type_tensor.
| 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.
|
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().
|
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().
|
protectedvirtual |
Computes the covariant representation, in a given Domain.
Reimplemented from Kadath::Metric.
Definition at line 92 of file metric_AADS.cpp.
|
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.
|
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.
|
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().
|
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().
|
protectedvirtualinherited |
Computes the Riemann tensor, in a given Domain.
Reimplemented in Kadath::Metric_nophi_AADS, Kadath::Metric_nophi, Kadath::Metric_cfc, Kadath::Metric_conf_factor, Kadath::Metric_conf, Kadath::Metric_general, and Kadath::Metric_ADS.
Definition at line 476 of file metric.cpp.
References Kadath::Metric::compute_christo(), Kadath::Val_domain::der_abs(), Kadath::Metric::espace, Kadath::Space::get_domain(), Kadath::Space::get_ndim(), Kadath::Index::inc(), Kadath::Metric::p_christo, Kadath::Metric::p_met_con, Kadath::Metric::p_met_cov, Kadath::Metric::p_riemann, Kadath::Tensor::set(), Kadath::Array< T >::set(), and Kadath::Scalar::set_domain().
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.
| typeder | : the result is either or |
| nameder | : the name given as the derivation index. |
| so | : the Term_eq to be derived. |
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.
|
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.
| typeder | : the result is either or |
| nameder | : the name given as the derivation index. |
| so | : the Term_eq to be derived. |
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.
|
virtualinherited |
Computes the partial 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.
| typeder | : the result is either or |
| nameder | : the name given as the derivation index. |
| so | : the Term_eq to be derived. |
Reimplemented in Kadath::Metric_flat_nophi, and Kadath::Metric_flat.
Definition at line 172 of file metric.cpp.
References Kadath::Metric::compute_con(), Kadath::Metric::compute_cov(), Kadath::Term_eq::der_t, Kadath::Tensor::do_summation_one_dom(), Kadath::Metric::espace, Kadath::Tensor::get_basis(), Kadath::Base_tensor::get_basis(), Kadath::Term_eq::get_dom(), Kadath::Tensor::get_index_type(), Kadath::Tensor::get_name_ind(), Kadath::Term_eq::get_type_data(), Kadath::Tensor::get_valence(), Kadath::Index::inc(), Kadath::Tensor::is_name_affected(), Kadath::Metric::manipulate_ind(), Kadath::Metric::p_met_con, Kadath::Metric::p_met_cov, Kadath::Tensor::set(), Kadath::Array< T >::set(), Kadath::Index::set(), Kadath::Scalar::set_domain(), Kadath::Tensor::set_name_affected(), Kadath::Tensor::set_name_ind(), Kadath::Metric::type_tensor, and Kadath::Term_eq::val_t.
Computes the covariant derivative.
The name of the index is not defined (hence no inner summation is performed).
| so | : the Term_eq to be derived. |
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.
|
virtual |
Reimplemented from Kadath::Metric.
Definition at line 609 of file metric_AADS.cpp.
References m_ads.
|
inherited |
Gives the Christoffel symbols, in a Domain.
This is the Term_eq version.
| dd | : in which Domain. |
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.
|
inherited |
Gives the determinant of the covariant metric, in a Domain.
This is the Term_eq version.
| dd | : in which Domain. |
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.
|
inherited |
Gives the potential of the Dirac gauge, in a Domain.
This is the Term_eq version.
| dd | : in which Domain. |
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.
|
inherited |
Gives the Ricci scalar, in a Domain.
This is the Term_eq version.
| dd | : in which Domain. |
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.
|
inherited |
Gives the Ricci tensor, in a Domain.
This is the Term_eq version.
| dd | : in which Domain. |
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.
|
inherited |
Gives the Riemann tensor, in a Domain.
This is the Term_eq version.
| dd | : in which Domain. |
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.
|
inherited |
Gives one representation of the metric, in a Domain.
This is the Term_eq version.
| typemet | : CON or COV. |
| dd | : in which Domain. |
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.
|
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.
|
virtual |
Uses the Metric to manipulate one of the index of a Term_eq (i.e.
moves the index up or down)
| 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().
| 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.
| 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 , 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.
| 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.
| 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 , 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.
| 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.
| 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 , 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.
|
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.
|
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.
| 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.
|
protectedinherited |
The associated Space.
Definition at line 42 of file metric.hpp.
|
protected |
Background metric(i.e. ADS metric).
Definition at line 135 of file metric_AADS.hpp.
|
mutableprotected |
true if metric variation allowed to be computed
Definition at line 134 of file metric_AADS.hpp.
|
protected |
AdS length.
Definition at line 133 of file metric_AADS.hpp.
|
protected |
number of physical domains (usually the last compaxtified domain is discarded).
Definition at line 131 of file metric_AADS.hpp.
|
protected |
Where is the unknown h in the system of equations.
Definition at line 132 of file metric_AADS.hpp.
|
protected |
Pointer on the tensorial basis (Cartesian basis only).
Definition at line 138 of file metric_AADS.hpp.
|
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.
|
protected |
Pointer on the vector containing the derivative of the conformal factor
.
Definition at line 137 of file metric_AADS.hpp.
|
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.
|
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.
|
mutableprivate |
Pointers on the differences between the covariant metric and the covariant background.
Definition at line 141 of file metric_AADS.hpp.
|
protected |
: the discrepancy between covariant metric and contravariant background.
Definition at line 136 of file metric_AADS.hpp.
|
mutableprivate |
Pointers on the differences between the contravariant metric and the contravariant background.
Definition at line 142 of file metric_AADS.hpp.
|
mutableprotectedinherited |
|
mutableprotectedinherited |
|
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.
|
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.
|
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.
|
protectedinherited |
Pointer of the system of equations where the metric is used (only one for now).
Definition at line 44 of file metric.hpp.
|
protectedinherited |
States if one works in the CON or COV representation.
Definition at line 86 of file metric.hpp.