24СʱÈÈÃŰæ¿éÅÅÐаñ    

²é¿´: 2824  |  »Ø¸´: 5

keen_xq

Ìú³æ (СÓÐÃûÆø)

[ÇóÖú] DPMºêÃüÁîBegin_particle_cell_loop(p,c,t)µÄʹÓÃÎÊÌâ ÒÑÓÐ1È˲ÎÓë

¸÷λͬѧ ÓÐûÓÐʹÓÃFluentÖÐ Õâ¸ö begin_particle_cell_loop(p,c,t)ºêÄØ£¬¸Ãºê³öÏÖÔÚDEFINE_DPM_SPRAY_COLLIDEÖУ¬¿´°ïÖúÉϵĽâÊÍ£¬¸ÃºêÓ¦¸ÃÊDZéÀúµ¥ÔªÖÐËùÓеĿÅÁ£¡£ÎÒÏëÓøúêÇó³öµ¥ÔªÖÐ ¿ÅÁ£µÄÌå»ý·ÖÊý£¬ÃüÁîÈçÏ¡£ ¸ÃÃüÁîÔÚ±àÒëÖÐûÎÊÌ⣬¼ÆËãʱ±ÀÀ£¡£ÎÒµ÷ÊÔ¹ý¶à´Î£¬×îºó·¢ÏÖ begin_particle_cell_loop(pi,c,t)²»ÄÜÔÙDEFINE_DPM_DRAGÖÐʹÓã¬Ò»µ©Ê¹Óã¬Çó½â¾Íû°ì·¨½øÐУ¬ÎÒÒ²³¢ÊÔÔÚÆäËûºê ÈçDEFINE_DPM_SCALE_UPDATA ºÍDEFINE_DPM_BODY_FORCEÖе÷Óþùʧ°Ü¡£ÓÐûÓдóţʹÓùý¸Ãºê£¬ÇóÖ¸µãÃÔ½ò£¬±»ÕÛÄ¥Á˺þÃÁË¡£


DEFINE_DPM_DRAG(particle_drag_force,Re,p)
{
        real dd,Vsum=0.0;
        cell_t c=P_CELL(p);
        Thread *t =P_CELL_THREAD(p);
        Particle *pi;
        begin_particle_cell_loop(pi,c,t)
        {
                Vsum+=M_PI*pow(P_DIAM(pi),3.0)/6.0;
        }end_particle_cell_loop(pi,c,t)

        C_UDMI(c,t,0)=Vsum/C_VOLUME(c,t);  //ÇóÌåÏà»ý·ÖÊý£»//
        if(C_UDMI(c,t,0)>1)
                C_UDMI(c,t,0)=1.0;

        if(Dragsign==1)
                dd=Cdrag_force1(p,Re);
        else if(Dragsign==2)
                dd=Cdrag_force2(p,Re);
        else if(Dragsign==3)
                dd=Cdrag_force3(p,Re);
        else if(Dragsign==4)
                dd=Cdrag_force4(p,Re);
        else
                dd=Cdrag_force5(p,Re);
        return dd*pow(1-C_UDMI(c,t,0),5.0/3.0)/pow(1-C_UDMI(c,t,0),2.0);
}
»Ø¸´´ËÂ¥
ÎðÍü³õÐÄ£¬·½µÃʼÖÕ¡£
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

liukan12

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

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

ÄãµÄÀí½âÓÐÎóÇø ʵ¼ÊÉÏÕâ¸öºêÐèÒªÏÈÒª°ÑparticleÔÚcellÖм佨Á¢Ë÷ÒýÁбí ËùÒÔÐèÒªÏȰÑparticle·âװһϠ¾ÍÊÇ˵ Ê×ÏÈÄãÐèÒªÒ»¸öparticle bin
·ñÔòÄãÊǻᱨ´íµÄ
Æäʵһ¸öµ¥ÔªÄڵĿÅÁ£×ÜÊýÊÇÓмòµ¥µÄÇ󷨵Ä

» ±¾ÌûÒÑ»ñµÃµÄºì»¨£¨×îÐÂ10¶ä£©

ANSYSFluentÁ÷Ìå·ÂÕæÑо¿ÈËÔ±¡£
2Â¥2019-06-15 14:43:25
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

keen_xq

Ìú³æ (СÓÐÃûÆø)

