24小时热门版块排行榜    

CyRhmU.jpeg
查看: 863  |  回复: 7
【悬赏金币】回答本帖问题,作者薛学良将赠送您 500 个金币
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

薛学良

铁杆木虫 (正式写手)

[求助] UDS边界条件赋值问题(流体内部域)

请问:
(1)流体域为:域1+域2+域3,流体左进右出;
(2)UDS求解域设置为在域2(Solution Zones里选定);
(3)问题所在:交界面A(或交界面B),怎样设置才能实现在上述流体求解满足的情况下,可以实现UDS在[交界面A或B]可以正常的进行边界条件的赋值?是要由内部面Interior做相应设置更改为Interface?还是其他方法?

UDS边界条件赋值问题(流体内部域)
微信图片_20220826083420 - 副本.png@wuming524
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

薛学良

铁杆木虫 (正式写手)

引用回帖:
4楼: Originally posted by 薛学良 at 2022-08-28 17:04:45
后来通过Adjust宏在近交界面A的第一层网格处C0,或者尝试直接在交界面A上赋值(thread = Lookup_Thread(domain,ID_face_middle_left);F_UDSI(f,thread,0) = 101325.;报错,应该是因为F_UDSI只能适用于wall或者流动 ...

#include "udf.h"



#define ID_face_middle__left 7



DEFINE_ADJUST(adjust_uds_boundary_u,domain)
{
#if !RP_HOST
      Thread *thread = Lookup_Thread(domain,ID_face_middle_left),*t0,*t1;
      cell_t c, c0, c1;                                                                                                                                                            
      face_t f;

      begin_f_loop(f,thread)
      {
      c0=F_C0(f,thread);
      t0=THREAD_T0(thread);
      c1=F_C1(f,thread);
      t1=THREAD_T1(thread);

      C_UDSI(c0,t0,0) = 101325.;
      /*F_UDSI(f,t0,0) = 101325.;*/
      /*F_UDSI(f,thread,0) = 101325.;*/
      }
      end_f_loop(f,thread)
#endif
}



DEFINE_SOURCE(source,c,t,dS,eqn)
{
#if !RP_HOST
  real con, source;
  source = 10;
  return source;
#endif
}
5楼2022-08-28 17:06:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 8 个回答

gyctju

金虫 (正式写手)

intrior或者interface上一般不能赋边界值,因为他们不是“边界”。可以考虑将交界面a b单独命名,类型设置为interior, 然后结合lookup thread宏和F_C0/F_C1宏,在交界面的上游或下游给出边界值

发自小木虫Android客户端
2楼2022-08-28 15:39:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

薛学良

铁杆木虫 (正式写手)

引用回帖:
2楼: Originally posted by gyctju at 2022-08-28 15:39:42
intrior或者interface上一般不能赋边界值,因为他们不是“边界”。可以考虑将交界面a b单独命名,类型设置为interior, 然后结合lookup thread宏和F_C0/F_C1宏,在交界面的上游或下游给出边界值
...

多谢回复;我最开始在DM或者Meshing中将交界面A的左右两面分别命名,报说重复命名的错误;
3楼2022-08-28 16:55:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

薛学良

铁杆木虫 (正式写手)

引用回帖:
2楼: Originally posted by gyctju at 2022-08-28 15:39:42
intrior或者interface上一般不能赋边界值,因为他们不是“边界”。可以考虑将交界面a b单独命名,类型设置为interior, 然后结合lookup thread宏和F_C0/F_C1宏,在交界面的上游或下游给出边界值
...

后来通过Adjust宏在近交界面A的第一层网格处C0,或者尝试直接在交界面A上赋值(thread = Lookup_Thread(domain,ID_face_middle_left);F_UDSI(f,thread,0) = 101325.;报错,应该是因为F_UDSI只能适用于wall或者流动边界);但都得不到UDS只在域2求解的效果(扩散项+源项,交界面A给定边界条件)

» 本帖附件资源列表

  • 欢迎监督和反馈:小木虫仅提供交流平台,不对该内容负责。
    本内容由用户自主发布,如果其内容涉及到知识产权问题,其责任在于用户本人,如对版权有异议,请联系邮箱:xiaomuchong@tal.com
  • 附件 1 : 微信图片_20220828165642.png
  • 2022-08-28 17:04:25, 24.43 K
4楼2022-08-28 17:04:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
不应助 确定回帖应助 (注意:应助才可能被奖励,但不允许灌水,必须填写15个字符以上)
信息提示
请填处理意见