diff --git a/src/modules/symba_classes.f90 b/src/modules/symba_classes.f90 index aa0a187f8..8bc32ffed 100644 --- a/src/modules/symba_classes.f90 +++ b/src/modules/symba_classes.f90 @@ -22,6 +22,7 @@ module symba_classes character(*), parameter :: ORIGIN_VHX_VARNAME = "origin_vhx" character(*), parameter :: ORIGIN_VHY_VARNAME = "origin_vhy" character(*), parameter :: ORIGIN_VHZ_VARNAME = "origin_vhz" + character(*), parameter :: PL_TINY_TYPE_NAME = "Semi-Interacting Massive Body" type, extends(netcdf_parameters) :: symba_netcdf_parameters integer(I4B) :: origin_type_varid !! NetCDF ID for the origin type diff --git a/src/symba/symba_collision.f90 b/src/symba/symba_collision.f90 index 4e21b9411..b4505741b 100644 --- a/src/symba/symba_collision.f90 +++ b/src/symba/symba_collision.f90 @@ -833,6 +833,7 @@ subroutine symba_collision_mergeaddsub(system, param, family, id_frag, Ip_frag, integer(I4B) :: i, ibiggest, nstart, nend, nfamily, nfrag logical, dimension(system%pl%nbody) :: lmask class(symba_pl), allocatable :: plnew + character(*), parameter :: FRAGFMT = '("Fragment",I0.7)' select type(pl => system%pl) class is (symba_pl) @@ -884,6 +885,7 @@ subroutine symba_collision_mergeaddsub(system, param, family, id_frag, Ip_frag, plnew%status(1:nfrag) = NEW_PARTICLE info(1:nfrag)%origin_time = param%t do i = 1, nfrag + write(info(i)%name, FRAGFMT) id_frag(i) info(i)%origin_xh(:) = plnew%xh(:,i) info(i)%origin_vh(:) = plnew%vh(:,i) end do @@ -892,6 +894,7 @@ subroutine symba_collision_mergeaddsub(system, param, family, id_frag, Ip_frag, plnew%status(1:nfrag) = NEW_PARTICLE info(1:nfrag)%origin_time = param%t do i = 1, nfrag + write(info(i)%name, FRAGFMT) id_frag(i) info(i)%origin_xh(:) = plnew%xh(:,i) info(i)%origin_vh(:) = plnew%vh(:,i) end do @@ -907,6 +910,7 @@ subroutine symba_collision_mergeaddsub(system, param, family, id_frag, Ip_frag, info(2:nfrag)%origin_type = "Hit and run fragment" info(2:nfrag)%origin_time = param%t do i = 2, nfrag + write(info(i)%name, FRAGFMT) id_frag(i) info(i)%origin_xh(:) = plnew%xh(:,i) info(i)%origin_vh(:) = plnew%vh(:,i) end do diff --git a/src/symba/symba_util.f90 b/src/symba/symba_util.f90 index f5201ac6c..93d4155e2 100644 --- a/src/symba/symba_util.f90 +++ b/src/symba/symba_util.f90 @@ -298,6 +298,11 @@ module subroutine symba_util_index_eucl_plpl(self, param) select type(param) class is (symba_parameters) pl%lmtiny(1:npl) = pl%Gmass(1:npl) < param%GMTINY + where(pl%lmtiny(1:npl)) + pl%info(1:npl)%particle_type = PL_TINY_TYPE_NAME + elsewhere + pl%info(1:npl)%particle_type = PL_TYPE_NAME + end where end select nplm = count(.not. pl%lmtiny(1:npl)) pl%nplm = int(nplm, kind=I4B)