ProcaEvolve

Helvi Witek, Miguel Zilhão

October 26 2018

1 Notes

This thorn evolves the Proca equations in generic spacetimes, as outlined in [1]. When setting the mass of the vector field \(\mu \) (parameter mu from thorn ProcaBase) to zero, the system reduces to the Maxwell equations in the Lorenz gauge.

“Right-hand-side” variables rhs_Ai, rhs_Ei, rhs_Aphi and rhs_Zeta defined in interface.ccl are given by equations (2.12), (2.13), (2.15) and (2.16) respectively in [1].

References

[1]   M. Zilhão, H. Witek and V. Cardoso, “Nonlinear interactions between black holes and Proca fields,” Class. Quant. Grav. 32 (2015) 234003 doi:10.1088/0264-9381/32/23/234003 [arXiv:1505.00797 [gr-qc]].

2 Parameters




chi_floor
Scope: private  REAL



Description: Minimal value of abs(chi)



Range   Default: 1.0d-05
*:*
Any value possible






conf_fac_exponent
Scope: private  REAL



Description: Exponent n for hgamma_ij = chiˆn  gamma_ij conformal decomposition



Range   Default: 1
(*:*)
1 or 2 are good choices






derivs_order
Scope: private  INT



Description: Order for derivatives



Range   Default: 4
4
4th order stencils
6
6th order stencils






kappa
Scope: private  REAL



Description: Damping parameter for Maxwell equations



Range   Default: 1
0:*
non-negative






use_advection_stencils
Scope: private  BOOLEAN



Description: Use lop-sided stencils for advection derivs



  Default: yes






zeta_omega_fac
Scope: private  REAL



Description: Set to zero to not evolve Zeta and Omega



Range   Default: 1
*:*
zero or one






procaevolve_maxnumconstrainedvars
Scope: restricted  INT



Description: The maximum number of constrained variables used by ProcaEvolve



Range   Default: (none)
0:0
none






procaevolve_maxnumevolvedvars
Scope: restricted  INT



Description: The maximum number of evolved variables used by ProcaEvolve



Range   Default: 8
8:8
Just 8: Eî, A_i, Aphi, Zeta






procaevolve_maxnumsandrvars
Scope: restricted  INT



Description: The maximum number of save and restore variables used by ProcaEvolve



Range   Default: 16
16:16
lapse, shift, metric, and extrinsic curvature






a0
Scope: shared from PROCABASE REAL






aphi0
Scope: shared from PROCABASE REAL






e0
Scope: shared from PROCABASE REAL






evolution_method
Scope: shared from PROCABASE  KEYWORD



Extends ranges:



ProcaEvolve
Use ProcaEvolve to evolve Proca variables






mu
Scope: shared from PROCABASE REAL






n_a
Scope: shared from PROCABASE INT






n_aphi
Scope: shared from PROCABASE INT






n_e
Scope: shared from PROCABASE INT






n_zeta
Scope: shared from PROCABASE INT



3 Interfaces

General

Implements:

procaevolve

Inherits:

admbase

tmunubase

procabase

boundary

Grid Variables

3.0.1 PUBLIC GROUPS




  Group Names    Variable Names    Details   




rhs_ei   compact0
rhs_Ex   descriptionright hand sides for Eî evolution equations
rhs_Ey   dimensions3
rhs_Ez   distributionDEFAULT
  group typeGF
  tagstensortypealias=”U” tensorweight=0 prolongation=”none” Checkpoint=”no”
  timelevels1
 variable typeREAL




rhs_ai   compact0
rhs_Ax   descriptionright hand sides for A_i evolution equations
rhs_Ay   dimensions3
rhs_Az   distributionDEFAULT
  group typeGF
  tagstensortypealias=”D” tensorweight=0 prolongation=”none” Checkpoint=”no”
  timelevels1
 variable typeREAL




rhs_aphi rhs_Aphi   compact0
  descriptionright hand sides for Aphi evolution equation
  dimensions3
  distributionDEFAULT
  group typeGF
  tagstensortypealias=”Scalar” tensorweight=0 prolongation=”none” Checkpoint=”no”
  timelevels1
 variable typeREAL




rhs_zeta rhs_Zeta   compact0
  descriptionright hand sides for Zeta evolution equation
  dimensions3
  distributionDEFAULT
  group typeGF
  tagstensortypealias=”Scalar” tensorweight=0 prolongation=”none” Checkpoint=”no”
  timelevels1
 variable typeREAL




hmetric   compact0
hxx   descriptiontilde gamma_ij
hxy   dimensions3
hxz   distributionDEFAULT
hyy   group typeGF
hyz   tagstensortypealias=”DD_sym” tensorweight=-0.66666666666666666667 prolongation=”none” Checkpoint=”no”
hzz   timelevels1
 variable typeREAL




conf_fac_chi   compact0
chi   descriptionconformal factor chi
  dimensions3
  distributionDEFAULT
  group typeGF
  tagstensortypealias=”Scalar” tensorweight=-0.66666666666666666667 prolongation=”none” Checkpoint=”no”
  timelevels1
 variable typeREAL








  Group Names    Variable Names    Details   




trk   compact0
tracek   descriptionTr(K)
  dimensions3
  distributionDEFAULT
  group typeGF
  tagstensortypealias=”Scalar” tensorweight=0 prolongation=”none” Checkpoint=”no”
  timelevels1
 variable typeREAL




4 Schedule

This section lists all the variables which are assigned storage by thorn Proca/ProcaEvolve. Storage can either last for the duration of the run (Always means that if this thorn is activated storage will be assigned, Conditional means that if this thorn is activated storage will be assigned for the duration of the run if some condition is met), or can be turned on for the duration of a schedule function.

Storage

 

 Conditional:
  rhs_Ei rhs_Ai rhs_Aphi rhs_Zeta
  hmetric conf_fac_chi trk
   

Scheduled Functions

CCTK_BASEGRID (conditional)

  proca_initsymbound

  schedule symmetries

 

 Language:fortran
 Options: meta
 Type: function

CCTK_BASEGRID (conditional)

  proca_zero_rhs

  set all rhs functions to zero to prevent spurious nans

 

 After: proca_initsymbound
 Language:fortran
 Type: function

MoL_Register (conditional)

  proca_registervars

  register variables for mol

 

 Language:c
 Options: meta
 Type: function

MoL_CalcRHS (conditional)

  proca_calc_rhs

  mol rhs calculation for proca variables

 

 Language:fortran
 Type: function

MoL_CalcRHS (conditional)

  proca_calc_rhs_bdry

  mol boundary rhs calculation for proca variables

 

 After: proca_calcrhs
 Language:fortran
 Type: function

MoL_PostStep (conditional)

  proca_boundaries

  mol boundary enforcement for proca variables

 

 Language:fortran
 Options: level
 Sync: procabase::ei
   procabase::ai
   procabase::aphi
   procabase::zeta
 Type: function

MoL_PostStep (conditional)

  applybcs

  apply boundary conditions

 

 After:proca_boundaries
 Type:group

AddToTmunu (conditional)

  proca_calc_tmunu

  compute the energy-momentum tensor

 

 Language:fortran
 Type: function

Aliased Functions

 

Alias Name:        Function Name:
ApplyBCs Proca_ApplyBCs
Proca_calc_Tmunu Proca_AddToTmunu
Proca_calc_rhs Proca_CalcRHS
Proca_calc_rhs_bdry Proca_CalcRHS_Bdry