²é¿´: 1921  |  »Ø¸´: 7
µ±Ç°Ö»ÏÔʾÂú×ãÖ¸¶¨Ìõ¼þµÄ»ØÌû£¬µã»÷ÕâÀï²é¿´±¾»°ÌâµÄËùÓлØÌû

ÎÒÕÒ·¨ÀÏ

Òø³æ (³õÈëÎÄ̳)

[ÇóÖú] µ÷ÊÔʱÔÚ´ò¿ªÒ»¸öÐÂÎļþʱ×ÜÊÇ˵³öÏֶϵã ÒÑÓÐ2È˲ÎÓë

³ÌÐò´úÂëÈçÏ£º      module global
      implicit none
      integer dim
      parameter ( dim = 1)
      integer maxn,max_interaction
      parameter(maxn=12000,                      
     &          max_interaction = 100 * maxn)
      double precision x_maxgeom,x_mingeom,y_maxgeom,y_mingeom,       
     &                                   z_maxgeom , z_mingeom
      parameter ( x_maxgeom = 10.e0,                  
     &            x_mingeom = -10.e0,                  
     &                        y_maxgeom =10.e0  ,                   
     &                        y_mingeom = -10.e0,                
     &            z_maxgeom =  10.e0 ,       
     &            z_mingeom = -10.e0     )
      integer pa_sph
      parameter(pa_sph = 2)
      integer nnps
      parameter(nnps = 1 )
      integer sle
      parameter(sle = 0)
      integer skf
      parameter(skf = 1)
      logical summation_density, average_velocity, config_input,       
     &        virtual_part, vp_input, visc, ex_force, heat_artificial,         
     &        visc_artificial, self_gravity, nor_density
      parameter ( summation_density  = .true. )
      parameter ( average_velocity  = .false. )
      parameter ( config_input  = .false. )
      parameter ( virtual_part  = .false. )
      parameter ( vp_input  = .false.  )
      parameter ( visc  = .false.  )
      parameter ( ex_force  = .false.)
      parameter ( visc_artificial  = .true. )
      parameter ( heat_artificial  = .false. )
      parameter ( self_gravity  = .false. )      
      parameter ( nor_density  = .false. )      
      integer    nsym
      parameter ( nsym = 0)
      logical int_stat
      parameter ( int_stat = .true. )
      integer print_step, save_step, moni_particle
      parameter ( print_step = 100 ,                 
     &            save_step = 500,                         
     &           moni_particle = 1600   )
           
      double precision pi
      parameter ( pi = 3.14159265358979323846 )
      logical shocktube, shearcavity
      parameter ( shocktube  = .true. )
      parameter ( shearcavity  = .false. )
      end module

      program SPH
     use global
      implicit none     

      integer ntotal, itype(maxn), maxtimestep, d, m, i, yesorno      
      double precision x(3,maxn), vx(3, maxn), mass(maxn),rho(maxn),
     &     p(maxn), u(maxn), c(maxn), s(maxn), e(maxn), hsml(maxn), dt
      double precision s1, s2
      if (shocktube)   dt = 0.005
      call input(x, vx, mass, rho, p, u, itype, hsml, ntotal)     
      end
subroutine input(x, vx, mass, rho, p, u, itype, hsml, ntotal)
      
c----------------------------------------------------------------------
c     Subroutine for loading or generating initial particle information

c     x-- coordinates of particles                                 [out]
c     vx-- velocities of particles                                 [out]
c     mass-- mass of particles                                     [out]
c     rho-- dnesities of particles                                 [out]
c     p-- pressure  of particles                                   [out]
c     u-- internal energy of particles                             [out]
c     itype-- types of particles                                   [out]
c     hsml-- smoothing lengths of particles                        [out]
c     ntotal-- total particle number                               [out]

      use global
      implicit none     

      integer itype(maxn), ntotal      
      double precision x(3, maxn), vx(3, maxn), mass(maxn),
     &                 p(maxn), u(maxn), hsml(maxn), rho(maxn)
      integer i, d     

       open(1,file="data\ini_xv.txt"
     &          )
        open(2,file="data\ini_state.txt"
     &          )
        open(3,file="data\ini_other.txt"
     &          )
      
      if (shocktube) call shock_tube(x, vx, mass, rho, p, u,
     &                    itype, hsml, ntotal)               

      if (shearcavity) call shear_cavity(x, vx, mass, rho, p, u,
     &                      itype, hsml, ntotal)
        do i = 1, ntotal
          write(1,1001) i, (x(d, i),d = 1, dim), (vx(d, i),d = 1, dim)
          write(2,1002) i, mass(i), rho(i), p(i), u(i)         
          write(3,1003) i, itype(i), hsml(i)   
        enddo   
