Wed 28 Aug 21:38:52 CEST 2024
This commit is contained in:
		
							parent
							
								
									76112391d2
								
							
						
					
					
						commit
						53e3d0b894
					
				
							
								
								
									
										60
									
								
								src/SimNDT/engine/EFIT2Dnumpy.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										60
									
								
								src/SimNDT/engine/EFIT2Dnumpy.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,60 @@ | |||
| def sourceVel(Vx, Vy, XL, YL, source, Stype, win, dtdxx): | ||||
|     if Stype == 0: | ||||
|         Vx[XL[:], YL[:]] -= source * dtdxx * win[:] | ||||
| 
 | ||||
|     elif Stype == 1: | ||||
|         Vy[XL[:], YL[:]] -= source * dtdxx * win[:] | ||||
| 
 | ||||
|     elif Stype == 2: | ||||
|         Vx[XL[:], YL[:]] -= source * dtdxx * win[:] | ||||
|         Vy[XL[:], YL[:]] -= source * dtdxx * win[:] | ||||
| 
 | ||||
|     return (Vx, Vy) | ||||
| 
 | ||||
| 
 | ||||
| def sourceStress(Txx, Tyy, XL, YL, source, Stype, win, dtdxx): | ||||
|     if Stype == 0: | ||||
|         Txx[XL[:], YL[:]] -= source * dtdxx * win[:] | ||||
| 
 | ||||
|     elif Stype == 1: | ||||
|         Tyy[XL[:], YL[:]] -= source * dtdxx * win[:] | ||||
| 
 | ||||
|     elif Stype == 2: | ||||
|         Txx[XL[:], YL[:]] -= source * dtdxx * win[:] | ||||
|         Tyy[XL[:], YL[:]] -= source * dtdxx * win[:] | ||||
| 
 | ||||
|     return (Txx, Tyy) | ||||
| 
 | ||||
| 
 | ||||
| def velocityVoigt(Txx, Txy, Tyy, vx, vy, d_vx, d_vy, BX, BY, ABS, ddx, dt): | ||||
|     d_vx[:-1, 1:] = (ddx * BX[:-1, 1:]) * (Txx[1:, 1:] - Txx[:-1, 1:] + Txy[:-1, 1:] - Txy[:-1, 0:-1]); | ||||
|     vx[:-1, 1:] += dt * d_vx[:-1, 1:] | ||||
| 
 | ||||
|     d_vy[1:, :-1] = (ddx * BY[1:, :-1]) * (Txy[1:, :-1] - Txy[0:-1, :-1] + Tyy[1:, 1:] - Tyy[1:, :-1]); | ||||
|     vy[1:, :-1] += dt * d_vy[1:, :-1] | ||||
| 
 | ||||
|     vx[:, :] *= ABS[:, :] | ||||
|     vy[:, :] *= ABS[:, :] | ||||
| 
 | ||||
|     return (vx, vy, d_vx, d_vy) | ||||
| 
 | ||||
| 
 | ||||
| def stressVoigt(Txx, Txy, Tyy, vx, vy, d_vx, d_vy, C11, C12, C44, ETA_VS, ETA_S, ETA_SS, ABS, dtx): | ||||
|     Txx[1:, 1:] += ((dtx * C11[1:, 1:]) * (vx[1:, 1:] - vx[0:-1, 1:]) + | ||||
|                     (dtx * C12[1:, 1:]) * (vy[1:, 1:] - vy[1:, 0:-1]) + | ||||
|                     (dtx * ETA_VS[1:, 1:]) * (d_vx[1:, 1:] - d_vx[0:-1, 1:]) + | ||||
|                     (dtx * ETA_S[1:, 1:]) * (d_vy[1:, 1:] - d_vy[1:, 0:-1])) | ||||
| 
 | ||||
|     Tyy[1:, 1:] += ((dtx * C12[1:, 1:]) * (vx[1:, 1:] - vx[0:-1, 1:]) + | ||||
|                     (dtx * C11[1:, 1:]) * (vy[1:, 1:] - vy[1:, 0:-1]) + | ||||
|                     (dtx * ETA_S[1:, 1:]) * (d_vx[1:, 1:] - d_vx[0:-1, 1:]) + | ||||
|                     (dtx * ETA_VS[1:, 1:]) * (d_vy[1:, 1:] - d_vy[1:, 0:-1])) | ||||
| 
 | ||||
|     Txy[:-1, :-1] += ((dtx * C44[:-1, :-1]) * (vx[:-1, 1:] - vx[:-1, :-1] + vy[1:, :-1] - vy[:-1, :-1]) + | ||||
|                       (dtx * ETA_SS[:-1, :-1]) * (d_vx[:-1, 1:] - d_vx[:-1, :-1] + d_vy[1:, :-1] - d_vy[:-1, :-1])) | ||||
| 
 | ||||
|     Txx[:, :] *= ABS[:, :] | ||||
|     Tyy[:, :] *= ABS[:, :] | ||||
|     Txy[:, :] *= ABS[:, :] | ||||
| 
 | ||||
|     return (Txx, Tyy, Txy) | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user