²é¿´: 1915  |  »Ø¸´: 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µÄ»ØÌû

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µÄ»ØÌû

ÎÒÕÒ·¨ÀÏ

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

ÒýÓûØÌû:
4Â¥: Originally posted by sxf2012 at 2014-03-13 20:01:41
ÄǾÍÐèÒªÔÚµ±Ç°Ä¿Â¼Ï½¨Á¢Ò»¸ö½Ð×ödataµÄÎļþ¼Ð...

¶÷½¨Á¢ÁËÒ»¸öÎļþ¼Ð£¬ÎÊÌâ½â¾öÁË¡£µ«ÊǺÜÀ§»óµÄÊÇÕý³£µÄ»°²»ÊÇÓ¦¸Ã×Ô¼ºÉú³ÉÕâ¸öÎļþô
²»ÊÇÒòΪϣÍû²ÅÈ¥¼á³Ö¶øÊÇÒòΪ¼á³Ö²ÅÓÐÏ£Íû
5Â¥2014-03-14 19:24:39
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

sxf2012

ľ³æ (ÕýʽдÊÖ)

ÒýÓûØÌû:
5Â¥: Originally posted by ÎÒÕÒ·¨ÀÏ at 2014-03-14 19:24:39
¶÷½¨Á¢ÁËÒ»¸öÎļþ¼Ð£¬ÎÊÌâ½â¾öÁË¡£µ«ÊǺÜÀ§»óµÄÊÇÕý³£µÄ»°²»ÊÇÓ¦¸Ã×Ô¼ºÉú³ÉÕâ¸öÎļþô...

ÄÜ×Ô¶¯Éú³ÉÎļþ£¬µ«²»ÄÜ×Ô¶¯´´½¨Îļþ¼Ð£¬³ý·ÇÔÚ³ÌÐòÖÐÌí¼ÓÆäËûÓï¾ä
6Â¥2014-03-15 15:33:22
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

ÎÒÕÒ·¨ÀÏ

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

ÒýÓûØÌû:
6Â¥: Originally posted by sxf2012 at 2014-03-15 15:33:22
ÄÜ×Ô¶¯Éú³ÉÎļþ£¬µ«²»ÄÜ×Ô¶¯´´½¨Îļþ¼Ð£¬³ý·ÇÔÚ³ÌÐòÖÐÌí¼ÓÆäËûÓï¾ä...

¶÷£¬Ì«¸ÐлÁË
²»ÊÇÒòΪϣÍû²ÅÈ¥¼á³Ö¶øÊÇÒòΪ¼á³Ö²ÅÓÐÏ£Íû
7Â¥2014-03-17 09:36:31
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

ѧ³ædj

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

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

