77 #include "star_rot_dirac.h" 116 for (
int i=1; i<=3; i++) {
117 for (
int j=1; j<=i; j++) {
119 for (
int k=1; k<=3; k++) {
120 for (
int l=1; l<=3; l++) {
121 tmp += dhh(i,k,l) * dhh(j,l,k) ;
124 sym_tmp.
set(i,j) = tmp ;
127 ricci_star -= sym_tmp ;
129 for (
int i=1; i<=3; i++) {
130 for (
int j=1; j<=i; j++) {
132 for (
int k=1; k<=3; k++) {
133 for (
int l=1; l<=3; l++) {
134 for (
int m=1; m<=3; m++) {
135 for (
int n=1; n<=3; n++) {
137 tmp += 0.5 * tgam_uu(i,k)* tgam_uu(j,l)
138 * dhh(m,n,k) * dtgam(m,n,l)
139 + tgam_dd(n,l) * dhh(m,n,k)
140 * (tgam_uu(i,k) * dhh(j,l,m) + tgam_uu(j,k) * dhh(i,l,m) )
141 - tgam_dd(k,l) *tgam_uu(m,n) * dhh(i,k,m) * dhh(j,l,n) ;
146 sym_tmp.
set(i,j) = tmp ;
149 ricci_star += sym_tmp ;
151 ricci_star = 0.5 * ricci_star ;
158 contract(dhh, 0, 1, dtgam, 0, 1), 0, 1 )
160 contract(dhh, 0, 1, dtgam, 0, 2), 0, 1 ) ;
167 sym_tmp =
nn * (ricci_star + 8.* tdln_psi_u * tdln_psi_u)
168 + 4.*( tdln_psi_u * tdnn_u + tdnn_u * tdln_psi_u )
169 - 0.3333333333333333 *
170 (
nn * (tricci_scal + 8.*
contract(dln_psi, 0, tdln_psi_u, 0) )
171 + 8.*
contract(dln_psi, 0, tdnn_u, 0) ) *tgam_uu ;
173 ss = sym_tmp /
psi4 ;
180 for (
int i=1; i<=3; i++) {
181 for (
int j=1; j<=i; j++) {
183 for (
int k=1; k<=3; k++) {
184 for (
int l=1; l<=3; l++) {
185 tmp += (
hh(i,k)*dhh(l,j,k) +
hh(k,j)*dhh(i,l,k)
186 -
hh(k,l)*dhh(i,j,k) ) * dqq(l) ;
189 sym_tmp.
set(i,j) += 0.5 * tmp ;
196 sym_tmp -= 0.3333333333333333 * tmp *tgam_uu ;
200 for (
int i=1; i<=3; i++) {
201 for (
int j=1; j<=i; j++) {
203 for (
int k=1; k<=3; k++) {
204 for (
int l=1; l<=3; l++) {
205 tmp += tgam_dd(k,l) *
aa(i,k) *
aa(j,l) ;
208 sym_tmp.
set(i,j) = tmp ;
213 - 0.3333333333333333 *
s_euler * tgam_uu )
226 source_hh += 2.*
nn * ss ;
228 source_hh += - 1.3333333333333333 * div_beta* lbh
232 for (
int i=1; i<=3; i++) {
233 for (
int j=1; j<=i; j++) {
235 for (
int k=1; k<=3; k++) {
240 sym_tmp.
set(i,j) = tmp ;
248 source_hh += 0.6666666666666666*
249 ( tmp - 0.6666666666666666* div_beta * div_beta ) *
hh ;
262 source_hh += 0.6666666666666666* div_beta * l_beta - sym_tmp ;
264 source_hh = - (
psi4/
nn/
nn )*source_hh ;
266 for (
int i=1; i<=3; i++)
267 for (
int j=i; j<=3; j++) {
272 source_hht = source_hh ;
278 hij_new = source_hht.
poisson(&h_prev) ;
virtual const Sym_tensor & con() const
Read-only access to the contravariant representation.
Map & mp
Mapping associated with the star.
int get_np(int l) const
Returns the number of points in the azimuthal direction ( ) in domain no. l.
virtual void set_etat_zero()
Sets the logical state to ETATZERO (zero).
const Base_vect_spher & get_bvect_spher() const
Returns the orthonormal vectorial basis associated with the coordinates of the mapping.
Standard units of space, time and mass.
Sym_tensor stress_euler
Spatial part of the stress-energy tensor with respect to the Eulerian observer.
const Mg3d * get_mg() const
Gives the Mg3d on which the mapping is defined.
Flat metric for tensor calculation.
Tensor field of valence 0 (or component of a tensorial field).
Sym_tensor_trans hh
is defined by .
const Tensor_sym & derive_con(const Metric &gam) const
Returns the "contravariant" derivative of this with respect to some metric , by raising the last inde...
Scalar s_euler
Trace of the stress scalar in the Eulerian frame.
const Vector & derive_con(const Metric &gam) const
Returns the "contravariant" derivative of *this with respect to some metric , by raising the index of...
Tensor field of valence 1.
const Tensor_sym & derive_cov(const Metric &gam) const
Returns the covariant derivative of this with respect to some metric .
void set_dzpuis(int)
Modifies the dzpuis flag.
Sym_tensor ope_killing_conf(const Metric &gam) const
Computes the conformal Killing operator associated with a given metric.
Scalar psi4
Conformal factor .
virtual void inc_dzpuis(int inc=1)
Increases by inc units the value of dzpuis and changes accordingly the values of the Scalar in the co...
const Scalar & divergence(const Metric &) const
The divergence of this with respect to a Metric .
Tenseur contract(const Tenseur &, int id1, int id2)
Self contraction of two indices of a Tenseur .
const Tensor & derive_cov(const Metric &gam) const
Returns the covariant derivative of this with respect to some metric .
Transverse symmetric tensors of rank 2.
Scalar derive_lie(const Vector &v) const
Computes the derivative of this along a vector field v.
virtual void inc_dzpuis(int inc=1)
Increases by inc units the value of dzpuis and changes accordingly the values in the compactified ext...
Spherical orthonormal vectorial bases (triads).
virtual const Sym_tensor & cov() const
Read-only access to the covariant representation.
void solve_hij(Sym_tensor_trans &hij_new) const
Solution of the tensor Poisson equation for rotating stars in Dirac gauge.
Scalar & set(const Itbl &ind)
Returns the value of a component (read/write version).
Scalar nn
Lapse function N .
Sym_tensor_trans poisson(const Scalar *h_guess=0x0) const
Computes the solution of a tensorial transverse Poisson equation with *this as a source: In particu...
Symmetric tensors (with respect to two of their arguments).
const Vector & derive_cov(const Metric &gam) const
Returns the gradient (1-form = covariant vector) of *this
Sym_tensor derive_lie(const Vector &v) const
Computes the Lie derivative of this with respect to some vector field v.
const Metric_flat & flat_met_spher() const
Returns the flat metric associated with the spherical coordinates and with components expressed in th...
Class intended to describe valence-2 symmetric tensors.
Tensor trace(int ind1, int ind2) const
Trace on two different type indices.