1001    format(1x, I5, 6(2x, e15.8))
1002    format(1x, I5, 7(2x, e15.8))
1003    format(1x, I5, 2x, I2, 2x, e15.8)
        write(*,*)'  **************************************************'
        write(*,*)'      Initial particle configuration generated   '      
        write(*,*)'      Total number of particles   ', ntotal           
        write(*,*)'  **************************************************'

     

      close(1)
      close(2)
      close(3)

      end              
      
      
      subroutine shock_tube(x, vx, mass, rho, p, u,
     &                        itype, hsml, ntotal)
      use global
      implicit none     
      
      integer itype(maxn), ntotal
      double precision x(3, maxn), vx(3, maxn), mass(maxn),
     &     rho(maxn), p(maxn), u(maxn), hsml(maxn)
      integer i, d
      double precision space_x     

      ntotal=400
      space_x=0.6/80.      
      
      do i=1,ntotal
        mass(i)=0.75/400.
        hsml(i)=0.015
        itype(i)=1
        do d = 1, dim
          x(d,i) = 0.
          vx(d,i) = 0.
        enddo        
      enddo               
               
      do i=1,320
        x(1,i)=-0.6+space_x/4.*(i-1)
      enddo
      
      do i=320+1,ntotal
        x(1,i)=0.+space_x*(i-320)
      enddo               
                           
      do i=1,ntotal
        if (x(1,i).le.1.e-8) then
          u(i)=2.5
          rho(i)=1.
          p(i)=1.
        endif
        if (x(1,i).gt.1.e-8)  then
          u(i)=1.795
          rho(i)=0.25
          p(i)=0.1795
        endif        
      enddo        
                      
      end
