Untitled

 avatar
unknown
plain_text
a month ago
1.7 kB
3
Indexable
! ========================================================
! DYNAMIC VDW COHESIVE ZONE (FINAL - SYNTAX FIXED)
! ========================================================

*DIM, GAP_ARR, ARRAY, 101
*DIM, NORM_ARR, ARRAY, 101
*DIM, SHEAR_ARR, ARRAY, 101

A_HAM = 1.0E-19      
MY_PI = 3.14159265
D_MIN = 1.0E-13
D_MAX = 5.0E-5

NORMAL_MULT = 100000.0 
SHEAR_MULT = 100000.0 

! Calculate Max Pressure at the 7nm boundary
D_MIN_CUBE = D_MIN * D_MIN * D_MIN
DENOM_MAX = 6 * MY_PI * D_MIN_CUBE
MAX_PRESS = A_HAM / DENOM_MAX

! Fill Row 1 & 2 with MAX_PRESS so the glue doesn't turn off
GAP_ARR(1) = -1.0E-5
NORM_ARR(1) = MAX_PRESS * NORMAL_MULT
SHEAR_ARR(1) = MAX_PRESS * SHEAR_MULT

GAP_ARR(2) = 0.0
NORM_ARR(2) = MAX_PRESS * NORMAL_MULT
SHEAR_ARR(2) = MAX_PRESS * SHEAR_MULT

! Calculate the rest of the decay curve
*DO, i, 3, 100
    RATIO = (i - 3.0) / 97.0
    SPAN = D_MAX - D_MIN
    OFFSET = RATIO * SPAN
    CURRENT_GAP = D_MIN + OFFSET
    GAP_CUBE = CURRENT_GAP * CURRENT_GAP * CURRENT_GAP
    DENOM = 6 * MY_PI * GAP_CUBE
    
    GAP_ARR(i) = CURRENT_GAP
    NORM_ARR(i) = (A_HAM / DENOM) * NORMAL_MULT
    SHEAR_ARR(i) = (A_HAM / DENOM) * SHEAR_MULT
*ENDDO

! Fill Row 101 (Cutoff)
GAP_ARR(101) = D_MAX + 1.0E-9
NORM_ARR(101) = 0.0
SHEAR_ARR(101) = 0.0

! Create and populate the tables
*DIM, VDW_NORMAL, TABLE, 101, 1, 1, GAP
*DIM, VDW_SHEAR, TABLE, 101, 1, 1, GAP

*VFUN, VDW_NORMAL(1,0), COPY, GAP_ARR(1)
*VFUN, VDW_NORMAL(1,1), COPY, NORM_ARR(1)
*VFUN, VDW_SHEAR(1,0), COPY, GAP_ARR(1)
*VFUN, VDW_SHEAR(1,1), COPY, SHEAR_ARR(1)

! Inject Contact Math
TB, CZM, cid, 1, CBINTER
TBDATA, 1, %VDW_NORMAL%, %VDW_SHEAR%
Editor is loading...
Leave a Comment