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

Пружина для клапана на UDF

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

Чего там разбираться-то?

1) Объявляешь на уровне геометрии параметр, отвечающий за смещение шара,

2) силу по оси X объявляешь выходным параметром,

3) создаешь новый вычисляемый параметр для суммы сил (жесткости пружины * смещение + Сила X).

4) добавляешь Direct Optimization,

5) там ставишь Seek Target для созданного параметра, указываешь ноль,

6) давишь жёлтую молнию, молишься и ждёшь.

L-13
Аватар пользователя L-13

С таким макросом очень стабильно работает. Уравновешивается идеально, без всякой инерции и.т.д. как в 6DOF. После того как уравновесится прыгает влево вправо в пределах одного тайм степа..... В 6DOF тоже получилось уравновесить. Только более муторно. 

#include "udf.h" 
#include "dynamesh_tools.h"


DEFINE_CG_MOTION(CG_MOTION, dt, cg_vel, cg_omega, time, dtime)
{
int zoneID = 7;    
Domain *domain = Get_Domain(1);
Thread *tf = Lookup_Thread(domain,zoneID);
    
real my_velocyty = 0.01;
real spring_N_mm = 2.0;
real koordinata_x = 0.019; 
    

real kcm = DT_CG (dt)[0];
real koordinata_mm = kcm * 1000.0;
real constanta = koordinata_x * 1000.0;
real myforce = spring_N_mm * (constanta - koordinata_mm);
real vel_right = my_velocyty;
real vel_left = my_velocyty * (-1.0);
real x_cg[3], f_glob[3], m_glob[3];

Compute_Force_And_Moment(domain, tf,x_cg, f_glob, m_glob, TRUE);

if (myforce >= f_glob[0] * (-1.0)) {
cg_vel[0] = vel_right;
cg_vel[1] = 0.0;
cg_vel[2] = 0.0; 
}

else {                            
cg_vel[0] = vel_left;
cg_vel[1] = 0.0;
cg_vel[2] = 0.0; 
}

NV_S (cg_omega, =, 0.0); /* no angular motion */


Message("koordinata_mm    = %f \n", koordinata_mm );
Message("myforce_spring   = %f \n", myforce);
Message("Force_gidro   = %f \n", f_glob[0]);
Message("Velocity   = %f \n", cg_vel[0]);
}
 

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

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

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