Professional Documents
Culture Documents
Triangular Element Program
Triangular Element Program
** Geometry:
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
NEL : No of Elements
NNP : No of Nodal Points
NMAT : No of Material Type
NBC : No of Boundary Conditions
NLP : No of Loaded Points
THK : Thickness of Elements
E : Young's Modulus
mu : Poisson's Ratio
Preparation of INPUT File:
A) Read NEL, NNP, NMAT, NBC, NLP
B) for i = 1 to NNP
Read XORD[i], YORD[i]
next i
C) for i = 1 to NEL
for j = 1 to 3
Read NP[i][j]
next j
next i
D) for i = 1 to NEL
Read MTYPE[i]
next i
E) READ THK
F) for i = 1 to NMAT
Read E[i], POI[i]
next i
G) for i = 1 to NLP
Read LP[i], XLoad[i], YLoad[i]
next i
H) for i = 1 to NBC
Read NPB[i], NFIX[i], PDISP[i]
next i
** Band Width Calculations:
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
MDIF = 1
for i = 1 to NEL
for j = 2 to 3
NDIF = ABS(NP[i][1] ‐ NP[i][j])
if(NDIF > MDIF)
MDIF = NDIF
end if
next j
NDIF = ABS(NP[i][2] = NP[i][3])
if(NDIF > MDIF)
MDIF = NDIF
end if
next i
NBAND = 2 * (MDIF + 1)
NT = 2 * NNP
** Initialize Banded Stiffness Matrix & Load Vector:
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
Banded Global Stiffness Matrix : A
Global Load Vector : B
for i = 1 to NT
B[i] = 0
for j = 1 to NBAND
A[i][j] = 0
next j
next i
** Assemble Load Vector:
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
for i = 1 to NLP
i1 = 2 * LP[i] ‐ 1
i2 = i1 + 1
B[i1] = XLoad[i]
B[i2] = YLoad[i]
next i
** Compute & Assemble Stiffness Matrix:
‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐‐
for n = 1 to NEL
LM[1] = NP[n][1] * 2 ‐ 1
LM[2] = LM[1] + 1
LM[3] = NP[n][2] * 2 ‐ 1
LM[4] = LM[3] + 1
LM[5] = NP[n][3] * 2 ‐ 1
LM[6] = LM[5] + 1
CALL STIFF(n)
for i = 1 to 6
ii = LM[i]
for j = 1 to 6
jj = LM[j]
if(jj >= ii)
jj = jj ‐ ii + 1
A[ii][jj] = A[ii][jj] + S[i][j]
end if
next j
next i
next n