diff options
author | miguel <miguel@e296648e-0e4f-0410-bd07-d597d9acff87> | 1999-12-16 12:24:37 +0000 |
---|---|---|
committer | miguel <miguel@e296648e-0e4f-0410-bd07-d597d9acff87> | 1999-12-16 12:24:37 +0000 |
commit | 872065b3f089c217fc0aac1427e630f12a36f389 (patch) | |
tree | a5f5d7168bfde35c46dfc0fb61b2d6951914d198 | |
parent | e724ef38f2548787d57471395b26aba93648c909 (diff) |
Adding parameter for initial_lapse.
git-svn-id: http://svn.einsteintoolkit.org/cactus/EinsteinInitialData/Exact/trunk@13 e296648e-0e4f-0410-bd07-d597d9acff87
-rw-r--r-- | param.ccl | 5 | ||||
-rw-r--r-- | schedule.ccl | 2 | ||||
-rw-r--r-- | src/exactgauge.F | 1 | ||||
-rw-r--r-- | src/exactinitialize.F | 79 |
4 files changed, 78 insertions, 9 deletions
@@ -21,6 +21,11 @@ EXTENDS KEYWORD shift "" "exact" :: Use shift from exact solution } "" +EXTENDS KEYWORD initial_lapse "" +{ + "exact" :: "Initial data from exact solution" +} "" + EXTENDS KEYWORD evolution_system "" { "slice" :: "Evolve arbitrary slice and extract Cauchy data" diff --git a/schedule.ccl b/schedule.ccl index 087f563..b0f1db3 100644 --- a/schedule.ccl +++ b/schedule.ccl @@ -4,7 +4,7 @@ # Initial data from exact solution. -if (CCTK_Equals(initial_data,"exact")) +if ((CCTK_Equals(initial_data,"exact")) || (CCTK_Equals(initial_lapse,"exact"))) { schedule exactinitialize at CCTK_INITIAL { diff --git a/src/exactgauge.F b/src/exactgauge.F index a22848a..7f9edaf 100644 --- a/src/exactgauge.F +++ b/src/exactgauge.F @@ -66,7 +66,6 @@ C Set both lapse and shift. $ bxxjunk, bxyjunk, bxzjunk, $ byxjunk, byyjunk, byzjunk, $ bzxjunk, bzyjunk, bzzjunk) - end do end do end do diff --git a/src/exactinitialize.F b/src/exactinitialize.F index e345775..b689512 100644 --- a/src/exactinitialize.F +++ b/src/exactinitialize.F @@ -15,6 +15,12 @@ C in the Bona-Masso formalism, at an initial time. integer i,j,k integer nx,ny,nz + integer CCTK_Equals + + CCTK_REAL gxxjunk, gyyjunk, gzzjunk, + $ gxyjunk, gyzjunk, gxzjunk, + $ kxxjunk, kyyjunk, kzzjunk, + $ kxyjunk, kyzjunk, kxzjunk, CCTK_REAL alpjunk, axjunk, ayjunk, azjunk, $ betaxjunk, betayjunk, betazjunk, @@ -36,11 +42,41 @@ C Set data pointwise. ny = cctk_lsh(2) nz = cctk_lsh(3) - do k=1,nz - do j=1,ny - do i=1,nx + if ((CCTK_Equals(initial_data,"exact") == 1).and. + . (CCTK_Equals(initial_lapse,"exact") == 1)) then + + do k=1,nz + do j=1,ny + do i=1,nx - call exactdata(x(i,j,k), y(i,j,k), z(i,j,k), cctk_time, + call exactdata(x(i,j,k), y(i,j,k), z(i,j,k), cctk_time, + $ gxx(i,j,k), gyy(i,j,k), gzz(i,j,k), + $ gxy(i,j,k), gyz(i,j,k), gxz(i,j,k), + $ kxx(i,j,k), kyy(i,j,k), kzz(i,j,k), + $ kxy(i,j,k), kyz(i,j,k), kxz(i,j,k), + $ dxgxxjunk, dxgyyjunk, dxgzzjunk, + $ dxgxyjunk, dxgyzjunk, dxgxzjunk, + $ dygxxjunk, dygyyjunk, dygzzjunk, + $ dygxyjunk, dygyzjunk, dygxzjunk, + $ dzgxxjunk, dzgyyjunk, dzgzzjunk, + $ dzgxyjunk, dzgyzjunk, dzgxzjunk, + $ alp(i,j,k), axjunk, ayjunk, azjunk, + $ betaxjunk, betayjunk, betazjunk, + $ bxxjunk, bxyjunk, bxzjunk, + $ byxjunk, byyjunk, byzjunk, + $ bzxjunk, bzyjunk, bzzjunk) + + end do + end do + end do + + else if (CCTK_Equals(initial_data,"exact") == 1) then + + do k=1,nz + do j=1,ny + do i=1,nx + + call exactdata(x(i,j,k), y(i,j,k), z(i,j,k), cctk_time, $ gxx(i,j,k), gyy(i,j,k), gzz(i,j,k), $ gxy(i,j,k), gyz(i,j,k), gxz(i,j,k), $ kxx(i,j,k), kyy(i,j,k), kzz(i,j,k), @@ -53,13 +89,42 @@ C Set data pointwise. $ dzgxyjunk, dzgyzjunk, dzgxzjunk, $ alpjunk, axjunk, ayjunk, azjunk, $ betaxjunk, betayjunk, betazjunk, - $ bxxjunk, bxyjunk, bxzjunk, - $ byxjunk, byyjunk, byzjunk, + $ bxxjunk, bxyjunk, bxzjunk, + $ byxjunk, byyjunk, byzjunk, $ bzxjunk, bzyjunk, bzzjunk) + end do end do end do - end do + + else if (CCTK_Equals(initial_lapse,"exact") == 1) then + + do k=1,nz + do j=1,ny + do i=1,nx + + call exactdata(x(i,j,k), y(i,j,k), z(i,j,k), cctk_time, + $ gxxjunk, gyyjunk, gzzjunk, + $ gxyjunk, gyzjunk, gxzjunk, + $ kxxjunk, kyyjunk, kzzjunk, + $ kxyjunk, kyzjunk, kxzjunk, + $ dxgxxjunk, dxgyyjunk, dxgzzjunk, + $ dxgxyjunk, dxgyzjunk, dxgxzjunk, + $ dygxxjunk, dygyyjunk, dygzzjunk, + $ dygxyjunk, dygyzjunk, dygxzjunk, + $ dzgxxjunk, dzgyyjunk, dzgzzjunk, + $ dzgxyjunk, dzgyzjunk, dzgxzjunk, + $ alp(i,j,k), axjunk, ayjunk, azjunk, + $ betaxjunk, betayjunk, betazjunk, + $ bxxjunk, bxyjunk, bxzjunk, + $ byxjunk, byyjunk, byzjunk, + $ bzxjunk, bzyjunk, bzzjunk) + + end do + end do + end do + + end if C Tell the code there is no need to treat the conformal factor C as a separate field. That is, we have set the physical metric here. |