From f0bbc818397ad477c1e1b0abc19a0e07ec2cac80 Mon Sep 17 00:00:00 2001 From: David A Minton Date: Thu, 5 Aug 2021 11:06:50 -0400 Subject: [PATCH] Started updating disruption examples with the new code and added rotation variables to cb reader --- examples/symba_energy_momentum/cb.in | 6 ++++ .../disruption_headon.in | 13 +++++++ .../disruption_off_axis.in | 13 +++++++ examples/symba_energy_momentum/escape.in | 13 +++++++ .../param.disruption_headon.in | 32 +++++++++++++++++ .../param.disruption_off_axis.in | 32 +++++++++++++++++ .../symba_energy_momentum/param.escape.in | 34 +++++++++++++++++++ examples/symba_energy_momentum/param.sun.in | 34 +++++++++++++++++++ .../param.supercatastrophic_headon.in | 32 +++++++++++++++++ .../param.supercatastrophic_off_axis.in | 32 +++++++++++++++++ examples/symba_energy_momentum/sun.in | 13 +++++++ .../supercatastrophic_headon.in | 13 +++++++ .../supercatastrophic_off_axis.in | 13 +++++++ examples/symba_energy_momentum/tp.in | 1 + src/io/io.f90 | 4 +++ 15 files changed, 285 insertions(+) create mode 100644 examples/symba_energy_momentum/cb.in create mode 100644 examples/symba_energy_momentum/disruption_headon.in create mode 100644 examples/symba_energy_momentum/disruption_off_axis.in create mode 100644 examples/symba_energy_momentum/escape.in create mode 100644 examples/symba_energy_momentum/param.disruption_headon.in create mode 100644 examples/symba_energy_momentum/param.disruption_off_axis.in create mode 100644 examples/symba_energy_momentum/param.escape.in create mode 100644 examples/symba_energy_momentum/param.sun.in create mode 100644 examples/symba_energy_momentum/param.supercatastrophic_headon.in create mode 100644 examples/symba_energy_momentum/param.supercatastrophic_off_axis.in create mode 100644 examples/symba_energy_momentum/sun.in create mode 100644 examples/symba_energy_momentum/supercatastrophic_headon.in create mode 100644 examples/symba_energy_momentum/supercatastrophic_off_axis.in create mode 100644 examples/symba_energy_momentum/tp.in diff --git a/examples/symba_energy_momentum/cb.in b/examples/symba_energy_momentum/cb.in new file mode 100644 index 000000000..467352e46 --- /dev/null +++ b/examples/symba_energy_momentum/cb.in @@ -0,0 +1,6 @@ +0 +39.47841760435743 +0.4 0.4 0.4 !Ip +0.0 0.0 0.0 !rot !11.2093063 -38.75937204 82.25088158 ! rot (radian / year) +0.0 ! J2 +0.0 ! J4 \ No newline at end of file diff --git a/examples/symba_energy_momentum/disruption_headon.in b/examples/symba_energy_momentum/disruption_headon.in new file mode 100644 index 000000000..e1a5316bc --- /dev/null +++ b/examples/symba_energy_momentum/disruption_headon.in @@ -0,0 +1,13 @@ +2 +2 1e-07 0.0009 +7e-06 +1.0 -4.20E-05 0.0 +0.00 6.28 0.0 +0.4 0.4 0.4 !Ip +0.0 0.0 6.0e4 !rot +3 7e-10 0.0004 +3.25e-06 +1.0 4.20E-05 0.0 +0.00 -6.28 0.0 +0.4 0.4 0.4 !Ip +0.0 0.0 1.0e5 !rot diff --git a/examples/symba_energy_momentum/disruption_off_axis.in b/examples/symba_energy_momentum/disruption_off_axis.in new file mode 100644 index 000000000..b6bc29c26 --- /dev/null +++ b/examples/symba_energy_momentum/disruption_off_axis.in @@ -0,0 +1,13 @@ +2 +2 1e-07 0.0009 +7e-06 +1.0 -4.20E-05 0.0 +0.00 6.28 0.0 +0.4 0.4 0.4 !Ip +0.0 0.0 6.0e4 !rot +3 7e-10 0.0004 +3.25e-06 +1.0 4.20E-05 0.0 +-0.80 -6.28 0.0 +0.4 0.4 0.4 !Ip +0.0 0.0 1.0e5 !rot diff --git a/examples/symba_energy_momentum/escape.in b/examples/symba_energy_momentum/escape.in new file mode 100644 index 000000000..b8308af87 --- /dev/null +++ b/examples/symba_energy_momentum/escape.in @@ -0,0 +1,13 @@ +2 +2 1e-07 0.0009 +7e-05 +99.9 0.0 0.0 +100.00 10.00 0.0 +0.4 0.4 0.4 !Ip +0.0 0.0 1000.0 !rot +3 1e-08 0.0004 +3.25e-05 +1.0 4.20E-05 0.0 +0.00 -6.28 0.0 +0.4 0.4 0.4 !Ip +0.0 0.0 0.0 !rot diff --git a/examples/symba_energy_momentum/param.disruption_headon.in b/examples/symba_energy_momentum/param.disruption_headon.in new file mode 100644 index 000000000..de3c83bea --- /dev/null +++ b/examples/symba_energy_momentum/param.disruption_headon.in @@ -0,0 +1,32 @@ +T0 0.0e0 +TSTOP 0.000100 ! simulation length in seconds = 100 years +DT 0.0000001 ! stepsize in seconds +CB_IN cb.in +PL_IN disruption_headon.in +TP_IN tp.in +IN_TYPE ASCII +ISTEP_OUT 1 ! output cadence every year +BIN_OUT bin.disruption_headon.dat +PARTICLE_FILE particle.disruption_headon.dat +OUT_TYPE REAL8 ! double precision real output +OUT_FORM XV ! osculating element output +OUT_STAT REPLACE +ISTEP_DUMP 1 ! system dump cadence +CHK_CLOSE yes ! check for planetary close encounters +CHK_RMIN 0.005 +CHK_RMAX 1e6 +CHK_EJECT -1.0 ! ignore this check +CHK_QMIN -1.0 ! ignore this check +!CHK_QMIN_COORD HELIO ! commented out here +!CHK_QMIN_RANGE 1.0 1000.0 ! commented out here +ENC_OUT enc.disruption_headon.dat +EXTRA_FORCE no ! no extra user-defined forces +BIG_DISCARD no ! output all planets if anything discarded +RHILL_PRESENT yes ! Hill's sphere radii in input file +MTINY 1.0e-16 +FRAGMENTATION yes +MU2KG 1.98908e30 +TU2S 3.1556925e7 +DU2M 1.49598e11 +ENERGY yes +ROTATION yes diff --git a/examples/symba_energy_momentum/param.disruption_off_axis.in b/examples/symba_energy_momentum/param.disruption_off_axis.in new file mode 100644 index 000000000..b6f29564b --- /dev/null +++ b/examples/symba_energy_momentum/param.disruption_off_axis.in @@ -0,0 +1,32 @@ +T0 0.0e0 +TSTOP 0.000100 ! simulation length in seconds = 100 years +DT 0.0000001 ! stepsize in seconds +CB_IN cb.in +PL_IN disruption_off_axis.in +TP_IN tp.in +IN_TYPE ASCII +ISTEP_OUT 1 ! output cadence every year +BIN_OUT bin.disruption_off_axis.dat +PARTICLE_FILE particle.disruption_off_axis.dat +OUT_TYPE REAL8 ! double precision real output +OUT_FORM XV ! osculating element output +OUT_STAT REPLACE +ISTEP_DUMP 1 ! system dump cadence +CHK_CLOSE yes ! check for planetary close encounters +CHK_RMIN 0.005 +CHK_RMAX 1e6 +CHK_EJECT -1.0 ! ignore this check +CHK_QMIN -1.0 ! ignore this check +!CHK_QMIN_COORD HELIO ! commented out here +!CHK_QMIN_RANGE 1.0 1000.0 ! commented out here +ENC_OUT enc.disruption_off_axis.dat +EXTRA_FORCE no ! no extra user-defined forces +BIG_DISCARD no ! output all planets if anything discarded +RHILL_PRESENT yes ! Hill's sphere radii in input file +MTINY 1.0e-16 +FRAGMENTATION yes +MU2KG 1.98908e30 +TU2S 3.1556925e7 +DU2M 1.49598e11 +ENERGY yes +ROTATION yes diff --git a/examples/symba_energy_momentum/param.escape.in b/examples/symba_energy_momentum/param.escape.in new file mode 100644 index 000000000..2b84eb719 --- /dev/null +++ b/examples/symba_energy_momentum/param.escape.in @@ -0,0 +1,34 @@ +T0 0.0e0 +TSTOP 1e2 ! simulation length in seconds = 100 years +DT 1.00 ! stepsize in seconds +CB_IN cb.in +PL_IN escape.in +TP_IN tp.in +IN_TYPE ASCII +ISTEP_OUT 1 ! output cadence every year +BIN_OUT bin.escape.dat +PARTICLE_FILE particle.escape.dat +OUT_TYPE REAL8 ! double precision real output +OUT_FORM XV ! osculating element output +OUT_STAT REPLACE +ISTEP_DUMP 1 ! system dump cadence +J2 0.0 ! no J2 term +J4 0.0 ! no J4 term +CHK_CLOSE yes ! check for planetary close encounters +CHK_RMIN 0.00465047 ! check for close solar encounters in AU +CHK_RMAX 10000.0 ! discard outside of +CHK_EJECT -1.0 ! ignore this check +CHK_QMIN -1.0 ! ignore this check +!CHK_QMIN_COORD HELIO ! commented out here +!CHK_QMIN_RANGE 1.0 1000.0 ! commented out here +ENC_OUT enc.escape.dat +EXTRA_FORCE no ! no extra user-defined forces +BIG_DISCARD no ! output all planets if anything discarded +RHILL_PRESENT no ! Hill's sphere radii in input file +MTINY 1.0e-16 +FRAGMENTATION yes +MU2KG 1.98908e30 +TU2S 3.1556925e7 +DU2M 1.49598e11 +ENERGY yes +ROTATION yes diff --git a/examples/symba_energy_momentum/param.sun.in b/examples/symba_energy_momentum/param.sun.in new file mode 100644 index 000000000..65365b120 --- /dev/null +++ b/examples/symba_energy_momentum/param.sun.in @@ -0,0 +1,34 @@ +!Parameter file for the SyMBA-RINGMOONS test +T0 0.0 +TSTOP 3.0e-2 +DT 1e-3 +CB_IN cb.in +PL_IN sun.in +TP_IN tp.in +IN_TYPE ASCII +ISTEP_OUT 1 +ISTEP_DUMP 1 +BIN_OUT bin.sun.dat +PARTICLE_FILE particle.sun.dat +OUT_TYPE REAL8 +OUT_FORM XV ! osculating element output +OUT_STAT REPLACE +ISTEP_DUMP 1 ! system dump cadence +CHK_CLOSE yes ! check for planetary close encounters +CHK_RMIN 0.005 +CHK_RMAX 1e2 +CHK_EJECT -1.0 ! ignore this check +CHK_QMIN -1.0 ! ignore this check +!CHK_QMIN_COORD HELIO ! commented out here +!CHK_QMIN_RANGE 1.0 1000.0 ! commented out here +ENC_OUT enc.escape.dat +EXTRA_FORCE no ! no extra user-defined forces +BIG_DISCARD no ! output all planets if anything discarded +RHILL_PRESENT no ! Hill's sphere radii in input file +MTINY 1.0e-16 +FRAGMENTATION yes +MU2KG 1.98908e30 +TU2S 3.1556925e7 +DU2M 1.49598e11 +ENERGY yes +ROTATION yes diff --git a/examples/symba_energy_momentum/param.supercatastrophic_headon.in b/examples/symba_energy_momentum/param.supercatastrophic_headon.in new file mode 100644 index 000000000..19b15de7b --- /dev/null +++ b/examples/symba_energy_momentum/param.supercatastrophic_headon.in @@ -0,0 +1,32 @@ +T0 0.0e0 +TSTOP 0.000030 ! simulation length in seconds = 100 years +DT 0.0000001 ! stepsize in seconds +PL_IN supercatastrophic_headon.in +CB_IN cb.in +TP_IN tp.in +IN_TYPE ASCII +ISTEP_OUT 1 ! output cadence every year +BIN_OUT bin.supercatastrophic_headon.dat +PARTICLE_FILE particle.supercatastrophic_headon.dat +OUT_TYPE REAL8 ! double precision real output +OUT_FORM XV ! osculating element output +OUT_STAT REPLACE +ISTEP_DUMP 1 ! system dump cadence +CHK_CLOSE yes ! check for planetary close encounters +CHK_RMIN 0.005 +CHK_RMAX 1e6 +CHK_EJECT -1.0 ! ignore this check +CHK_QMIN -1.0 ! ignore this check +!CHK_QMIN_COORD HELIO ! commented out here +!CHK_QMIN_RANGE 1.0 1000.0 ! commented out here +ENC_OUT enc.supercatastrophic_headon.dat +EXTRA_FORCE no ! no extra user-defined forces +BIG_DISCARD no ! output all planets if anything discarded +RHILL_PRESENT yes ! Hill's sphere radii in input file +MTINY 1.0e-16 +FRAGMENTATION yes +MU2KG 1.98908e30 +TU2S 3.1556925e7 +DU2M 1.49598e11 +ENERGY yes +ROTATION yes diff --git a/examples/symba_energy_momentum/param.supercatastrophic_off_axis.in b/examples/symba_energy_momentum/param.supercatastrophic_off_axis.in new file mode 100644 index 000000000..9cd214534 --- /dev/null +++ b/examples/symba_energy_momentum/param.supercatastrophic_off_axis.in @@ -0,0 +1,32 @@ +T0 0.0e0 +TSTOP 0.000030 ! simulation length in seconds = 100 years +DT 0.0000001 ! stepsize in seconds +CB_IN cb.in +PL_IN supercatastrophic_off_axis.in +TP_IN tp.in +IN_TYPE ASCII +ISTEP_OUT 1 ! output cadence every year +BIN_OUT bin.supercatastrophic_off_axis.dat +PARTICLE_FILE particle.supercatastrophic_off_axis.dat +OUT_TYPE REAL8 ! double precision real output +OUT_FORM XV ! osculating element output +OUT_STAT REPLACE +ISTEP_DUMP 1 ! system dump cadence +CHK_CLOSE yes ! check for planetary close encounters +CHK_RMIN 0.005 +CHK_RMAX 1e6 +CHK_EJECT -1.0 ! ignore this check +CHK_QMIN -1.0 ! ignore this check +!CHK_QMIN_COORD HELIO ! commented out here +!CHK_QMIN_RANGE 1.0 1000.0 ! commented out here +ENC_OUT enc.supercatastrophic_off_axis.dat +EXTRA_FORCE no ! no extra user-defined forces +BIG_DISCARD no ! output all planets if anything discarded +RHILL_PRESENT yes ! Hill's sphere radii in input file +MTINY 1.0e-16 +FRAGMENTATION yes +MU2KG 1.98908e30 +TU2S 3.1556925e7 +DU2M 1.49598e11 +ENERGY yes +ROTATION yes diff --git a/examples/symba_energy_momentum/sun.in b/examples/symba_energy_momentum/sun.in new file mode 100644 index 000000000..7117d93c3 --- /dev/null +++ b/examples/symba_energy_momentum/sun.in @@ -0,0 +1,13 @@ +2 +2 2e-08 +3e-04 +5e-2 0.0 0.0 +0.00 10.00 0.0 +0.4 0.4 0.4 !Ip +100.0 100000.0 -2300.0 !rot +3 2e-08 +3e-06 +1.0 0.00E-05 0.0 +0.00 6.28 0.0 +0.4 0.4 0.4 !Ip +0.0 0.0 2300.0 !rot diff --git a/examples/symba_energy_momentum/supercatastrophic_headon.in b/examples/symba_energy_momentum/supercatastrophic_headon.in new file mode 100644 index 000000000..7b420c9a0 --- /dev/null +++ b/examples/symba_energy_momentum/supercatastrophic_headon.in @@ -0,0 +1,13 @@ +2 +2 1e-07 0.0009 +7e-06 +1.0 -4.20E-05 0.0 +0.00 6.28 0.0 +0.4 0.4 0.4 !Ip +0.0 0.0 -6.0e4 !rot +3 1e-08 0.0004 +3.25e-06 +1.0 4.20E-05 0.0 +0.00 -6.28 0.0 +0.4 0.4 0.4 !Ip +0.0 0.0 1.0e5 !rot diff --git a/examples/symba_energy_momentum/supercatastrophic_off_axis.in b/examples/symba_energy_momentum/supercatastrophic_off_axis.in new file mode 100644 index 000000000..a464d037e --- /dev/null +++ b/examples/symba_energy_momentum/supercatastrophic_off_axis.in @@ -0,0 +1,13 @@ +2 +2 1e-07 0.0009 +7e-06 +1.0 -4.20E-05 0.0 +0.00 6.28 0.0 +0.4 0.4 0.4 !Ip +0.0 0.0 -6.0e4 !rot +3 1e-08 0.0004 +3.25e-06 +1.0 4.20E-05 0.0 +1.00 -6.28 0.0 +0.4 0.4 0.4 !Ip +0.0 0.0 1.0e5 !rot diff --git a/examples/symba_energy_momentum/tp.in b/examples/symba_energy_momentum/tp.in new file mode 100644 index 000000000..573541ac9 --- /dev/null +++ b/examples/symba_energy_momentum/tp.in @@ -0,0 +1 @@ +0 diff --git a/src/io/io.f90 b/src/io/io.f90 index d7b899475..252f08350 100644 --- a/src/io/io.f90 +++ b/src/io/io.f90 @@ -866,6 +866,10 @@ module subroutine io_read_cb_in(self, param) read(iu, *, iostat = ierr) self%radius read(iu, *, iostat = ierr) self%j2rp2 read(iu, *, iostat = ierr) self%j4rp4 + if (param%lrotation) then + read(iu, *, iostat = ierr) self%Ip + read(iu, *, iostat = ierr) self%rot + end if else open(unit = iu, file = param%incbfile, status = 'old', form = 'UNFORMATTED', iostat = ierr) call self%read_frame(iu, param, XV, ierr)