!/nerr,0,10000,,0,0 ! Anzeigen von Fehlermeldungen unterdrücken /CWD,'C:\Documents and Settings\Florian Bachmann\My Documents\Anwendungsdaten\Ansys\automatic loop\version light' ! working directory tauschen ! Light Version mit Schalenelementen anstatt solids für die Platte ! Piezo weiterhin solid, da keine piezo shells verfügbar in ANSYS fini /clear /title, Piezo in the loop, shell and solid /com Alles in SI-Einheiten /FILNAME, 'Harm Analy Aluminium Piezo Widerstand' /PREP7 meshsize = 0.005 ! Definition of Analysis parameters frequency_start = 1 ! Untere Analysefrequenz frequency_stop = 401! 350 ! Obere Analysefrequenz ! alle wieviel Hz soll eine Analyse durchgeführt werden frequencysteps = (frequency_stop - frequency_start)/20 ! Anzahl der Frequenzanalysen Widerstand = 1000 ! Wert für elektrischen Widerstand definieren ! Dimensions of Aluminium plate length_alu = 250e-3 width_alu = 100e-3 height_alu = 4e-3 ! == Dimensions of piezo length_piezo = 0.05 width_piezo = 0.01 height_piezo = 0.002 zaehler_x=0.04 zaehler_y=0.02 /prep7 ! Materialparameter für Piezokeramik laden /INPUT,'mat_piezo_solid5','dat','C:\DOCUMENTS AND SETTINGS\My Documents\Anwendungsdaten\Ansys\',, 0 ! Materialparameter für Aluminium laden /INPUT,'mat_alu','dat','C:\DOCUMENTS AND SETTINGS\My Documents\Anwendungsdaten\Ansys\',, 0 ! Placement of Piezo offset_piezo_x = zaehler_x offset_piezo_y = zaehler_y offset_piezo_z = height_alu ! == FE Model et,1,SOLID5,3 ! piezoelectric 8node brick element: UX, UY, UZ, VOLT if KEYOPT(1) = 3 et,2,SHELL63,0 ! 3D 4 node structural shell, k(1)=0= bending and membrane, r,2,height_alu/2 ! Dicke von Aluminium für die Shells festlegen rmore,,0.0001,height_alu-0.0001 ! Abstand von midplane zu ober- und unterseite et,3,94,0 ! Circuit elemente für piezoelectricitym keyopt(1)=0, also Widerstand r,3,Widerstand ! Real constant 10 Ohm für Widerstand ! Specify the boolean operation tolerance ! btol, 1.0E-3 ! Punkte, die nicht weiter als 1 mm voneinander entfertn liegen, werden ! als ein und derselbe Punkt betrachtet ! Generate kp for piezovolume k,1,offset_piezo_x,offset_piezo_y,height_alu ! Keypoint left front k,2,offset_piezo_x+width_piezo,offset_piezo_y,height_alu ! Keypoint right front k,3,offset_piezo_x+width_piezo,offset_piezo_y+length_piezo,height_alu ! Keypoint right back k,4,offset_piezo_x,offset_piezo_y+length_piezo,height_alu ! Keypoint left back k,5,offset_piezo_x,offset_piezo_y,height_alu+height_piezo ! Keypoint left front k,6,offset_piezo_x+width_piezo,offset_piezo_y,height_alu+height_piezo ! Keypoint right front k,7,offset_piezo_x+width_piezo,offset_piezo_y+length_piezo,height_alu+height_piezo ! Keypoint right back k,8,offset_piezo_x,offset_piezo_y+length_piezo,height_alu+height_piezo ! Keypoint left back k,9,0,0,height_alu k,10,0,offset_piezo_y,height_alu k,11,0,offset_piezo_y+length_piezo,height_alu k,12,0,length_alu,height_alu k,13,offset_piezo_x,0,height_alu ! kp 1 ! kp 4 k,16,offset_piezo_x,length_alu,height_alu k,17,offset_piezo_x+width_piezo,0,height_alu ! kp 2 ! kp 3 k,20,offset_piezo_x+width_piezo,length_alu,height_alu k,21,width_alu,0,height_alu k,22,width_alu,offset_piezo_y,height_alu k,23,width_alu,offset_piezo_y+length_piezo,height_alu k,24,width_alu,length_alu,height_alu v,1,2,3,4,5,6,7,8 ! Piezovolumen erzeugen a,9,13,1,10 a,10,1,4,11 a,11,4,16,12 a,13,17,2,1 a,4,3,20,16 a,17,21,22,2 a,2,22,23,3 a,3,23,24,20 allsel /pnum,area,1 aplot aglue,all ! Doppelte keypoints zusammenlegen nummrg,kp,1e-6,1e-6 ! MESHEN vsel,all vsel,s,loc,z,offset_piezo_z,offset_piezo_z+height_piezo vatt,1,1,1 ! Dem Volumen Material 1 und Elementtyp 1 zuordnen allsel asel,s,loc,z,0,height_alu aatt,2,2,2 ! Dem Volumen Material 2 und Elementtyp 2 zuordnen allsel aplot,all allsel mshkey, 1 ! use mapped meshing mshape, 0,3D ! hexaeder-elemente in 3d nehmen ESIZE,0.005 ! Wenig Elemente erzeugen real,1 type,1 mat,1 vsel,all vsel,s,loc,z,offset_piezo_z,offset_piezo_z+height_piezo vmesh,all ! piezo solid allsel,all asel,s,area,,1 asel,a,area,,10 asel,a,area,,11 asel,a,area,,8 asel,a,area,,13 real,2 type,2 mat,2 amesh,all ! aluplatte allsel asel,s,area,,7 asel,a,area,,9 asel,a,area,,12 asel,a,area,,14 real,2 type,2 mat,2 amesh,all ! aluplatte allsel !================================================================ ! Erzeugen von Knoten für Widerstand n,90000,-0.1,0,0 n,90001,-0.1,0.1,0 type, 3 ! Pointer auf 3=Circuit elements setzen !mat, 3 ! Material pointer setzen real, 3 ! Real constant set pointer ! e,90001,90000 ! Erzeuge Element vom Typ 3 aus den beiden Knoten !============================================================== ! Oberfläche für obere Elektrode selektieren nsel,s,loc,z,(offset_piezo_z+height_piezo),(offset_piezo_z+height_piezo) ! Alle Knoten auf der Oberfläche der Keramik selektieren !d,all,volt,100 nsel,a,node,,90000 cp,1,volt,all *get,n_supply,node,0,num,min ! Niedrigste Knotennummer des definierten knoten-sets (cp) suchen allsel ! Oberfläche für untere Elektrode selektieren nsel,s,loc,z,offset_piezo_z,offset_piezo_z nsel,r,loc,x,offset_piezo_x,offset_piezo_x+width_piezo nsel,r,loc,y,offset_piezo_y,offset_piezo_y+length_piezo !d,all,volt,0 nsel,a,node,,90001 cp,2,volt,all ! Alle Knoten zu einem set nr. 2 zusammenfassen *get,n_ground,node,0,num,min allsel ! Mechnical BCs: clamped at y=0 nsel,s,loc,y,0,0 nsel,r,loc,x,0,width_alu nsel,r,loc,z,height_alu,height_alu d,all,ux,0 d,all,uy,0 d,all,uz,0 d,all,rotx,0 d,all,roty,0 d,all,rotz,0 allsel finish eplot,all /solu eqslv,sparse ! Sparse solver verwenden nsel,s,loc,z,height_alu/2,height_alu ! Define Node for acting force nsel,r,loc,x,1.0*width_alu/2,1.0*width_alu/2 nsel,r,loc,y,1.0*length_alu,1.0*length_alu *get,fnode,node,,num,min allsel f,fnode,fz,-1 ! An f node eine sinuskraft von 1 Newton ! in negative z-Richtung aufbringen antype,harmic ! harmonische Analyse starten hropt, full ! Specifies harmonic analysis options, full=alles harfrq,frequency_start,frequency_stop ! Defines the frequency range in the harmonic response analysis nsubst,frequencysteps ! Specifies the number of substeps to be taken this load step outres,all,all ! Controls the solution data written to the database outpr,all,all ! Controls the solution printout kbc,1 ! Specifies stepped or ramped loading within a load step ! 1=step changed ! mp,dmprat,2,0.02 ! damping ratio allsel solve finish /POST1 allsel