Ĥ°Ý´óÉñ¡£ÇëÎÊ´óÉñ£¬ÄãËù˵µÄparticle binÈçºÎ´´½¨£¬»òÕßÈçºÎµÃµ½£¿ÔÚfluent UDF ÊÖ²áÖйØÓÚÕâ¸öºêÎÒÖ»·¢ÏÖÔÚDEFINE_DPM_SPRAY_COLLIDEÖдæÔÚ£¬¹ØÓÚÕâ¸öºêµÄ½éÉÜÒ²ÊÇÒ»±Ê´ø¹ý¡£´óÉñ£¬ÄãÄÜÏêϸ˵Ï£¬»òÔòÍÆ¼ö¸ö×ÊÁÏÂð£¬udfÊÖ²áÖеĽéÉܺܲ»Ïêϸ£¬Óкܶ඼ÐèÒª×Ô¼º½áºÏ³ÌÐòÍÆ³öÊÇʲôÒâ˼¡£¡£´óÉñ£¬ÎÒudfµÄÄ¿µÄÊÇÏë±éÀúÿ¸öÁ÷Ìåµ¥ÔªÖÐËùÓÐµÄÆøÅÝ£¬Í¨¹ýÀÛ¼ÓÆäÌå»ýÈ»ºóÇóµÃÆøÏàµÄÌå»ý·ÖÊý¡£´óÉñ£¬ÄãÄÜÍÆ¼öϼòµ¥µÄ·½·¨Â𣿲»Ê¤¸Ð¼¤¡£¡£»¹Óнð±Ò·îÉÏ

·¢×ÔСľ³æAndroid¿Í»§¶Ë
ÎðÍü³õÐÄ£¬·½µÃʼÖÕ¡£
3Â¥2019-06-16 00:11:52
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

keen_xq

Ìú³æ (СÓÐÃûÆø)

Ëͺ컨һ¶ä
ÒýÓûØÌû:
2Â¥: Originally posted by liukan12 at 2019-06-15 14:43:25
ÄãµÄÀí½âÓÐÎóÇø ʵ¼ÊÉÏÕâ¸öºêÐèÒªÏÈÒª°ÑparticleÔÚcellÖм佨Á¢Ë÷ÒýÁбí ËùÒÔÐèÒªÏȰÑparticle·âװһϠ¾ÍÊÇ˵ Ê×ÏÈÄãÐèÒªÒ»¸öparticle bin
·ñÔòÄãÊǻᱨ´íµÄ
Æäʵһ¸öµ¥ÔªÄڵĿÅÁ£×ÜÊýÊÇÓмòµ¥µÄÇ󷨵Ä

Ĥ°Ý´óÉñ¡£ÇëÎÊ´óÉñ£¬ÄãËù˵µÄparticle binÈçºÎ´´½¨£¬»òÕßÈçºÎµÃµ½£¿ÔÚfluent UDF ÊÖ²áÖйØÓÚÕâ¸öºêÎÒÖ»·¢ÏÖÔÚDEFINE_DPM_SPRAY_COLLIDEÖдæÔÚ£¬¹ØÓÚÕâ¸öºêµÄ½éÉÜÒ²ÊÇÒ»±Ê´ø¹ý¡£´óÉñ£¬ÄãÄÜÏêϸ˵Ï£¬»òÔòÍÆ¼ö¸ö×ÊÁÏÂð£¬udfÊÖ²áÖеĽéÉܺܲ»Ïêϸ£¬Óкܶ඼ÐèÒª×Ô¼º½áºÏ³ÌÐòÍÆ³öÊÇʲôÒâ˼¡£¡£ÎÒudfµÄÄ¿µÄÊÇÏë±éÀúÿ¸öÁ÷Ìåµ¥ÔªÖÐËùÓÐµÄÆøÅÝ£¬Í¨¹ýÀÛ¼ÓÆäÌå»ýÈ»ºóÇóµÃÆøÏàµÄÌå»ý·ÖÊý¡£´óÉñ£¬ÄãÄÜÍÆ¼öϼòµ¥µÄ·½·¨Â𣿲»Ê¤¸Ð¼¤¡£¡£»¹Óнð±Ò·îÉÏ

·¢×ÔСľ³æAndroid¿Í»§¶Ë
ÎðÍü³õÐÄ£¬·½µÃʼÖÕ¡£
4Â¥2019-06-16 00:15:38
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

Ç®äì

гæ (³õÈëÎÄ̳)

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

