Все ответы об инженерном анализе

Перед началом работы настоятельно рекомендуем ознакомиться с правилами форума.

Моделирование движения потока от вращающегося цилиндра

waha40k
Аватар пользователя waha40k

Уважаемые форумчане!

Пытаюсь смоделировать движение воздуха в 2D постановке. Имеется внешний неподвижный цилиндр и внутренний вращающийся, а также два канала (сверху и снизу) для откачки воздуха. Вопрос состоит в том, можно ли одновременно "навесить" на внутренний цилиндр условие Rotating wall и Mass-Flow-Inlet (смоделировать так, что воздух поступает, как-бы из вала(внутреннего цилиндра))? Или же есть какие-то другие способы для решения поставленной задачи?

Спасибо, буду благодарен за любой совет!

sbogdanec
Аватар пользователя sbogdanec

Доброго дня.
Задайте на поверхности вала вход по скорости с известными углами в цилиндриеской системе координат.
Углы можно высчитать из известного расхода воздуха и угловой скорости вала.

ershovmih
Аватар пользователя ershovmih

Здравствуйте,

Если теплообмена нет и все с постоянной температурой, то можно задать поверхность вала как стенку с Moving wall и прописать UDF для закачки массы воздуха в первую пристеночную ячейку у вала. Иначе нужно учитывать, что он массу закидывает с энтальпией при начальных условиях, причем точно это скомпенисировать на практике не удается.

Код для примера просто. По факту, возможно, нужен источник массы, а не компонента

 

#include "udf.h"
#include "sg.h"
#include "sg_mphase.h"
#include "flow.h"
#include "mem.h"
#include "metric.h"
#include "surf.h"


#define wall_id 19 /* zone ID of wall where condensation happens*/
#define species_area_source 0.01 /* desired wall source kg/s/m2 */
#define T_ref 298.15 /* zero enthalpy temperature, K */


enum
{


    cell_volume,            /*0 - volume of cell, m3*/
    face_area,              /*1 - area of face, m2*/
    cell_temp,                /*2 - cell temperature, K*/
    cell_sp_heat,            /*3 - area of face, m2*/
    src_species_mass,       /*4 vapor mass source, kg/s/m3*/
    src_enthalpy,           /*5 enthalpy correction source, kg/s/m3*/
};


DEFINE_ADJUST(wall_species_calc, d)
{
  Thread *t;
  cell_t c;


  real cell_vol = 0.0; /* kg/s/m2 */
  real A[3];
  int n;
  
thread_loop_c(t, d)

      begin_c_loop(c,t)
        {

        C_UDMI(c, t, src_species_mass) = 0.0; /* initializing  mass source*/
        C_UDMI(c, t, cell_volume) = 1e-10; /* initializing volume (avoid zero divide) */
        C_UDMI(c, t, src_enthalpy) = 0.0; /* initializing enthalpy correction source, W/m3 */

c_face_loop(c, t, n)
{


Thread *tf = C_FACE_THREAD (c, t, n);

if(THREAD_ID(tf) == wall_id)
{ face_t f = C_FACE (c, t, n); 

    F_AREA(A,f,tf);
    C_UDMI(c, t, face_area) = NV_MAG(A);     /* debug wall face area, m2 */
   
        
    cell_vol = C_VOLUME(c, t);
    C_UDMI(c, t, cell_volume) = cell_vol;    /* debug wall cell area, m3 */

/* desired cell mass source kg/s/m3 */
C_UDMI(c, t, src_species_mass) = species_area_source * C_UDMI(c, t, face_area) / C_UDMI(c, t, cell_volume);


C_UDMI(c, t, cell_sp_heat) = C_CP(c, t);    /* debug specific heat, J/kg/K */
C_UDMI(c, t, cell_temp) = C_T(c, t);        /* debug temperature, J/kg/K */


/* cell enthalpy correction source W/m3 */
C_UDMI(c, t, src_enthalpy) = C_UDMI(c, t, cell_sp_heat)*C_UDMI(c, t, src_species_mass)*(C_UDMI(c, t, cell_temp)-T_ref); 
        
    }
        }
            }
        end_c_loop (c,t)
          }

}

DEFINE_SOURCE(wall_species_source,c,t,dS,eqn)
{
  real source;
  source = C_UDMI(c, t, src_species_mass);
  dS[eqn] = 0.0;
      
  return source;
}


DEFINE_SOURCE(wall_enthalpy_correction_source,c,t,dS,eqn)
{
  real source;
  source = C_UDMI(c, t, src_enthalpy);
  dS[eqn] = 0.0;
      
  return source;
}

 

ershovmih
Аватар пользователя ershovmih

Можете посмотреть тестовые задачки с этими кодами

waha40k
Аватар пользователя waha40k

Здравствуйте!
Извините, что поздно спрашиваю, но можете подсказать, как правильно это сделать?

Добавить комментарий

Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Приложить файл

Максимальный размер файла: 999 МБ.
Допустимые типы файлов: txt doc docx xls xlsx pdf rar zip 7zip tar.