ammarkh95 / abaqus_pdalac Goto Github PK
View Code? Open in Web Editor NEWDevelopment of the Failure Criteria for Composites using ABAQUS Subroutines (UMAT/VUMAT)
Development of the Failure Criteria for Composites using ABAQUS Subroutines (UMAT/VUMAT)
Hi, Im working on the subject of varibale stfiness composite in a way that theta for each x coordinate of a point differs (2 * (T1 - T1) / a) * np.abs(x - a / 2) + T0, the problem i have is i think the code i have can not capture the layer properly and what i see is somehow like a constant stfinees composite with same property, i attach my code here , i would be truly appreciate if someone can see it and tell me if i did it correct or there is a problem in it basically,
SUBROUTINE UMAT(STRESS,STATEV,DDSDDE,SSE,SPD,SCD,
1 RPL,DDSDDT,DRPLDE,DRPLDT,
2 STRAN,DSTRAN,TIME,DTIME,TEMP,DTEMP,PREDEF,DPRED,CMNAME,
3 NDI,NSHR,NTENS,NSTATV,PROPS,NPROPS,COORDS,DROT,PNEWDT,
4 CELENT,DFGRD0,DFGRD1,NOEL,NPT,LAYER,KSPT,JSTEP,KINC)
INCLUDE 'ABA_PARAM.INC'
CHARACTER*80 CMNAME
DIMENSION STRESS(NTENS),STATEV(NSTATV),
1 DDSDDE(NTENS,NTENS),DDSDDT(NTENS),DRPLDE(NTENS),
2 STRAN(NTENS),DSTRAN(NTENS),TIME(2),PREDEF(1),DPRED(1),
3 PROPS(NPROPS),COORDS(3),DROT(3,3),DFGRD0(3,3),DFGRD1(3,3),
4 JSTEP(4),UPSTRAN(NTENS),CD(NTENS,NTENS),Dgrd(6),dmg(4),Xphi(6),n(6)
C USER DEFINED VARAIBLES IN UMAT SUBROUTINE
PARAMETER(ZERO = 0.0D0, ONE=1.0D0, TWO=2.0D0, PI = 3.141592653589793D0)
INTEGER fflags(2)
REAL(8) :: a, theta, theta_constant, T0, T90, delta, V21, V31, V32
REAL(8) :: Q11, Q12, Q13, Q22, Q23, Q33, Q44, Q55, Q66
REAL(8) :: cos_theta, sin_theta, cos2, sin2, cos4, sin4
REAL(8) :: sin_cos3, cos_sin3
REAL(8) :: z_coord
REAL(8) :: layer_thickness, layer1_max, layer2_max, layer3_max, layer4_max
layer_thickness = 0.025D0
layer1_max = layer_thickness
layer2_max = 2.0D0 * layer_thickness
layer3_max = 3.0D0 * layer_thickness
layer4_max = 4.0D0 * layer_thickness
C=========================================================================
C ELASTIC PROPERTIES
E1=PROPS(1)
E2=PROPS(2)
E3=PROPS(3)
V12=PROPS(4)
V13=PROPS(5)
V23=PROPS(6)
G12=PROPS(7)
G13=PROPS(8)
G23=PROPS(9)
C=========================================================================
C BUILD CONSTITUTIVE TENSOR
DO I=1,NTENS
DO J=1,NTENS
DDSDDE(I,J)=0.0D0
ENDDO
ENDDO
V21 = V12 * E2 / E1
V31 = V13 * E3 / E1
V32 = V23 * E3 / E2
delta = (1.0D0 - V12 * V21 - V23 * V32 - V13 * V31 - 2.0D0 * V21 * V32 * V13) / (E1 * E2 * E3)
Q11 = (1.0D0 - V23 * V32) / (E2 * E3 * delta)
Q12 = (V21 + V23 * V31) / (E2 * E3 * delta)
Q13 = (V31 + V21 * V32) / (E2 * E3 * delta)
Q22 = (1.0D0 - V13 * V31) / (E1 * E3 * delta)
Q23 = (V32 + V12 * V31) / (E1 * E3 * delta)
Q33 = (1.0D0 - V12 * V21) / (E1 * E2 * delta)
Q44 = G23
Q55 = G13
Q66 = G12
a = 1.0D0
T0 = 0.0D0 * (PI / 180.0D0)
T90 = 90.0D0 * (PI / 180.0D0)
z_coord = COORDS(3)
IF (z_coord < layer1_max) THEN
theta_constant = (2.0D0 * (T90 - T0) / a) * DABS(z_coord - a/2.0D0) + T0
theta = theta_constant
ELSE IF (z_coord < layer2_max) THEN
theta_constant = (2.0D0 * (T90 - T0) / a) * DABS(z_coord - a/2.0D0) + T0
theta = -theta_constant
ELSE IF (z_coord < layer3_max) THEN
theta_constant = (2.0D0 * (T90 - T0) / a) * DABS(z_coord) + T0
theta = theta_constant
ELSE IF (z_coord < layer4_max) THEN
theta_constant = (2.0D0 * (T90 - T0) / a) * DABS(z_coord) + T0
theta = -theta_constant
END IF
cos_theta = COS(theta)
sin_theta = SIN(theta)
cos2 = cos_theta * cos_theta
sin2 = sin_theta * sin_theta
cos4 = cos2 * cos2
sin4 = sin2 * sin2
sin_cos3 = sin_theta * cos2 * cos_theta
cos_sin3 = cos_theta * sin2 * sin_theta
DDSDDE(1, 1) = Q11 * cos4 + Q22 * sin4 + (2.0D0 * (sin2 * cos2) * (Q12 + 2.0D0 * Q66))
DDSDDE(1, 2) = ((Q11 + Q22 - 4.0D0 * Q66) * (sin2 * cos2)) + (Q12 * (sin4 + cos4))
DDSDDE(1, 3) = Q13 * cos2 + Q23 * sin2
DDSDDE(1, 6) = (Q11 - Q12 - 2.0D0 * Q66) * sin_cos3 - (Q22 - Q12 - 2.0D0 * Q66) * cos_sin3
DDSDDE(2, 1) = DDSDDE(1, 2)
DDSDDE(2, 2) = Q11 * sin4 + (2.0D0 * (Q12 + 2.0D0 * Q66)) * (sin2 * cos2) + Q22 * cos4
DDSDDE(2, 3) = Q13 * sin2 + Q23 * cos2
DDSDDE(2, 6) = (Q11 - Q12 - 2.0D0 * Q66) * cos_sin3 - (Q22 - Q12 - 2.0D0 * Q66) * sin_cos3
DDSDDE(3, 1) = DDSDDE(1, 3)
DDSDDE(3, 2) = DDSDDE(2, 3)
DDSDDE(3, 3) = Q33
DDSDDE(3, 6) = (Q13 - Q23) * cos_theta * sin_theta
DDSDDE(4, 4) = Q44 * cos2 + Q55 * sin2
DDSDDE(4, 5) = (Q55 - Q44) * cos_theta * sin_theta
DDSDDE(5, 4) = DDSDDE(4, 5)
DDSDDE(5, 5) = Q55 * cos2 + Q44 * sin2
DDSDDE(6, 1) = DDSDDE(1, 6)
DDSDDE(6, 2) = DDSDDE(2, 6)
DDSDDE(6, 3) = DDSDDE(3, 6)
DDSDDE(6, 6) = (Q11 - 2.0D0 * Q12 + Q22) * (sin2 * cos2) + Q66 * ((sin2 - cos2)*(sin2 - cos2))
C=========================================================================
C COMPUTE THE STRESSES
DO I=1,NTENS
DO J=1, NTENS
STRESS(I)=STRESS(I)+DDSDDE(I,J)*DSTRAN(J)
END DO
END DO
C=========================================================================
STATEV (1) = LAYER
STATEV (2) = COORDS (1)
STATEV (3) = COORDS (2)
STATEV (4) = COORDS (3)
RETURN
END
You are using in this chapter 55 variable, but your project has 58 variables
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.