ÒýÓûØÌû:
4Â¥: Originally posted by keen_xq at 2019-06-16 00:15:38
Ĥ°Ý´óÉñ¡£ÇëÎÊ´óÉñ£¬ÄãËù˵µÄparticle binÈçºÎ´´½¨£¬»òÕßÈçºÎµÃµ½£¿ÔÚfluent UDF ÊÖ²áÖйØÓÚÕâ¸öºêÎÒÖ»·¢ÏÖÔÚDEFINE_DPM_SPRAY_COLLIDEÖдæÔÚ£¬¹ØÓÚÕâ¸öºêµÄ½éÉÜÒ²ÊÇÒ»±Ê´ø¹ý¡£´óÉñ£¬ÄãÄÜÏêϸ˵Ï£¬»òÔòÍÆ¼ö¸ö×ÊÁÏ ...

ÇëÎÊÂ¥Ö÷½â¾öÕâ¸öÎÊÌâÁËÂð£¬ÎÒÒ²ÊÇÏ£Íûͨ¹ýUDF»ñµÃÁ÷ÌåÓòµÄÆøÒº±È£¬½á¹û£¬³ö¸÷ÖÖÎÊÌâ
5Â¥2020-05-19 16:44:38
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû

Ç®äì

гæ (³õÈëÎÄ̳)

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

ÒýÓûØÌû:
5Â¥: Originally posted by Ç®äì at 2020-05-19 16:44:38
ÇëÎÊÂ¥Ö÷½â¾öÕâ¸öÎÊÌâÁËÂð£¬ÎÒÒ²ÊÇÏ£Íûͨ¹ýUDF»ñµÃÁ÷ÌåÓòµÄÆøÒº±È£¬½á¹û£¬³ö¸÷ÖÖÎÊÌâ...

There is a loop available for looping over all the particles in a cell. But it does not work if used directly. Actually the array to bin the particles in the cell is not allocated by default. It has to be done before using this loop and then it will run ok.

So, at the top of the routine, please put,

Alloc_Storage_Vars(domain, SV_DPM_PARTICLE_BIN, SV_NULL);
bin_particles_in_cells(domain);

and at the botton, free up the memory with,

Free_Storage_Vars(domain, SV_DPM_PARTICLE_BIN, SV_NULL);
I am attaching my test UDF. It worked nicely for a simple 2d case in Linux.

#include "udf.h"
#include "surf.h"