ºÜÃ÷ÏÔ¾ÍÊÇûÓÐÎļþ£¬ÎļþÕÒ²»µ½£¬Ò²¾ÍÊDZ༭Æ÷²»ÄÜ×Ô¶¯µÄ´´½¨Îļþ¼Ð£¬µ«ÊÇ¿ÉÒÔ´´½¨Îļþ
ÇîÔò¶ÀÉÆÆäÊ£¬´ïÔò¼æ¼ÃÌìÏÂ
8Â¥2014-03-18 17:01:23
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ ÎÒÕÒ·¨ÀÏ µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] Ò»Ö¾Ô¸±±»¯315 Çóµ÷¼Á +3 akrrain 2026-03-24 3/150 2026-03-24 19:35 by ÁËÁËÁËÁË¡£¡£
[¿¼ÑÐ] ²ÄÁÏר˶ÕÒµ÷¼Á +5 ¹þ¹þ¹þºðºðºð¹þ 2026-03-23 5/250 2026-03-24 19:07 by ÁËÁËÁËÁË¡£¡£
[¿¼ÑÐ] ÕÐ08¿¼Êýѧ +7 laoshidan 2026-03-20 16/800 2026-03-24 17:52 by ÎÚÀ­¶ùɽÂö
[¿¼ÑÐ] 0854 ¿¼Ñе÷¼Á ÕÐÉúÁË£¡AI ·½Ïò +5 pk3725069 2026-03-19 17/850 2026-03-24 17:30 by zhouxuan..
[¿¼ÑÐ] Ò»Ö¾Ô¸ÖØÇì´óѧ085700×ÊÔ´Óë»·¾³£¬×Ü·Ö308Çóµ÷¼Á +7 īīĮ 2026-03-23 8/400 2026-03-23 20:36 by Creta
[¿¼ÑÐ] Ò»Ö¾Ô¸ÉÂʦ´óÉúÎïѧ071000£¬298·Ö£¬Çóµ÷¼Á +3 SYA£¡ 2026-03-23 3/150 2026-03-23 19:09 by macy2011
[¿¼ÑÐ] 291 Çóµ÷¼Á +4 »¯¹¤2026½ì±ÏÒµÉ 2026-03-21 5/250 2026-03-23 16:46 by »¯¹¤2026½ì±ÏÒµÉ
[¿¼ÑÐ] 333Çóµ÷¼Á +6 87639 2026-03-21 10/500 2026-03-23 10:41 by Iveryant
[¿¼ÑÐ] ²ÄÁÏÓ뻯¹¤085600£¬×Ü·Ö304£¬±¾¿ÆÓÐÁ½Æªsci²ÎÓ룬Çóµ÷¼Á +4 ÐÒÔ˵Ľ´½´ 2026-03-22 5/250 2026-03-22 20:15 by edmund7
[¿¼ÑÐ] Ò»Ö¾Ô¸ Î÷±±´óѧ £¬070300»¯Ñ§Ñ§Ë¶£¬×Ü·Ö287£¬Ë«·ÇÒ»±¾£¬Çóµ÷¼Á¡£ +3 ³¿»èÏßÓëÐǺ£ 2026-03-20 3/150 2026-03-22 16:00 by ColorlessPI
[¿¼ÑÐ] 298Çóµ÷¼ÁÒ»Ö¾Ô¸211 +3 Éϰ¶6666@ 2026-03-20 3/150 2026-03-22 15:50 by ColorlessPI
[¿¼ÑÐ] 318Çóµ÷¼Á +4 plumÀî×Ó 2026-03-21 7/350 2026-03-22 14:17 by ColorlessPI
[¿¼ÑÐ] Ò»Ö¾Ô¸»ªÖпƼ¼´óѧ071000£¬Çóµ÷¼Á +4 ÑØ°¶Óб´¿Ç6 2026-03-21 4/200 2026-03-22 07:21 by ilovexiaobin
[¿¼ÑÐ] ²ÄÁÏÇóµ÷¼Á +5 @taotao 2026-03-21 5/250 2026-03-21 20:55 by lbsjt
[¿¼ÑÐ] Ò»Ö¾Ô¸Éî´ó£¬0703»¯Ñ§£¬×Ü·Ö302£¬Çóµ÷¼Á +4 ÆßÔÂ-ÆßÆß 2026-03-21 4/200 2026-03-21 18:20 by ѧԱ8dgXkO
[¿¼ÑÐ] 313Çóµ÷¼Á +4 ËÁÈþ·¡Ò¼22 2026-03-19 4/200 2026-03-21 17:33 by ColorlessPI
[¿¼ÑÐ] ²ÄÁÏѧѧ˶080502 337Çóµ÷¼Á-Ò»Ö¾Ô¸»ªÖпƼ¼´óѧ +4 ˳˳˳mr 2026-03-18 5/250 2026-03-21 10:22 by luoyongfeng
[¿¼ÑÐ] 296Çóµ÷¼Á +6 www_q 2026-03-18 10/500 2026-03-20 23:56 by JourneyLucky
[¿¼ÑÐ] Ò»Ö¾Ô¸¼ªÁÖ´óѧ²ÄÁÏѧ˶321Çóµ÷¼Á +11 Ymlll 2026-03-18 15/750 2026-03-20 19:40 by ¶¡¶¡*
[¿¼ÑÐ] Çóµ÷¼Á +3 eation27 2026-03-20 3/150 2026-03-20 19:32 by JourneyLucky
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û