!####################################################################### ! SUBROUTINE --- sub_calc_energies --- ### !####################################################################### ! ### ! Subroutine for Calculating Kinetic and Internal Energy ### ! ### ! Output Arguments ### ! tot_eng : Total Energy (kin_eng + int_eng) ### ! kin_eng : Total Kinetic Energy ### ! int_eng : Total Internal Energy ### ! ### ! 2009/07/29 ### ! 2009/08/27 ### ! 2011/06/26 ### !####################################################################### subroutine sub_calc_energies(tot_eng,kin_eng,int_eng) use mod_parameter use mod_variable implicit none !==== Output Argument ================================================== real*8 tot_eng real*8 kin_eng real*8 int_eng !==== Variables Used in This Subroutine ================================ integer i ! Particle Number real*8 v2 ! Velocity Squared !======================================================================= int_eng=0.0d0 kin_eng=0.0d0 do i=1,np int_eng=int_eng+m(i)*e(i) v2=v(1,i)**2+v(2,i)**2+v(3,i)**2 kin_eng=kin_eng+0.5d0*m(i)*v2 enddo tot_eng=kin_eng+int_eng return end