Hallo zusammen,
Ich habe ein neues Problem bei dem ich nicht weiter komme und zwar geht es um die richtige Definition von Kontakten. Im Anhang sind einige Bilder zur Veranschaulichung.
Ich versuche zwischen Wuerfel 1 und Wuerfel 8 eine Kontaktdefintion in der XY-Ebene zu erzeugen, die die Wärme von Wuerfel 8 in Wuerfel 1 zulässt, diese klappt aber während der Berechnung nicht so wie ich es mir vorstelle.
Es handelt dabei um einen großen Wuerfel, der in 8 kleinen Wuerfel aufgeteilt ist. Zwischen Wuerfel 1,2 und 4 scheint die Wärmeübertragung zu funktionieren (zumindest sieht es so aus während der Berechnung). Wenn Ansys aber in der obere Schicht ist, dann gibt es überhaupt keine Waermeuebertragung nach unten. Es musst also in der Definition von meinen Kontakt in der XY-Ebene liegen aber ich finde den Fehler nicht.
Mein Code fuer die Kontaktdefinion sieht wie folgt aus:
!!CODE FUER DIE ERSTELLUNG VON KONTAKT UND TARGETFLAECHEN
!!INPUT_CONTACT_TARGET XY
!Bestimmung letztes Elemententyp und Elementennummer
ALLSEL
!UMRECHNUNG
Zellengroesse = (Zellengroesse2/Faktorinkr) !Zellengroesse2 = 1 Faktorinkr = 1000
Xactlage = (Xactlage/Faktorinkr) !Xactlage = Aktuelle Lage in X fuer Wuerfel 1 ist es 0
Yactlage = (Yactlage/Faktorinkr) !Yactlage = Aktuelle Lage in Y fuer Wuerfel 1 ist es 0
Zactlage = (Zactlage/Faktorinkr) !Zactlage = Aktuelle Lage in z fuer Wuerfel 1 ist es 0
EndKnotenX = (EndKnotenX/Faktorinkr) !EndknotenX = 1 (=Zellengroesse)
EndKnotenY = (EndKnotenY/Faktorinkr) !EndknotenY = 1 (=Zellengroesse)
EndKnotenZ = (EndKnotenZ/Faktorinkr) !EndknotenZ = 1 (=Zellengroesse)
*GET,Enum3,ELEM,0,COUNT !Letzte Elementzahl
ConNo = Enum3 +1 !Kontaktzahl
TarNo = ConNo +1 !Targetzahl
ConNo2 = TarNo +1
TarNo2 = ConNo2 +1
!Name selection fuer die Konvektionsknoten in XY
!Herauslesen der notwendigen 8 Knoten fuer XY-Flaechen
CMSEL,S,Wuerfel%iZahl% !izahl ist ein laufendes parameter in diesem Fall izahl=1
NSLE
NSEL,R,LOC,X,EndKnotenX,EndKnotenX
NSEL,R,LOC,Y,EndKnotenY,EndKnotenY
NSEL,R,LOC,Z,EndKnotenZ,EndKnotenZ
*GET,noI,NODE,0,NUM,MIN
CMSEL,S,Wuerfel%ELEnum% !ELEnum ist der Wert der oben liegende Wuerfel also hier ist es 8
NSLE
NSEL,R,LOC,X,EndKnotenX,EndKnotenX
NSEL,R,LOC,Y,EndKnotenY,EndKnotenY
NSEL,R,LOC,Z,EndKnotenZ,EndKnotenZ
*GET,noI2,NODE,0,NUM,MAX
CMSEL,S,Wuerfel%iZahl%
NSLE
NSEL,R,LOC,X,Xactlage,Xactlage
NSEL,R,LOC,Y,EndKnotenY,EndKnotenY
NSEL,R,LOC,Z,EndKnotenZ,EndKnotenZ
*GET,noJ,NODE,0,NUM,MIN
CMSEL,S,Wuerfel%ELEnum%
NSLE
NSEL,R,LOC,X,Xactlage,Xactlage
NSEL,R,LOC,Y,EndKnotenY,EndKnotenY
NSEL,R,LOC,Z,EndKnotenZ,EndKnotenZ
*GET,noJ2,NODE,0,NUM,MAX
CMSEL,S,Wuerfel%iZahl%
NSLE
NSEL,R,LOC,X,Xactlage,Xactlage
NSEL,R,LOC,Y,Yactlage,Yactlage
NSEL,R,LOC,Z,EndKnotenZ,EndKnotenZ
*GET,noK,NODE,0,NUM,MIN
CMSEL,S,Wuerfel%ELEnum%
NSLE
NSEL,R,LOC,X,Xactlage,Xactlage
NSEL,R,LOC,Y,Yactlage,Yactlage
NSEL,R,LOC,Z,EndKnotenZ,EndKnotenZ
*GET,noK2,NODE,0,NUM,MAX
CMSEL,S,Wuerfel%iZahl%
NSLE
NSEL,R,LOC,X,EndKnotenX,EndKnotenX
NSEL,R,LOC,Y,Yactlage,Yactlage
NSEL,R,LOC,Z,EndKnotenZ,EndKnotenZ
*GET,noL,NODE,0,NUM,MIN
CMSEL,S,Wuerfel%ELEnum%
NSLE
NSEL,R,LOC,X,EndKnotenX,EndKnotenX
NSEL,R,LOC,Y,Yactlage,Yactlage
NSEL,R,LOC,Z,EndKnotenZ,EndKnotenZ
*GET,noL2,NODE,0,NUM,MAX
CMSEL,S,Wuerfel%iZahl%
NSLE
NSEL,R,LOC,X,(Xactlage+Zellengroesse/2),(Xactlage+Zellengroesse/2) ! Zellengroesse ist Zellengroesse2/Faktorinkr = 0.001
NSEL,R,LOC,Y,EndKnotenY,EndKnotenY
NSEL,R,LOC,Z,EndKnotenZ,EndKnotenZ
*GET,noM,NODE,0,NUM,MIN
CMSEL,S,Wuerfel%ELEnum%
NSLE
NSEL,R,LOC,X,(Xactlage+Zellengroesse/2),(Xactlage+Zellengroesse/2)
NSEL,R,LOC,Y,EndKnotenY,EndKnotenY
NSEL,R,LOC,Z,EndKnotenZ,EndKnotenZ
*GET,noM2,NODE,0,NUM,MAX
CMSEL,S,Wuerfel%iZahl%
NSLE
NSEL,R,LOC,X,Xactlage,Xactlage
NSEL,R,LOC,Y,(Yactlage+Zellengroesse/2),(Yactlage+Zellengroesse/2)
NSEL,R,LOC,Z,EndKnotenZ,EndKnotenZ
*GET,noN,NODE,0,NUM,MIN
CMSEL,S,Wuerfel%ELEnum%
NSLE
NSEL,R,LOC,X,Xactlage,Xactlage
NSEL,R,LOC,Y,(Yactlage+Zellengroesse/2),(Yactlage+Zellengroesse/2)
NSEL,R,LOC,Z,EndKnotenZ,EndKnotenZ
*GET,noN2,NODE,0,NUM,MAX
CMSEL,S,Wuerfel%iZahl%
NSLE
NSEL,R,LOC,X,(Xactlage+Zellengroesse/2),(Xactlage+Zellengroesse/2)
NSEL,R,LOC,Y,Yactlage,Yactlage
NSEL,R,LOC,Z,EndKnotenZ,EndKnotenZ
*GET,noO,NODE,0,NUM,MIN
CMSEL,S,Wuerfel%ELEnum%
NSLE
NSEL,R,LOC,X,(Xactlage+Zellengroesse/2),(Xactlage+Zellengroesse/2)
NSEL,R,LOC,Y,Yactlage,Yactlage
NSEL,R,LOC,Z,EndKnotenZ,EndKnotenZ
*GET,noO2,NODE,0,NUM,MAX
CMSEL,S,Wuerfel%iZahl%
NSLE
NSEL,R,LOC,X,EndKnotenX,EndKnotenX
NSEL,R,LOC,Y,(Yactlage+Zellengroesse/2),(Yactlage+Zellengroesse/2)
NSEL,R,LOC,Z,EndKnotenZ,EndKnotenZ
*GET,noP,NODE,0,NUM,MIN
CMSEL,S,Wuerfel%ELEnum%
NSLE
NSEL,R,LOC,X,EndKnotenX,EndKnotenX
NSEL,R,LOC,Y,(Yactlage+Zellengroesse/2),(Yactlage+Zellengroesse/2)
NSEL,R,LOC,Z,EndKnotenZ,EndKnotenZ
*GET,noP2,NODE,0,NUM,MAX
!Element typ 170 & 174 erzeugen
*set,tid,TarNo
*set,cid,ConNo
r,tid
r,cid
et,tid,170
et,cid,174
!1. Element
TYPE,TarNo
SECNUM,TarNo
REAL,TarNo
MAT,TarNo
TSHAP,QUA8
E,noI,noJ,noK,noL,noM,noN,noO,noP !!!i2,j2
Enum4 = Enum4+1
!2.Element
Type,ConNo
SECNUM,ConNo
REAL,ConNo
MAT,ConNo
E,noI,noJ,noK,noL,noM,noN,noO,noP !!i2,j2
Enum4 = Enum4+1
!3.Element
Type,ConNo
SECNUM,ConNo
REAL,TarNo
MAT,ConNo
E,noI2,noJ2,noK2,noL2,noM2,noN2,noO2,noP2
Enum4 = Enum4+1
!4.Element
TYPE,TarNo
SECNUM,TarNo
REAL,ConNo
MAT,TarNo
TSHAP,QUA8
E,noI2,noJ2,noK2,noL2,noM2,noN2,noO2,noP2
Enum4 = Enum4+1
!ELEMENTEIGENSCHAFTEN DEFINIEREN
keyo,cid,8,2 ! auto create asymmetric contact (from Program Controlled setting)
keyo,cid,10,2 ! adjust contact stiffness each NR iteration (from Program Controlled setting)
keyo,cid,12,5 ! bonded always
keyo,cid,2,0 ! augmented Lagrange (from Program Controlled setting)
keyo,cid,4,0 ! on Gauss point (from Program Controlled setting)
keyo,cid,9,1 ! ignore initial gaps/penetration
keyo,cid,7,0 ! No Prediction
rmod,tid,3,10. ! FKN
rmod,tid,5,0. ! ICONT
rmod,tid,6,0. ! PINB
rmod,tid,10,0. ! CNOF
rmod,tid,12,0. ! FKT
rmod,tid,36,120 ! WB DSID
rmod,cid,3,10. ! FKN
rmod,cid,5,0. ! ICONT
rmod,cid,6,0. ! PINB
rmod,cid,10,0. ! CNOF
rmod,cid,12,0. ! FKT
rmod,cid,36,120 ! WB DSID
*set,_maxkxx,1605000.
rmod,cid,14,_maxkxx/_ASMDIAG ! TCC, Divide by Length since Traction Based
rmod,tid,14,_maxkxx/_ASMDIAG ! TCC, Divide by Length since Traction Based
keyo,cid,1,2 ! Pure thermal contact
SSXY%iZahl%=cid
TTXY%iZahl%=tid
------------------
Student
Technische Universität München
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP