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

º¸½ÓÍø¸ñ»®·Ö

гæ (³õÈëÎÄ̳)


[½»Á÷] ¼¤¹â·´ÉäÎüÊÕÈÈÔ´Ä£ÐÍ£¡£¡£¡£¡´úÂëÖØÁ¿±¬ÁÏ£¡£¡£¡£¡£¡Çó½â´ð£¡£¡£¡£¡£¡£¡£¡£¡£¡

´úÂëÓеã´íÎó£¬ÎÒÏÖÔÚÊÇÏëÓÃ×îС¶þ³Ë·¨ÄâºÏ×ÔÓɱíÃæµÄÇúÏߣ¬Ê×ÏÈÂÖÑ­ËùÓÐ×ÔÓɱíÃæÍø¸ñ£¬¼ÆËã×ÔÓɱíÃæÍø¸ñÊýÁ¿N£¬¿ª±ÙÊýÖµ´æ´¢×ÔÓɱíÃæÉÏÍø¸ñµÄÖØÐÄ£¨ÓÅÁ¼ÄâºÏÈý´ÎÇúÏß·½³Ì£©£¬gt,GS,maxÈý¸öº¯ÊýÊÇÓÃÀ´ÇóÈý´ÎÇúÏß·½³Ìy=a+bx+cx2+dx*x*xËĸöϵÊý¡£È»ºó°ÑÇó³öµÄËĸöϵÊý±£´æµ½C_UDMIÖУ¬ÓÃÓÚÓëÀëÉ¢µÄ¼¤¹â¹âÏßÇ󽻡£´úÂë±àÒëÖ®ºóÓдíÎ󣬿ÉÄÜ˼·É϶¼ÒѾ­Óëudf±à³Ì˼ÏëÏòÆ«ÀëÁË£¬Çó¸÷·´óÉñÖ¸µã£¬ÖØÐ»£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡£¡ÖÁÉÙ400½ð±Ò£¡£¡£¡£¡ºÇºÇ
#include "udf.h"

#include "sg.h"

#include "sg_mphase.h"

#include "flow.h"

#include <math.h>

double gt(double x[],double y[]);
double GS(double a[4][4],double b[4],double x[4]);
double max(double array[4]);

DEFINE_ADJUST(store_gradient,domain)
{
  int phase_domain_index = 0;
  real xc[ND_ND],xd[ND_ND],x[4],n1,n2,thita_l,thita_g;
  Thread *t;
  Thread **pt;
  cell_t c;

  Domain *pDomain = DOMAIN_SUB_DOMAIN(domain,phase_domain_index);
  {
   Alloc_Storage_Vars(pDomain,SV_VOF_RG,SV_VOF_G,SV_NULL);
   Scalar_Reconstruction(pDomain, SV_VOF,-1,SV_VOF_RG,NULL);
   Scalar_Derivatives(pDomain,SV_VOF,-1,SV_VOF_G,SV_VOF_RG,Vof_Deriv_Accumulate);
  }
  mp_thread_loop_c(t,domain,pt)
{
  if (FLUID_THREAD_P(t))
  {
   int N=0;
   Thread *ppt = pt[phase_domain_index];

   begin_c_loop (c,t)
   {
          C_CENTROID(xd,c,t);
      if(C_VOF(c, ppt)>0.1&&C_VOF(c, ppt)<0.9&&fabs(xd[0]-0)>0.0005)
             N++;
   }
   end_c_loop (c,t)

   double a[N],b[N],c[N],d[N],e[N],f[N],g[N];

   int i;
   for(i=0; i<N; i++)
   {
       a=1;
   }

   int j=0;
   begin_c_loop (c,t)
   {
     C_CENTROID(xc,c,t);
     if(C_VOF(c, ppt)>0.1&&C_VOF(c, ppt)<0.9&&fabs(xc[0]-0)>0.0005)
     {
        b[j]=xc[0];
        e[j]=xc[1];
        c[j]=b[j]*b[j];
        d[j]=b[j]*b[j]*b[j];
                j++;  
     }
   }
   end_c_loop (c,t)
   f[0]=gt(a,a);f[1]=gt(a,b);f[2]=gt(a,c);f[3]=gt(a,d);f[4]=gt(b,b);f[5]=gt(b,c);f[6]=gt(b,d);
   f[7]=gt(c,c);f[8]=gt(c,d);f[9]=gt(d,d);g[0]=gt(a,e);g[1]=gt(b,e);g[2]=gt(c,e);g[3]=gt(d,e);
   double array[4][4]={{f[0],f[1],f[2],f[3]},{f[1],f[4],f[5],f[6]},{f[2],f[5],f[7],f[8]},{f[3],f[6],f[8],f[9]}};
   GS(array,g,x);
   C_UDMI(c,t,0) = x[0];
   C_UDMI(c,t,1) = x[1];
   C_UDMI(c,t,2) = x[2];
   C_UDMI(c,t,3) = x[3];
  }
}
  Free_Storage_Vars(pDomain,SV_VOF_RG,SV_VOF_G,SV_NULL);
}

