⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 newmaxima.f90

📁 巨正则系综蒙特卡罗算法的源程序;可以用来进行吸附等分子模拟;最大的好处在于可以插入或删除原子
💻 F90
字号:

subroutine NewMaxima( Nsp, MaxSp, nmtype, DXYZ, DROT, NATT, NSUC )

implicit none

integer, intent(in)									:: Nsp
integer, intent(in)									:: Maxsp
integer, intent(in)									:: nmtype

real, dimension(MaxSp), intent(inout)				:: DXYZ
real, dimension(MaxSp), intent(inout)				:: DROT

integer, dimension(nmtype, MaxSp), intent(inout)	:: NATT
integer, dimension(nmtype, MaxSp), intent(inout)	:: NSUC

! Local Stuff

integer									:: i

real									:: SimRatio
real, dimension(2)						:: TarRatio

TarRatio(1) = 0.5
TarRatio(2) = 0.5


do i = 1, Nsp

	if( NATT(1,i) /= 0 ) then

		SimRatio = real( NSUC(1,i) ) / real( NATT(1,i) )

		if( SimRatio > TarRatio(1) ) DXYZ(i) = DXYZ(i) * 1.05
		if( SimRatio < TarRatio(1) ) DXYZ(i) = DXYZ(i) * 0.95

		DXYZ(i) = min( DXYZ(i), 0.5 )

	end if

	if( NATT(2,i) /= 0 ) then
			
		SimRatio = real( NSUC(2,i) ) / real( NATT(2,i) )

		if( SimRatio > TarRatio(2) ) DROT(i) = DROT(i) * 1.05
		if( SimRatio < TarRatio(2) ) DROT(i) = DROT(i) * 0.95

		DROT(i) = min( DROT(i), 0.5 )

	end if

end do

NATT = 0
NSUC = 0

return

end subroutine NewMaxima





⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -