Hi,
Ich möchte mit der SUBROUTINE USDFLD die Dehnungen meiner Simulation (hyperelastisches Material mit Ogden n=3) in Solution Depended State Variables umschreiben und dann über den Depvar Befehl diese bei einer bestimmten Dehnung aus dem Modell löschen. Ich habe leider keinerlei Erfahrung mit dem schreiben der Subroutine und hoffe auf eure Hilfe. Ich habe mal eine so geschrieben wie ich es mir gedacht habe. ABAQUS rechnet auch alles durch, aber ich bekomme dann für die SDVs keine Werte angezeigt. Zu dem Versagenskriterium bin ich noch gar nicht gekommen. Will dieses aber als eine IF Schleife in der SUBROUTINE realisieren. Auch hierfür bin ich für Tipps dankbar !!
INPUT DATEI:
*Heading
** Job name: test Model name: Model-1
** Generated by: Abaqus/CAE 6.14-2
*Preprint, echo=NO, model=NO, history=NO, contact=NO
**
** PARTS
**
*Part, name=Block
*Node
1, -35., 20.
2, 15., 20.
3, 15., -19.
4, 10., -24.
5, -35., -24.
6, 10., 20.
7, 5., 20.
8, 0., 20.
9, -5., 20.
10, -10., 20.
11, -15., 20.
12, -20., 20.
13, -25., 20.
14, -30., 20.
15, 15., -14.125
16, 15., -9.25
17, 15., -4.375
18, 15., 0.5
19, 15., 5.375
20, 15., 10.25
21, 15., 15.125
22, 14.9384413, -19.7821732
23, 14.7552824, -20.5450859
24, 14.4550323, -21.2699528
25, 14.045085, -21.9389267
26, 13.5355339, -22.5355339
27, 12.9389267, -23.0450859
28, 12.2699528, -23.4550323
29, 11.545085, -23.7552834
30, 10.7821722, -23.9384422
31, -30., -24.
32, -25., -24.
33, -20., -24.
34, -15., -24.
35, -10., -24.
36, -5., -24.
37, 0., -24.
38, 5., -24.
39, -35., 15.1111107
40, -35., 10.2222223
41, -35., 5.33333349
42, -35., 0.444444448
43, -35., -4.44444466
44, -35., -9.33333302
45, -35., -14.2222223
46, -35., -19.1111107
*Element, type=R2D2
1, 2, 6
2, 6, 7
3, 7, 8
4, 8, 9
5, 9, 10
6, 10, 11
7, 11, 12
8, 12, 13
9, 13, 14
10, 14, 1
11, 3, 15
12, 15, 16
13, 16, 17
14, 17, 18
15, 18, 19
16, 19, 20
17, 20, 21
18, 21, 2
19, 3, 22
20, 22, 23
21, 23, 24
22, 24, 25
23, 25, 26
24, 26, 27
25, 27, 28
26, 28, 29
27, 29, 30
28, 30, 4
29, 5, 31
30, 31, 32
31, 32, 33
32, 33, 34
33, 34, 35
34, 35, 36
35, 36, 37
36, 37, 38
37, 38, 4
38, 1, 39
39, 39, 40
40, 40, 41
41, 41, 42
42, 42, 43
43, 43, 44
44, 44, 45
45, 45, 46
46, 46, 5
*End Part
**
*Part, name=Dichtung
*Node
1, -22.3970013, 9.
2, -22.3970013, 1.
3, -12.3999996, 1.
.
.
.
.
542, -23.0477524, 2.14880943
543, -23.0477524, 1.76587307
544, -23.0477524, 1.38293648
545, -25.5518169, 8.55095482
546, -25.617672, 8.3052702
547, -25.3056335, 8.61737156
548, -25.3080139, 8.30792236
*Element, type=CPS4R
1, 1, 10, 131, 81
.
.
.
.
.
.
.
497, 546, 545, 129, 130
498, 547, 548, 121, 120
499, 130, 6, 83, 546
500, 9, 128, 547, 120
501, 5, 121, 548, 82
502, 546, 83, 82, 548
503, 545, 546, 548, 547
*Nset, nset=Set-1, generate
1, 548, 1
*Elset, elset=Set-1, generate
1, 503, 1
** Section: Section-1
*Solid Section, elset=Set-1, controls=EC-1, material=Kautschuk
,
*End Part
**
*Part, name=Nut
*Node
1, -10., 10.
2, 40., 10.
3, 40., -34.
4, -10., -34.
5, -10., -3.
6, 0., -3.
7, 0., 5.
8, -10., 5.
9, 30., 10.
10, 20., 10.
11, 10., 10.
12, 0., 10.
13, 40., -23.
14, 40., -12.
15, 40., -1.
16, 0., -34.
17, 10., -34.
18, 20., -34.
19, 30., -34.
20, -10., -13.333333
21, -10., -23.666666
*Element, type=R2D2
1, 2, 9
2, 9, 10
3, 10, 11
4, 11, 12
5, 12, 1
6, 3, 13
7, 13, 14
8, 14, 15
9, 15, 2
10, 4, 16
11, 16, 17
12, 17, 18
13, 18, 19
14, 19, 3
15, 5, 20
16, 20, 21
17, 21, 4
18, 6, 5
19, 7, 6
20, 8, 7
21, 1, 8
*End Part
**
**
** ASSEMBLY
**
*Assembly, name=Assembly
**
*Instance, name=Nut-1, part=Nut
*End Instance
**
*Instance, name=Dichtung-1, part=Dichtung
12.4, -4., 0.
*End Instance
**
*Instance, name=Block-1, part=Block
-28.5, 34., 0.
*End Instance
**
*Node
1, -41., 10., 0.
*Node
2, 15., -34., 0.
*Nset, nset=Set-5, instance=Dichtung-1
2, 3, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43
44, 45
*Elset, elset=Set-5, instance=Dichtung-1, generate
21, 357, 21
*Nset, nset=Set-6, instance=Dichtung-1
3, 4, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59
60, 61, 62, 63, 64, 65
*Elset, elset=Set-6, instance=Dichtung-1, generate
337, 357, 1
*Nset, nset=Set-7, instance=Dichtung-1
1, 4, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79
80, 81
*Elset, elset=Set-7, instance=Dichtung-1, generate
1, 337, 21
*Nset, nset=Set-8
1,
*Nset, nset=Set-9
1,
*Nset, nset=b_Set-1, instance=Block-1, generate
1, 46, 1
*Elset, elset=b_Set-1, instance=Block-1, generate
1, 46, 1
*Nset, nset=b_Set-3, instance=Nut-1, generate
1, 21, 1
*Elset, elset=b_Set-3, instance=Nut-1, generate
1, 21, 1
*Nset, nset=_PickedSet15, internal
1,
*Nset, nset=_PickedSet17, internal
2,
*Elset, elset=_m_Surf-1_SPOS, internal, instance=Block-1
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
17, 18, 29, 30, 31, 32, 33, 34, 35, 36, 37
*Elset, elset=_m_Surf-1_SNEG, internal, instance=Block-1, generate
19, 28, 1
*Surface, type=ELEMENT, name=m_Surf-1
_m_Surf-1_SPOS, SPOS
_m_Surf-1_SNEG, SNEG
*Elset, elset=_m_Surf-3_SPOS, internal, instance=Block-1, generate
19, 28, 1
*Elset, elset=_m_Surf-3_SNEG, internal, instance=Block-1
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16
17, 18, 29, 30, 31, 32, 33, 34, 35, 36, 37
*Surface, type=ELEMENT, name=m_Surf-3
_m_Surf-3_SPOS, SPOS
_m_Surf-3_SNEG, SNEG
*Elset, elset=_s_Surf-1_S2, internal, instance=Dichtung-1
360, 363, 366, 369, 372, 375, 378, 381, 384, 387, 390, 393, 396, 399, 402, 405
408, 411, 432, 453, 474, 495
*Elset, elset=_s_Surf-1_S3, internal, instance=Dichtung-1
409, 410, 411, 497
*Elset, elset=_s_Surf-1_S4, internal, instance=Dichtung-1, generate
412, 475, 21
*Elset, elset=_s_Surf-1_S1, internal, instance=Dichtung-1
496, 499, 500
*Surface, type=ELEMENT, name=s_Surf-1
_s_Surf-1_S2, S2
_s_Surf-1_S3, S3
_s_Surf-1_S4, S4
_s_Surf-1_S1, S1
** Constraint: Constraint-1
*Rigid Body, ref node=_PickedSet15, elset=b_Set-1
** Constraint: Constraint-2
*Rigid Body, ref node=_PickedSet17, elset=b_Set-3
*End Assembly
**
** ELEMENT CONTROLS
**
*Section Controls, name=EC-1, ELEMENT DELETION=YES
1., 1., 1.
**
** MATERIALS
**
*Material, name=Kautschuk
*Depvar
3,
*Hyperelastic, n=3, ogden
-15.749, 1.285, 8.05, 1.612, 7.92, 0.92, 0., 0.
0.,
*Mullins Effect, TEST DATA INPUT
*Uniaxial Test Data
0.00644, 0.0381476
0.00915, 0.0539104
0.01186, 0.0695049
.
.
.
.
0.01641, 0.0953148
0.01371, 0.0800549
0.011, 0.0645742
0.00829, 0.0489266
0.00559, 0.0331685
0.00288, 0.0171809
0.00018, 0.00107961
*User Defined Field
**
** INTERACTION PROPERTIES
**
*Surface Interaction, name=IntProp-1
1.,
*Friction
0.,
*Surface Behavior, pressure-overclosure=HARD
**
** BOUNDARY CONDITIONS
**
** Name: BC-1 Type: Displacement/Rotation
*Boundary
Set-5, 2, 2
** Name: BC-2 Type: Displacement/Rotation
*Boundary
Set-6, 1, 1
** Name: BC-3 Type: Displacement/Rotation
*Boundary
Set-7, 2, 2
**
** INTERACTIONS
**
** Interaction: Int-1
*Contact Pair, interaction=IntProp-1, type=SURFACE TO SURFACE, adjust=0.0
s_Surf-1, m_Surf-3
** ----------------------------------------------------------------
**
** STEP: WZGrunter
**
*Step, name=WZGrunter, nlgeom=YES, inc=1000000
*Static
1., 132., 1.32e-50, 1.
**
** BOUNDARY CONDITIONS
**
** Name: BC-4 Type: Displacement/Rotation
*Boundary
Set-8, 1, 1
Set-8, 2, 2, -44.
Set-8, 6, 6
**
** OUTPUT REQUESTS
**
*Restart, write, frequency=0
**
** FIELD OUTPUT: F-Output-1
**
*Output, field
*Node Output
CF, RF, U
*Element Output, directions=YES
FV, LE, PE, PEEQ, PEMAG, S, SDV
*Contact Output
CDISP, CSTRESS
**
** HISTORY OUTPUT: H-Output-1
**
*Output, history, variable=PRESELECT
*End Step
** ----------------------------------------------------------------
**
** STEP: WZGhoch
**
*Step, name=WZGhoch, nlgeom=YES, inc=100000000
*Static
1., 132., 1.32e-50, 1.
**
** BOUNDARY CONDITIONS
**
** Name: BC-1 Type: Displacement/Rotation
*Boundary, op=NEW
Set-5, 2, 2
** Name: BC-2 Type: Displacement/Rotation
*Boundary, op=NEW
Set-6, 1, 1
** Name: BC-3 Type: Displacement/Rotation
*Boundary, op=NEW
Set-7, 2, 2
** Name: BC-4 Type: Displacement/Rotation
*Boundary, op=NEW
** Name: BC-5 Type: Displacement/Rotation
*Boundary, op=NEW
Set-9, 1, 1
Set-9, 2, 2
Set-9, 6, 6
**
** OUTPUT REQUESTS
**
*Restart, write, frequency=0
**
** FIELD OUTPUT: F-Output-1
**
*Output, field
*Node Output
CF, RF, U
*Element Output, directions=YES
FV, LE, PE, PEEQ, PEMAG, S, SDV
*Contact Output
CDISP, CSTRESS
**
** HISTORY OUTPUT: H-Output-1
**
*Output, history, variable=PRESELECT
*End Step
SUBROUTINE:
SUBROUTINE USDFLD(FIELD,STATEV,PNEWDT,DIRECT,T,CELENT,
1 TIME,DTIME,CMNAME,ORNAME,NFIELD,NSTATV,NOEL,NPT,LAYER,
2 KSPT,KSTEP,KINC,NDI,NSHR,COORD,JMAC,JMATYP,MATLAYO,
3 LACCFLA)
C
INCLUDE 'ABA_PARAM.INC'
C
CHARACTER*80 CMNAME,ORNAME
CHARACTER*3 FLGRAY(15)
DIMENSION FIELD(NFIELD),STATEV(NSTATV),DIRECT(3,3),
1 T(3,3),TIME(2)
DIMENSION ARRAY(15),JARRAY(15),JMAC(*),JMATYP(*),
1 COORD(*)
C
CALL GETVRM('E',ARRAY,JARRAY,FLGRAY,JRCD,
$ JMAC,JMATYP,MATLAYO, LACCFLG)
E1=ARRAY(1)
E2=ARRAY(2)
E3=ARRAY(4)
C
C use the strain as field variable
C
FIELD(1)=E1
FIELD(2)=E2
FIELD(3)=E3
C
C Store the strain as a solution dependent state variable
C
STATEV(1)=FIELD(1)
STATEV(2)=FIELD(2)
STATEV(3)=FIELD(3)
C
RETURN
END
DANKE FÜR DIE HILFE !!
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP