--- trunk/OOPSE/libmdtools/atype_module.F90 2003/07/17 19:32:13 633 +++ trunk/OOPSE/libmdtools/atype_module.F90 2004/01/05 21:00:05 894 @@ -11,6 +11,12 @@ contains public :: new_atype + integer, public, parameter :: LJ_PROPERTY_MASK = 1 + integer, public, parameter :: DP_PROPERTY_MASK = 2 + integer, public, parameter :: STICKY_PROPERTY_MASK = 4 + integer, public, parameter :: GB_PROPERTY_MASK = 8 + integer, public, parameter :: EAM_PROPERTY_MASK = 16 + contains subroutine new_atype(c_ident, is_LJ, is_Sticky, is_DP, is_GB, is_EAM,& @@ -30,13 +36,14 @@ contains integer :: me logical :: l_is_LJ, l_is_DP, l_is_Sticky, l_is_GB logical :: l_is_EAM + integer :: propertyPack integer :: FFcheckStatus status = 0 if (.not. associated(atypes)) then !! There are 16 properties to worry about for now. !! Fix this if needed for more atomic properties - atypes => initialize(16) + atypes => initialize(17) if (.not.associated(atypes)) then status = -1 return @@ -58,6 +65,15 @@ contains call setElementProperty(atypes, me, "is_GB", l_is_GB) call setElementProperty(atypes, me, "is_EAM", l_is_EAM) + propertyPack = 0 + if (l_is_LJ) propertyPack = propertyPack + LJ_PROPERTY_MASK + if (l_is_DP) propertyPack = propertyPack + DP_PROPERTY_MASK + if (l_is_Sticky) propertyPack = propertyPack + STICKY_PROPERTY_MASK + if (l_is_GB) propertyPack = propertyPack + GB_PROPERTY_MASK + if (l_is_EAM) propertyPack = propertyPack + EAM_PROPERTY_MASK + + call setElementProperty(atypes, me, "propertyPack", propertyPack) + if (l_is_LJ) then call setElementProperty(atypes, me, "lj_sigma", lj_sigma) call setElementProperty(atypes, me, "lj_epsilon", lj_epsilon)