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

²é¿´: 2825  |  »Ø¸´: 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Ò»ÇøÎÄÕ£¬ÎÒ:8.O.551.O.5.4,¿ÆÄ¿È«,¿ÉÙ¤¼± +3 PbwVEMK5haaE 2026-08-25 5/250 2026-08-26 05:09 by cNXvBfCpiZOM
[¿¼ÑÐ] ÊÛSCIÒ»ÇøT0PÎÄÕ£¬ÎÒ:8.O.55.1.O.5.4,¿ÆÄ¿È«,¿É+¼± +3 7K1CJE38xLG4 2026-08-25 4/200 2026-08-26 02:04 by cNXvBfCpiZOM
[»ù½ðÉêÇë] ÔÚ¼á±ù»¹¸Ç×ű±º£µÄʱºò£¬ÎÒ¿´µ½ÁËÅ­·ÅµÄ÷»¨¡£ (½ð±Ò+10) +6 ziyangfang 2026-08-25 9/450 2026-08-25 20:26 by huagongfeihu
[»ù½ðÉêÇë] 2026¹ú×ÔÈ»º¯ÆÀ·Ñµ½ÕË +20 ÑòÑü°å 2026-08-21 23/1150 2026-08-25 16:34 by zsna
[»ù½ðÉêÇë] ½ñÈÕ²»·Å°ñ£¿Íø´«¹ú×ÔȻԤ¼Æ 8 Ô 27 Èտɲé½á¹û +17 ҽѧÀÏÄк¢ 2026-08-20 22/1100 2026-08-25 15:36 by ҽѧÀÏÄк¢
[»ù½ðÉêÇë] Èç¹û´Ë¿ÌÄãÕýÔÚΪ¹ú»ù¸Ðµ½½¹ÂÇ£¬²»·ÁÀ´ÌýÌýÕâÊס¶»ù½ðÖ®Íâ¡· +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 ÄϺ£Ð¡¸ç
[»ù½ðÉêÇë] ÈËÆø²»ÐÐÁË +11 fansofjerry 2026-08-21 11/550 2026-08-25 11:04 by ¹Â¶ÀµÄÓ¢ÐÛ6
[»ù½ðÉêÇë] 2026ÄêµÄ¹ú¼ÒÉç¿Æ»ù½ðÏîĿͨѶÆÀÉóµÄйæÔòÓëж¯Ïò¡¢ÐÂÌôÕ½ +5 process2012 2026-08-23 7/350 2026-08-25 09:42 by huixian257
[»ù½ðÉêÇë] ÎÒÃæÉÏÍêµ°ÁË +13 ÇÒÌý»¢Ð¥ 2026-08-20 14/700 2026-08-25 09:10 by mrkang
[»ù½ðÉêÇë] ·¶½øÖоÙÒ»ÎĵÄÖÐÐÄ˼Ïë +7 Ñ׻ƹóëÐ 2026-08-22 8/400 2026-08-25 08:48 by ZJTJZ
[»ù½ðÉêÇë] Ö»ÓÐÿÄêÕâÖÖʱºòÀ´¹ä¹äСľ³æ +25 yaoyewhu2008 2026-08-20 27/1350 2026-08-25 08:01 by Equinoxhua
[»ù½ðÉêÇë] ½¨Òé»ù½ð·¢²¼Ìáǰ¸ø³öÃ÷È·µÄʱ¼äµã +13 kulium 2026-08-21 16/800 2026-08-24 16:27 by superceng
[»ù½ðÉêÇë] ÈÃÎÒÖÐÒ»¸öÃæÉϰɣ¡ +13 ´óƼ1987 2026-08-20 16/800 2026-08-24 10:23 by ̫ɵÁË
[»ù½ðÉêÇë] ¿ÆÑй¶ùÌ«ÄÑÁË +18 ÎÒ4´ó°×²Ë 2026-08-20 19/950 2026-08-24 09:47 by ¿­¶÷¹ãÊ¢´ß»¯·ÖÎ
[»ù½ðÉêÇë] ½ñÌì·Å°ñÂ𣿠+15 ²¼²¼ºÍÒ»¶þ 2026-08-19 16/800 2026-08-23 09:55 by ÕÅ´ºÉú
[»ù½ðÉêÇë] ʱ¼ä´Á½ñÌ죬20ºÅ±äÁË +5 archvillain 2026-08-20 5/250 2026-08-22 06:12 by hui_daxiao
[»ù½ðÉêÇë] ʱ¼ä´ÁÓÖ±äÁË +13 wuchongjun 2026-08-20 19/950 2026-08-21 17:21 by ×Ïɼ´¼
[»ù½ðÉêÇë] Ó¦¸ÃÊÇÏÂÖÜÈý26ÈÕ¹«²¼Á˰ɣ¿ +4 ¹þ¹þ¸ò£¿ 2026-08-21 4/200 2026-08-21 10:58 by Vivilian
[»ù½ðÉêÇë] ½ñÌì·Å°ñûϷÁ衃 +9 yuleib84 2026-08-19 11/550 2026-08-21 10:06 by gltch
ÐÅÏ¢Ìáʾ
ÇëÌî´¦ÀíÒâ¼û