خرید بک لینک
یکی از مباحث مهم در زمینه مهندسی مکانیک بررسی و شبیه سازی جوش برای به دست آوردن تنش های پسماند است. برای مدلسازی حرکت جوش بر روی یک ورق، در نرم افزار آباکوس راهی به غیر از نوشتن سابروتین وجود ندارد. با اینکه این کار به نظر ساده می آید، برای کسانی که در ابتدای راه در زمینه سابروتین نویسی هستند ممکن است زمان گیر و آزار دهنده باشد. در این پست هدف ارائه توضیحی کوتاه و همچنین کد مورد نیاز است.

در سابروتین نویسی همواره ورودی ها به نرم افزار از طرف آباکوس داده می شود. ورودی های مهمی که در شبیه سازی حرکت جوش به کار می رود مختصات المان ها است. می توانیم با تعریف یک محیط با شعاعی به اندازه قوس جوش، المان هایی که در این بازه قرار دارند مقدار شار حرارتی آنها را برابر مقداری غیرصفر و بقیه المان ها که در این محیط قرار ندارند، شار حرارتی آنها را برابر صفر قرار داد. برای این منظور از دستور شرطی IF استفاده می شود. همچنین ورودی مهم دیگری که جهت حرکت جوش به کار می رود پارامتر زمان است. آباکوس این ورودی را در پارامتر TIME می دهد. جهت تغییر مکان محیط می توان از پارامتر زمان و همچنین پارامتر سرعت حرکت جوش که توسط کاربر در پارامتر V تعیین می شود، استفاده کرد.

کد زیر بدون ایراد بوده و می توانید به راحتی در شبیه سازی خودتان به کار ببرید.

SUBROUTINE DFLUX(FLUX,SOL,KSTEP,KINC,TIME,NOEL,NPT,COORDS,
1 JLTYP,TEMP,PRESS,SNAME)
C
INCLUDE 'ABA_PARAM.INC'
C
DIMENSION FLUX(2), TIME(2), COORDS(3)
CHARACTER*80 SNAME


Q=4000000.0 !Surface flux (W/m^2)
V=0.0027d0 ! Weld speed m/s
Wdia=0.025 !Weld diameter

!LASER BEAM VELOCITY [mm/s]

X0=0.0 !STARTING COORDINATE OF THE LASER BEAM
Y0=TIME(1)*V !STARTING COORDINATE OF THE LASER BEAM
Z0=0.030 !STARTING COORDINATE OF THE LASER BEAM



X=COORDS(1)
Y=COORDS(2)
Z=COORDS(3)

xp=X0 - X
yp=Y0 - y

DD=sqrt(xp**2 + yp**2)


IF(DD.LT.Wdia) THEN
FLUX(1)=Q*exp(-(DD/Wdia)**2)
ELSE
FLUX(1)=0
END IF

RETURN
END

نوشته شده توسط وحید در دوشنبه یکم آبان ۱۳۹۶ |

برچسب: سابروتین, نویسنده: سجاد مهدوی تاريخ: شنبه 18 آذر 1396 ساعت: 18:07

صفحه بندی