µ÷ÊÔʱ³öµãµÄ¶ÏµãΪÂÌÉ«¼ýÍ·ËùÖ¸Ö´Ðнá¹ûÊǵڶþÕÅͼ
µ÷ÊÔʱÔÚ´ò¿ªÒ»¸öÐÂÎļþʱ×ÜÊÇ˵³öÏֶϵã
%HY(GB(USLL{6`1TCKEX7XP.jpg


µ÷ÊÔʱÔÚ´ò¿ªÒ»¸öÐÂÎļþʱ×ÜÊÇ˵³öÏֶϵã-1
HSHX56(]K[0P_}%WX8[GRGE.jpg
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

²»ÊÇÒòΪϣÍû²ÅÈ¥¼á³Ö¶øÊÇÒòΪ¼á³Ö²ÅÓÐÏ£Íû
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

ѧ³ædj

½ð³æ (ÕýʽдÊÖ)

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

ºÜÃ÷ÏÔ¾ÍÊÇûÓÐÎļþ£¬ÎļþÕÒ²»µ½£¬Ò²¾ÍÊDZ༭Æ÷²»ÄÜ×Ô¶¯µÄ´´½¨Îļþ¼Ð£¬µ«ÊÇ¿ÉÒÔ´´½¨Îļþ
ÇîÔò¶ÀÉÆÆäÊ£¬´ïÔò¼æ¼ÃÌìÏÂ
8Â¥2014-03-18 17:01:23
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
²é¿´È«²¿ 8 ¸ö»Ø´ð

sxf2012

ľ³æ (ÕýʽдÊÖ)

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

¸Ðл²ÎÓ룬ӦÖúÖ¸Êý +1
µ±Ç°Ä¿Â¼Ï£¬dataÎļþ¼Ð´æÔÚô£¿
2Â¥2014-03-13 13:03:00
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

ÎÒÕÒ·¨ÀÏ

Òø³æ (³õÈëÎÄ̳)

ÒýÓûØÌû:
2Â¥: Originally posted by sxf2012 at 2014-03-13 13:03:00
µ±Ç°Ä¿Â¼Ï£¬dataÎļþ¼Ð´æÔÚô£¿

ûÓÐ
²»ÊÇÒòΪϣÍû²ÅÈ¥¼á³Ö¶øÊÇÒòΪ¼á³Ö²ÅÓÐÏ£Íû
3Â¥2014-03-13 13:24:16
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

sxf2012

ľ³æ (ÕýʽдÊÖ)

¡¾´ð°¸¡¿Ó¦Öú»ØÌû

ÒýÓûØÌû:
3Â¥: Originally posted by ÎÒÕÒ·¨ÀÏ at 2014-03-13 13:24:16
ûÓÐ...

ÄǾÍÐèÒªÔÚµ±Ç°Ä¿Â¼Ï½¨Á¢Ò»¸ö½Ð×ödataµÄÎļþ¼Ð
4Â¥2014-03-13 20:01:41
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] 292Çóµ÷¼Á +3 ¶ì¶ì¶ì¶î¶î¶î¶î¶ 2026-03-25 3/150 2026-03-25 07:45 by ms629
[¿¼ÑÐ] ²ÄÁÏѧ˶333Çóµ÷¼Á +3 ±±µÀÏï 2026-03-24 3/150 2026-03-24 19:17 by pswait
[¿¼ÑÐ] ÊÕ08µ÷¼ÁÉú +6 komorebi69 2026-03-18 6/300 2026-03-24 19:09 by Íô£¡£¿£¡
[¿¼ÑÐ] 274Çóµ÷¼Á +5 ¹Ë¾ÅóÏҪǫÐé 2026-03-24 5/250 2026-03-24 18:43 by jhhcooi
[¿¼ÑÐ] Çóµ÷¼Á +6 ÑÐÑУ¬½Óµç»° 2026-03-24 7/350 2026-03-24 17:01 by barlinike
[¿¼ÑÐ] 344Çóµ÷¼Á +3 desto 2026-03-24 3/150 2026-03-24 10:09 by ²«»÷518
[¿¼ÑÐ] Ò»Ö¾Ô¸±±¾©»¯¹¤´óѧ 070300 ѧ˶ 336·Ö Çóµ÷¼Á +7 vvÃÔ 2026-03-22 7/350 2026-03-23 23:44 by Txy@872106
[¿¼ÑÐ] 361Çóµ÷¼Á +3 Glack 2026-03-22 3/150 2026-03-23 22:03 by fuyu_
[¿¼ÑÐ] Ò»Ö¾Ô¸ÖØÇì´óѧ085700×ÊÔ´Óë»·¾³£¬×Ü·Ö308Çóµ÷¼Á +7 īīĮ 2026-03-23 8/400 2026-03-23 20:36 by Creta
[¿¼ÑÐ] ÉúÎïѧһ־Ը985£¬·ÖÊý349Çóµ÷¼Á +6 zxts12 2026-03-21 9/450 2026-03-23 18:37 by macy2011
[¿¼ÑÐ] ʯºÓ×Ó´óѧ£¨211¡¢Ë«Ò»Á÷£©Ë¶²©Ñо¿Éú³¤ÆÚÕÐÉú¹«¸æ +3 Àî×ÓÄ¿ 2026-03-22 3/150 2026-03-22 21:01 by ÔõôÊÍ»³
[¿¼ÑÐ] 308Çóµ÷¼Á +3 īīĮ 2026-03-21 3/150 2026-03-22 16:54 by i_cooler
[¿¼ÑÐ] 298Çóµ÷¼ÁÒ»Ö¾Ô¸211 +3 Éϰ¶6666@ 2026-03-20 3/150 2026-03-22 15:50 by ColorlessPI
[¿¼ÑÐ] 269ר˶Çóµ÷¼Á +6 ½ð¶÷±´ 2026-03-21 6/300 2026-03-22 14:31 by ColorlessPI
[¿¼ÑÐ] 285Çóµ÷¼Á +6 ytter 2026-03-22 6/300 2026-03-22 12:09 by ÐÇ¿ÕÐÇÔÂ
[¿¼ÑÐ] 286Çóµ÷¼Á +10 Faune 2026-03-21 10/500 2026-03-21 23:34 by 314126402
[¿¼ÑÐ] 279Çóµ÷¼Á +5 ºìÒÂÒþ¹Ù 2026-03-21 5/250 2026-03-21 14:59 by lature00
[¿¼ÑÐ] ²ÄÁÏÓ뻯¹¤£¨0856£©304Çó BÇø µ÷¼Á +3 Çñgl 2026-03-21 3/150 2026-03-21 13:47 by lature00
[¿¼ÑÐ] 265Çóµ÷¼Á +12 ÁºÁºÐ£Ð£ 2026-03-19 14/700 2026-03-21 13:38 by lature00
[¿¼ÑÐ] 0856µ÷¼Á£¬ÊÇѧУ¾ÍÈ¥ +8 sllhht 2026-03-19 9/450 2026-03-20 14:25 by ÎÞи¿É»÷111
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û