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

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

Симуляция подшипника качения

1 сообщение / 0 новое
sertet
Аватар пользователя sertet

Приветствую всех,

Есть задача провести симуляции сегмента подшипника качения под динамический нагрузкой. То есть внешнее кольцо(AR) будет закреплено, а на внутренне кольцо(IR) будет действовать постоянная аксиальная сила (F_ax) и гармоническая радиальная(F_rad), также внутренне кольцо должно совершать колебательные движения вокруг оси подшипника. 

С колебательными движениями все в порядке, но вот почему радиальная гармоническая сила не изменяется в цикле не могу понять... Может кто-то сможет увидеть мои ошибки... Если возникнут вопросы или замечания, буду рад. Ниже привожу код:

!------------------------------------------------------------------------------
! SOLVER FOR TRANSIENT-DYNAMIC CALCULATION
!------------------------------------------------------------------------------

FINISH
/SOLU												! start solver

! Clear memory
valsTime=
valsFX=
valsFY=
valsRotX=
forceFX=
forceFY=
rotatX=

ALLSEL, ALL, ALL

CSYS, 0

!===============================================================
!------- Live-Monitoring (Jobname.nlh)--------
!===============================================================

NLHIST,NSOL,RotX,ROT,X,PilotNode

NLHIST,NSOL,Fax,F,X,Master_AR_a
NLHIST,NSOL,Frad,F,Y,Master_AR_r

NLHIST,NSOL,Uax,U,X,PilotNode
NLHIST,NSOL,Urad,U,Y,PilotNode

NLHIST,PAIR,ContPress1,CONT,PRES,2  
NLHIST,PAIR,ContPress2,CONT,PRES,3  
  
NLHIST,PAIR,ContArea1,CONT,CARE,2   
NLHIST,PAIR,ContArea2,CONT,CARE,3 
	
!===============================================================
!-------SOLVER PROCESS --------
!===============================================================

*GET, CALCSTART, ACTIVE, 0, TIME, WALL,				! start to calculate time for solution process

ANTYPE, TRANSIENT									! transient calculation

SOLCONTROL, ON, ON

EQSLV, PCG   		 		! preconditioned conjugate gradient solver
PCGOPT, 1					! Level 1 faster than Level 2

PRED, OFF					! no prediction, by http://ww3.cad.de/foren/ubb/Forum101/HTML/003380.shtml  
NCNV, 0      				! 2 = stop analysis in case of non-convergence, but don't exit program // 0 = simply go on... 

LNSRCH, ON     				! 16.07.2008, 8.12. Tips and Guidelines for Nonlinear Analysis
CNCHECK, AUTO				! Provides a/o adjusts the initial status of contact pairs
CNTR,print,3

AUTOTS, ON					! Specifies whether to use automatic time stepping or load stepping; 	ON=use
							! If Key = ON, both time step prediction and time step bisection will be used. 
							! Used only if DTIME (specified on the DELTIM command) is less than the time span or conversely, 
							! if NSBSTP (on the NSUBST command) is greater than one
						
KBC, 0            			! ramped loading in loadstep
TRNOPT, FULL, , , , , HHT	! FULL transient analysis, HHT instead of Newmark for time integration 
	
OUTRES, ALL, -2				! Controls solution data written to the database; ALL,ALL=write all information about all SS
RESCONTROL,DEFINE,2,LAST,0  ! allows to restart an analysis from any LS and SS

*IF, nlgeo, EQ, 1, THEN
	NLGEOM, ON				! large-deflection on
*ELSE
	NLGEOM, OFF				! large-deflection off
*ENDIF	

!-----Loading-------
!=======================================================================
dTime=(EndTime-IniTime)/nrTimeSteps                                                   
		
EndFX = -Axialkraft			! Final axial load
EndFY = Radialkraft         ! Final radial load
EndRotat = Drehwinkel		! Final rotation angle

*DIM, valsTime, , nrTimeSteps+1, 1		! Array to store calculated end times for each step
*DIM, valsFX, , nrTimeSteps+1, 1		! Array to store calculated load values for each time step
*DIM, valsFY, , nrTimeSteps+1, 1		! Array to store calculated load values for each time step
*DIM, valsRotX, , nrTimeSteps+1, 1		! Array to store calculated rotation angles for each time step

*DO, ii, 1, nrTimeSteps+1
	valsTime(ii) = IniTime + (ii-1)*dTime							! time
	valsFX(ii) 	 = -FVorspAx           								! axial force
	valsFY(ii)   = FVorspRad+deltaFRad*SIN(2*Pi*freL*valsTime(ii))  ! radial force
	valsRotX(ii) = (EndRotat)*SIN(2*Pi*freD*valsTime(ii))      		! Rotation
*ENDDO
 
*DIM, forceFX, TABLE, nrTimeSteps+1, 1		! Store calculated load and angular velocity values in a table array
*DIM, forceFY, TABLE, nrTimeSteps+1, 1
*DIM, rotatX, TABLE, nrTimeSteps+1, 1

*DO, ii, 1, nrTimeSteps+1
    forceFX(ii,0) = valsTime(ii)
    forceFX(ii,1) = valsFX(ii)
    
    forceFY(ii,0) = valsTime(ii)
    forceFY(ii,1) = valsFY(ii)
    
    rotatX(ii,0) = valsTime(ii)
    rotatX(ii,1) = valsRotX(ii)
*ENDDO

!-----Pre-loading--------
TIMINT, OFF   ! static

TIME, 0.0001
F, PilotNode, FX, -FVorspAX/100
F, PilotNode, FY, FVorspRad/100
NSUBST, 10, 10, 5
SOLVE 
                   
TIME, 0.0002
F, PilotNode, FX, -FVorspAx
F, PilotNode, FY, FVorspRad  
NSUBST, 40,  50, 20
SOLVE
SAVE

!-----Loading--------
TIMINT, ON  !Turns on transient effects
  
*DO, ik, 1, nrTimeSteps+1 
  
	TIME, dTime*ik
	F, PilotNode, FX, -FVorspAx
	F, PilotNode, FY, forceFY(ik,1)
	D, PilotNode, ROTX, rotatX(dTime*ik)
    
	NSUBST, 10,  10, 5, ON
	SOLVE
	SAVE
*ENDDO

Заранее спасибо за помощь!

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

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

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