DEFINE_ON_DEMAND(cell)
{

Domain *d=Get_Domain(1);
cell_t c;
int id;
Particle *p;

Thread *c_thread=Lookup_Thread(d,2); /*In my case 2 was the id of the fluid thread. Please change this number accordingly */

Alloc_Storage_Vars(d, SV_DPM_PARTICLE_BIN, SV_NULL);
bin_particles_in_cells(d);

begin_c_loop(c, c_thread)

{
/* Message("Cell_index=%dn",c);*/
begin_particle_cell_loop(p,c,c_thread)
{
id=p->part_id;
Message(" cell index=%d part_id=%d ",c,id);
}
end_particle_cell_loop(p,c,c_thread)
}

end_c_loop(c, c_thread)

Free_Storage_Vars(d, SV_DPM_PARTICLE_BIN, SV_NULL);

}
6Â¥2020-05-19 18:00:43
ÒÑÔÄ   »Ø¸´´ËÂ¥   ¹Ø×¢TA ¸øTA·¢ÏûÏ¢ ËÍTAºì»¨ TAµÄ»ØÌû
Ïà¹Ø°æ¿éÌø×ª ÎÒÒª¶©ÔÄÂ¥Ö÷ keen_xq µÄÖ÷Ìâ¸üÐÂ
×î¾ßÈËÆøÈÈÌûÍÆ¼ö [²é¿´È«²¿] ×÷Õß »Ø/¿´ ×îºó·¢±í
[¿¼ÑÐ] ÊÛSCIÒ»ÇøT0PÎÄÕ£¬ÎÒ:8.O.55.1.O.5.4,¿ÆÄ¿È«,¿É+¼± +3 7K1CJE38xLG4 2026-08-25 4/200 2026-08-26 02:04 by cNXvBfCpiZOM
[ÂÛÎÄͶ¸å] ÊÛSCIÒ»ÇøT0PÎÄÕ£¬ÎÒ:8O.55.1.O.5.4,¿ÆÄ¿ÆëÈ«,¿É+¼± +3 7K1CJE38xLG4 2026-08-25 4/200 2026-08-26 02:04 by cNXvBfCpiZOM
[»ù½ðÉêÇë] 2026Äê8ÔÂ25ÈÕ¹ú×ÔÈ»·Å°ñǰͻȻÊÕµ½ÁÐÈëÆÀÉóר¼ÒÓʼþ£¬ÓйØÏµÂ𣿠+17 ľˮ˼¶¹ 2026-08-25 20/1000 2026-08-26 01:26 by chengyan1220
[»ù½ðÉêÇë] ÔÚ¼á±ù»¹¸Ç×ű±º£µÄʱºò£¬ÎÒ¿´µ½ÁËÅ­·ÅµÄ÷»¨¡£ (½ð±Ò+10) +6 ziyangfang 2026-08-25 9/450 2026-08-25 20:26 by huagongfeihu
[»ù½ðÉêÇë] ÓÐûÓдóÉñ°ïÎÒ¿´¿´»ù½ð´úÂë 28+4 1234567wang 2026-08-24 10/500 2026-08-25 19:15 by lfy8008
[»ù½ðÉêÇë] ·Å°ñǰµÄ²»µ­¶¨ 20+4 snowwithsea 2026-08-19 19/950 2026-08-25 17:57 by chick875
[»ù½ðÉêÇë] ijЩ»ú¹¹£¬ÒÔЧÂʵÍΪÈÙ£¬ÒÔЧÂʵÍ×÷Ϊ´æÔڸР+9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
[»ù½ðÉêÇë] 2026¹ú×ÔÈ»º¯ÆÀ·Ñµ½ÕË +20 ÑòÑü°å 2026-08-21 23/1150 2026-08-25 16:34 by zsna
[»ù½ðÉêÇë] Èç¹û´Ë¿ÌÄãÕýÔÚΪ¹ú»ù¸Ðµ½½¹ÂÇ£¬²»·ÁÀ´ÌýÌýÕâÊס¶»ù½ðÖ®Íâ¡· +8 scalable 2026-08-24 8/400 2026-08-25 12:52 by jnhyjjm
[»ù½ðÉêÇë] ûÓÐÈκÎÏûÏ¢-ÊDz»ÊǾÍÁ¹ÁË +9 ͼÀ²Í¼À² 2026-08-24 10/500 2026-08-25 11:59 by ÄϺ£Ð¡¸ç
[½Ìʦ֮¼Ò] µ¼Ê¦Í²ۣºÎÒÔõô̯ÉÏÁËÕâô¸ö¼«Æ·Ñо¿Éú£¡ +3 ËÕ¶«ÆÂ¶þÊÀ 2026-08-23 3/150 2026-08-25 10:35 by shisan1313
[»ù½ðÉêÇë] 2026ÄêµÄ¹ú¼ÒÉç¿Æ»ù½ðÏîĿͨѶÆÀÉóµÄйæÔòÓëж¯Ïò¡¢ÐÂÌôÕ½ +5 process2012 2026-08-23 7/350 2026-08-25 09:42 by huixian257
[»ù½ðÉêÇë] ½ñÌì»ù½ð»á³ö½á¹ûÂð£¿20260819 +17 kkkl_v 2026-08-19 18/900 2026-08-25 09:41 by windflowerwy
[»ù½ðÉêÇë] ÎÒÃæÉÏÍêµ°ÁË +13 ÇÒÌý»¢Ð¥ 2026-08-20 14/700 2026-08-25 09:10 by mrkang
[»ù½ðÉêÇë] filecode£¬4¸öjtjcÁË +14 ziyangfang 2026-08-19 17/850 2026-08-24 18:37 by ¹þ¹þ¸ò£¿
[»ù½ðÉêÇë] ¿ÆÑй¶ùÌ«ÄÑÁË +18 ÎÒ4´ó°×²Ë 2026-08-20 19/950 2026-08-24 09:47 by ¿­¶÷¹ãÊ¢´ß»¯·ÖÎ
[½Ìʦ֮¼Ò] Ìø²ÛºóÔÚÑÐÏîÄ¿Ôõô°ì£¿ +5 ¼òµ¥»¯xn 2026-08-22 10/500 2026-08-23 12:38 by ¼òµ¥»¯xn
[»ù½ðÉêÇë] ½ñÌì·Å°ñÂ𣿠+15 ²¼²¼ºÍÒ»¶þ 2026-08-19 16/800 2026-08-23 09:55 by ÕÅ´ºÉú
[»ù½ðÉêÇë] ¿´À´½ñÌì²»»á·Å°ñÁË£¿ +8 chengyan1220 2026-08-21 11/550 2026-08-21 17:52 by dcqxinyang
[»ù½ðÉêÇë] »ù½ð°¡»ù½ð +4 longfie172 2026-08-20 4/200 2026-08-21 08:58 by mark mao
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û