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)