double gt(double x[],double y[])
{   
    double sum=0;
        int i;
    for(i=0;i<N;i++)
       sum=x*y+sum;
    return sum;
}

double GS(double a[4][4],double b[4],double x[4])
{
    double c[4]={0};
    double x0[4]={0};
    int i,j,k;
    double sum=0;
    for(k=1;;k++)
    {
        for(i=0;i<4;i++)
        {
            for(j=0;j<4;j++)
            {
                sum=a[j]*x0[j]+sum;
            }
            x=x0+(b-sum)/a;
            c=fabs(x-x0);
            x0=x;
            sum=0;
        }
        r=max(c);
        if(r<0.0001)
        {
            break;
         }
    }
    return 0;
}

double max(double array[4])
{
    double a=array[0];
        int i;
    for(i=0;i<4;i++)
   {
        if(a<array)
           a=array;
    }
    return a;
}
»Ø¸´´ËÂ¥

» ²ÂÄãϲ»¶

ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

ÎÒ°®ºÈÄÌ

Òø³æ (СÓÐÃûÆø)


¡ï
º¸½ÓÍø¸ñ»®·Ö(½ð±Ò+3): лл²ÎÓë
²»Ì«Á˽⠠ף¸£Â¥Ö÷¼ªÐǸßÕÕ
20Â¥2013-12-02 11:26:38
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
²é¿´È«²¿ 117 ¸ö»Ø´ð
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[»ù½ðÉêÇë] Ϊʲô×ÊÖúÊý¸÷´ó¸ßУ¶¼´´Ð¸ߣ¬×Ô¼ºÉêÇëÔõô¾ÍÕâôÄÑ +9 Kittylucky 2026-08-27 9/450 2026-08-28 01:08 by jurkat.1640
[½Ìʦ֮¼Ò] µ¼Ê¦Í²ۣºÎÒÔõô̯ÉÏÁËÕâô¸ö¼«Æ·Ñо¿Éú£¡ +7 ËÕ¶«ÆÂ¶þÊÀ 2026-08-23 7/350 2026-08-27 18:14 by ˲ϢÓîÖæ
[»ù½ðÉêÇë] ÉêÇëɾ³ý±¾Ìû +6 lyz123lyz 2026-08-27 7/350 2026-08-27 17:31 by Äþ¾²ÖÂÔ¶sy
[»ù½ðÉêÇë] »ù½ð²»ÖУ¬¹²Ãã +10 eulota 2026-08-26 10/500 2026-08-27 17:23 by lqllinqiaoli
[»ù½ðÉêÇë] »ù½ðδÖУ¬ÕâÖÖ´ð¸´ÊÇÄ£°åÂ𣿠+5 zhaosm1982 2026-08-27 6/300 2026-08-27 16:00 by lfy8008
[ÎÄѧ·¼²ÝÔ°] ÃÎÏë +3 myrtle 2026-08-26 3/150 2026-08-27 10:01 by angelyueyi
[½Ìʦ֮¼Ò] ÊÛSCIÒ»ÇøÎÄÕ£¬ÎÒ:8.O.551.O.5.4,¿ÆÄ¿È«,¿ÉÙ¤¼± +3 LIbGuocjEEYw 2026-08-26 4/200 2026-08-27 04:33 by Ie9AyIAvGbvs
[»ù½ðÉêÇë] ÎÒ²»Àí½â£¡ +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[»ù½ðÉêÇë] 2026ÄêµÄ¹ú¼ÒÉç¿Æ»ù½ðÏîĿͨѶÆÀÉóµÄйæÔòÓëж¯Ïò¡¢ÐÂÌôÕ½ +7 process2012 2026-08-23 10/500 2026-08-26 19:23 by hmhminy
[»ù½ðÉêÇë] ϵͳ²é²»µ½ +10 ¶­°Ëǧ 2026-08-26 10/500 2026-08-26 16:30 by Equinoxhua
[»ù½ðÉêÇë] Ϊʲô¹ú×ÔÈ»²»ÄÜÖ±½Ó¹«²¼ +4 bjdxyxy 2026-08-26 4/200 2026-08-26 13:12 by qingmu1201
[»ù½ðÉêÇë] ϵͳ½ø²»È¥ +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
[»ù½ðÉêÇë] ÏîÄ¿ÐÅÏ¢ºÍ¾­·ÑÐÅÏ¢ÔÚϵͳÀï¶¼¿ÉÒÔ¿´µ½ÁË +6 wittyboy 2026-08-26 14/700 2026-08-26 10:55 by wittyboy
[»ù½ðÉêÇë] ½ñÌìÎñί»á¿ªÍêÁË£¬Ã÷Ìì³ö½á¹ûÂð +19 angus9576 2026-08-25 23/1150 2026-08-26 10:03 by zp519
[Ö°³¡ÈËÉú] ѧÉúײ¼û¸¨µ¼Ô±ËÍÍâÂô£¬µÚ¶þÌìÈ«°à¶¼³ÁĬÁË +3 ¾¨ÓãÈÚ½ð_Õã½­_É 2026-08-22 3/150 2026-08-26 09:01 by zzuzxg
[»ù½ðÉêÇë] ¹úºÏÏÖÔڲ鲻µ½ÁËÂ𣿠+10 chengyan1220 2026-08-24 20/1000 2026-08-26 08:57 by peasantsprig
[»ù½ðÉêÇë] ÔÚ¼á±ù»¹¸Ç×ű±º£µÄʱºò£¬ÎÒ¿´µ½ÁËÅ­·ÅµÄ÷»¨¡£ (½ð±Ò+10) +6 ziyangfang 2026-08-25 9/450 2026-08-25 20:26 by huagongfeihu
[»ù½ðÉêÇë] ijЩ»ú¹¹£¬ÒÔЧÂʵÍΪÈÙ£¬ÒÔЧÂʵÍ×÷Ϊ´æÔڸР+9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
[»ù½ðÉêÇë] Èç¹û´Ë¿ÌÄãÕýÔÚΪ¹ú»ù¸Ðµ½½¹ÂÇ£¬²»·ÁÀ´ÌýÌýÕâÊס¶»ù½ðÖ®Íâ¡· +8 scalable 2026-08-24 8/400 2026-08-25 12:52 by jnhyjjm
[»ù½ðÉêÇë] ÈËÆø²»ÐÐÁË +11 fansofjerry 2026-08-21 11/550 2026-08-25 11:04 by ¹Â¶ÀµÄÓ¢ÐÛ6
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û