Load the system :

<<xAct`xCoba`

Setup. Deactivate info messages, both in xTensor and xCoba:

$DefInfoQ=False;
$CVVerbose=False;

Hide away ugly dummies and show the time:

$PrePrint=ScreenDollarIndices;
<<xAct`ShowTime1`
$ShowTimeThreshold=0.1;

Declare 4-manifold :

DefManifold[M,4,IndexRange[a,q]]

Declare abstract metric :

DefMetric[-1,metric[-a,-b],CD,PrintAs->"g"]

Declare Boyer-Lindquist chart :

DefChart[B,M,{0,1,2,3},{t[],r[],θ[],ϕ[]}]

Now we specify components of the metric in that chart. First, declare the Kerr-Newman constants:

DefConstantSymbol[Mass,PrintAs->"M"]
DefConstantSymbol[AngMomentum,PrintAs->"a"]
DefConstantSymbol[Charge,PrintAs->"Q"]
DefConstantSymbol[QuanEffect,PrintAs->"L"]
DefConstantSymbol[TimeDelay,PrintAs->"α"]
DefConstantSymbol[DonogCorrect,PrintAs->"β"]

DefConstantSymbol[NJ1,PrintAs->"γ"]
DefConstantSymbol[NJ2,PrintAs->"δ"]

Input the metric. Note that coordinates are fields, and hence need a pair of brackets.

Σ=r[]^2+AngMomentum^2Cos[θ[]]^2;
G=1- ((TimeDelay DonogCorrect Mass)/(TimeDelay r[]^3+ DonogCorrect Mass))
MTilde=Mass((r[]^(3+NJ1)Σ^(-NJ1/2))/((r[]^(3+NJ1)Σ^(-NJ1/2))+QuanEffect^3 r[]^NJ2 Σ^(-NJ2/2)))
F=1- ((2 MTilde r[])/Σ)
FH=1-2 Mass r[]^2/(r[]^3+2 Mass QuanEffect^2)
FS=1-2 Mass /r[]

MatrixForm[KerrHayMetric={
{F G,0,0,AngMomentum (Sin[θ[]])^2 (Sqrt[G]-G F)},
{0,-Σ/(Σ F+AngMomentum^2 (Sin[θ[]])^2),0,0},
{0,0,-Σ,0},
{AngMomentum (Sin[θ[]])^2 (Sqrt[G]-G F),0,0,-Sin[θ[]]^2 (Σ+AngMomentum^2 (Sin[θ[]])^2 (2 Sqrt[G]-G F))}
}];

We simply pass the components matrix as third argument. Note the minus sign in front of B. This indicates that we are supplying the covariant components of the metric.

MetricInBasis[metric,-B,KerrHayMetric]

TensorValues[metric]

Now we compute a particular object. We can choose, with the option CVSimplify, the function which is used on all (independent) components after each step of the computation. The algorithm reports timings and sizes in memory.
To see the possible values for the third argument simply write the symbol All there. Note the structure string[1,-1,...] , where -1 means covariant and 1 means contravariant.

MetricCompute[metric,B,"Metric"[1,1]]

MetricCompute[metric,B,"DMetric"[-1,-1,-1]]

MetricCompute[metric,B,"DDMetric"[-1,-1,-1,-1]]

MetricCompute[metric,B,"Christoffel"[-1,-1,-1]]

MetricCompute[metric,B,"Christoffel"[1,-1,-1]]

TensorValues[ChristoffelCDPDB]

MetricCompute[metric,B,"Riemann"[-1,-1,-1,1]]

Most of the time is spent in the simplification of the tensor components.

Now we have the independent components :

Last@TensorValues[RiemannCD]//Column

We can compute other objects. The previously computed objects are repeated, but much faster because Mathematica has cached the results. THIS IS NOT WORKING NOW.

MetricCompute[metric,B,"Kretschmann"[]]

KretschmannCD[]//ToValues

MetricCompute[metric,B,"RicciScalar"[]]

RicciScalarCD[]//ToValues