I am trying, for pedagogical purposes, to implement my own hybrid element.

At the moment I am just after a 8-node, linear brick, with constant pressure: something like C3D8H in Abaqus, I believe. I ended up with an element which seems to be working, apart from one test.

I get a one-element cube. I fix all DOFs of one vertex.

Two (say, vertical) faces are forced to slide on their original plane. On the other (vertical) two, the same pressure is applied via nodal forces.

Top and bottom face are stress-free. I even constrain the top face to remain on its original plane.

To cut a long story-short, a biaxial stress test.

I use a Neo-Hookean material model, could not get more robust.

Yet, once I get around a pressure roughly 5 times higher than the material constant, somewhere past stretch = 2, it stops converging, as it gets into a "wedge" type shape (the edge opposite the constrained vertex, shared by the two pressurised faces, moves out and the pressurised faces are not perpendicular any more.).

I was pretty sure I made some mistake somewhere, but I managed to get hold of a computer with ANSYS software and I tried the same test, and still it would not converge. Tried all the elements one could, tightened Newton-Raphson convergences to the bone. I noticed from ANSYS's converged substeps that shear strains develop well before the loss of convergence.

I am not aware of any physical instability that could affect a Neo-Hookean block in a biaxial stress state.

Is any of you?

If not, what else. Has anybody tried anything similar in ABAQUS or MARC?

It must certainly possibly to load biaxially a single element up to 500-600%! Yet I cannot get there in ANSYS, let alone my patched up element. I am losing the plot.

I could provide the ANSYS input file.

Gracias

]]>There are topics similar to this but did not show example clearly on how to make an inp file in Abaqus.

I created simple element as shown. I want to apply *Equation on this element to make it deforms periodically on all edges like the picture from Dr.Jorgen. Could someone show me the .inp file? I really appreciate it in advance.

74 73]]>

I am writing a UMATHT subroutine (Abaqus) to simulate rubber curing process and predict state of cure. In this effort I used the empirical model by Kamal and Sourer. The reference is shown below.

https://www.sciencedirect.com/science/article/abs/pii/S0927025609003668

the UMATHT code I written is mentioned below. The problem i noticed is, the state variable to show state of cure is not displaying in abaqus. When I inquired through the code, I realised the "time" parameter is not properly assigned to X (bolded in red color as shown below)

SUBROUTINE UMATHT(U,DUDT,DUDG,FLUX,DFDT,DFDG,

1 STATEV,TEMP,DTEMP,DTEMDX,TIME,DTIME,PREDEF,DPRED,

2 CMNAME,NTGRD,NSTATV,PROPS,NPROPS,COORDS,PNEWDT,

3 NOEL,NPT,LAYER,KSPT,KSTEP,KINC)

C

INCLUDE 'ABA_PARAM.INC'

C

CHARACTER*80 CMNAME

DIMENSION DUDG(NTGRD),FLUX(NTGRD),DFDT(NTGRD),

1 TIME(2),DFDG(NTGRD,NTGRD),STATEV(NSTATV),DTEMDX(NTGRD),

2 PREDEF(1),DPRED(1),PROPS(NPROPS),COORDS(3),G(1),alpha(1)

Real*8 CPu,CPc,K,TEMP,C

Real*8 B,RATE,A,D,alpha,G,X

C CPu is the specific heat capacity of uncured rubber

C CPc is the specific heat capacity of cured rubber

C RATE IS THE RATE CONSTANT

C F IS THE MATERIAL CONSTANT

C A IS THE INDUCTION TIME

C Ku is the thermal conductance of uncured rubber

C Kc is the thermal conductance of cured rubber

CPu= PROPS(1)

CPc= PROPS(2)

Ku= PROPS(3)

Kc= PROPS(4)

E = PROPS(5)

R = PROPS(6)

k0 = PROPS(7)

F = PROPS(8)

N = PROPS(9)

t0 = PROPS(10)

C Calculation of Specific Heat Capacity

CP=(CPu+CPc)

C Calculation of Thermal Conductivity

K=(Ku+Kc)

C Calculation of Rate Constant

C= E/(R*TEMP)

B=EXP(C)

RATE=k0*B

C Calculation of Induction Time

D=EXP(F/TEMP)

A=t0*D **X=TIME(1) **

C Calculation of state of cure (alpha)

G=RATE*

alpha = G/(1-G)

DUDT = CP

DU = DUDT*DTEMP

U = U+DU

DO I=1,NTGRD

FLUX(I)= -K*DTEMDX(I)

DFDG(I,I) =-K

END DO

c do i=1,nstatv

statev(1)=alpha

c end do

RETURN

END

Could you please help me a way to assign this value, so that this model can be run smoothly.

I used single element input file to run this code. It is attached.

Any suggestion is welcome.

Thanks a lot

BR,

Aravinda

]]>I want to share a code with the polymer modeling community and figured your website is probably a good medium to try that out. Please review my message below and share if you agree.

Regards,

Travis

In 2017, I ran into an issue that required me to rely on crosshead (ie. grip) displacement to compute strain in rubber dumbbells in uniaxial tension. To prevent the grips from fracturing the specimen at very low strain (a big problem at high temperatures), I had to grip the dumbbell at a section that was much wider than the gage section. Of course, this results in large errors in the strain calculation. To circumvent the problem, I came up with a method to correct stress-strain data when a dumbbell is gripped at a wide section and direct measurement of strain is not possible. Since then, a surprising number of people have come to me with the same problem. Therefore, I am sharing my code here. The code is, hopefully, commented sufficiently well for general use, but I will follow up later with a full publication on the concept.

Disclaimer: Nobody has peer-reviewed the code for accuracy, but it has worked for 4 case studies. Use discretion when using the code. The author appreciates any feedback on bugs or issues encountered with the code.

PROGRAM nBlock10 ! v10.0]]>

!

! ********************************************************************

! Author: Travis Hohenberger

! Date: 2019-11-04

! E-mail: twhohen@gmail.com

! System: Windows 10

! Software: Netbeans IDE Dev (201804200002)

! Java 1.8.0_101; Java Hotspot 64 Bit Server VM 25.101-b13

! Java Runtime Environment 1.8.0_101-b13

! ********************************************************************

!

! Dumbbells are often stretched in uniaxial extension to collect stre-

! ss-strain data. When a dumbbell is gripped at a section wider than

! its gage section, and strain is computed from displacement of the g-

! rips, the calculated strain is lower than the actual strain in the

! gage section. This program corrects stress-strain data when direct

! measurement of strain (for instance, with a video extensometer) in

! the gage section is not possible, and therefore must be estimated f-

! rom grip (ie. crosshead) displacement. The program decomposes a dum-

! bbell into a series of blocks as illustrated in SCHEMATIC 1. As cur-

! rently written, the code creates 200 'n-blocks' between the upper (

! ie. tab) and lower (ie. gage) sections.

! ____________________

! &&&&&&&&&&&&&&&&&& | |

! &&&&&&&&&&&&&&&&&& | |

! &&&&&&&&&&&&&&&&&& | |

! &&&&&&&&&&&&&&&&&& | UPPER |

! &&&&&&&&&&&&&&&&&& ==> Tab section | BLOCK |

! &&&&&& TAB &&&&&&& | index = 202 |

! &&&&&&&&&&&&&&&&&& | in code |

! &&&&&&&&&&&&&&&&&& |__________________|

! &&&&&&&&&&&&&&&&& |_________________|

! &&&&&&&&&&&&&&&& ==> Smooth radius |________________|

! &&&&&&&&&&&&&&& |_______________|

! &&&&&&&&&&&&& ==> Tangent of radii |_____________| Seven

! &&&&&&&&&&&& |___________| ==> n-Block

! &&&&&&&&&&& ==> Smooth radius |_________| transitions,

! &&&&&&&&& |________| index = 2, 3, .

! &&&&&&&& | | .., 201 in code

! &&&&&&&& | |

! &&&&&&&& | |

! &&&&&&&& | LOWER |

! & GAGE & | BLOCK |

! &&&&&&&& | |

! &&&&&&&& ==> Gage section | index |

! &&&&&&&& | = 1 |

! &&&&&&&& | in |

! &&&&&&&& | code |

! &&&&&&&& |_______|

!

! (a) (b)

!

! SCHEMATIC 1: (a) Quarter-dumbbell with "smooth" geometry;

! (b) dumbbell decomposed into "block" geometry

!

! ********************************************************************

!

! The code uses the incompressible form of the generalized Yeoh strai-

! n-energy function:

!

! W = K1*(I1-3)^m + K2*(I1-3)^p + K3*(I1-3)^q

!

! which can be replaced by the user by changing the force equation.

!

! Reference:

!

! Hohenberger et al (2019). A constitutive model for both low and hig-

! h strain nonlinearities in highly filled elastomers and implementat-

! ion with user-defined material subroutines in Abaqus. Rubber Chemis-

! try and Technology, 92 (4), 653-686.

!

! Disclaimer: This code is not computationally optimal, but it has wo-

! ked for multiple cases tested by the author. More detai-

! ls will be shared in a journal publication.

!

! ********************************************************************

!

IMPLICIT NONE

!

REAL K1 , K2 , K3 , deL(202), w(202) , t , Delta ,&

Fo , Lam0 , F(202), Lam(202), ErrF(202), delNew, Fout ,&

deLtot, ErrDel, R1 , R2 , w0 , wTab , SigOut,&

alpha , h1 , h2 , L0 , dh1 , dh2 , y(202),&

Lgrip , Lbell , em , pe , qu , MxErrF, DelEnd,&

SigStore(200) , LamStore(200) , LamFact , ForcFac

!

INTEGER i, j, k, int1, int2

!

! ******************************************************************

! - MATERIAL MODEL PARAMETERS FOR GEN-YEOH STRAIN-ENERGY FUNCTION --

! ******************************************************************

!

K1 = 5.38 ! MPa

K2 = -2.85 ! MPa

K3 = 0.40 ! MPa

em = 0.89

pe = 1.08

qu = 1.85

!

! ******************************************************************

! ------ CONVERGENCE FACTORS FOR STRETCH AND FORCE ITERATIONS ------

! ******************************************************************

!

LamFact = 10. ! Increasing values speed up convergence but can

ForcFac = 0.1 ! result in unacceptable error. Monitor 'ErrDel'

! ! and 'MaxErrF' in the output window to ensure

! ! they remain << 1.

!

! ******************************************************************

! ----------- DUMBBELL DIMENSIONS (mm), SEE SCHEMATIC 2 ------------

! ******************************************************************

!

Lbell = 57.5 ! Dumbbell length (half-length, die C = 57.5)

Lgrip = 27.899 ! Grip separation (half-length)

L0 = 16.5 ! Gage length (half-length, die C = 16.5)

w0 = 3.12305 ! Width of gage section (half-width)

wTab = 12.5 ! Width of tab (half-width, die C = 12.5)

t = 2.3335 ! Dumbbell thickness (not illustrated)

R1 = 14. ! Dumbbell radius at gage (die C = 14)

R2 = 25. ! Dumbbell radius at tab (die C = 25)

Delta = 0.078 ! Initial displacement for starting iterations

DelEnd = 32. ! Target end displacement (half-displacement)

!

! | |

! |<--- wTab ---->| Delta, DelEnd

! | | ^

! -------------------- &&&&&&&&&&&&&&&&& |

! ^ &&&&&&&&&&&&&&&&& |

! | &&&&&&&&&&&&&&&&& |

! | &&&&&&&&&&&&&&&&& |

! | &&&&&&&&&&&&&&&&& |

! | ----------- &***************& ------------

! | ^ &&&&&&&&&&&&&&&&&

! | | &&&&&&&&&&&&&&&&&

! | | &&&&&&&&&&&&&&&& <---- R2

! | | &&&&&&&&&&&&&&&

! | | &&&&&&&&&&&&&

! Lbell | &&&&&&&&&&&&

! | | &&&&&&&&&& <---------- R1

! | | &&&&&&&&&

! | Lgrip &&&&&&&& -----------

! | | &&&&&&&& ^

! | | &&&&&&&& |

! | | &&&&&&&& |

! | | &&&&&&&& |

! | | --->& w0 &<--- L0

! | | &&&&&&&& |

! | | &&&&&&&& |

! v v &&&&&&&& v

! -------------------- &&&&&&&& -----------

!

! SCHEMATIC 2: Illustration of dimensions to be input by user

!

! ******************************************************************

! ------------------- INITIALIZE SOME VARIABLES --------------------

! ******************************************************************

!

! NOTE: The guess values for 'Lam0' and 'Fo' affect convergence and

! in addition to 'LamFact' & 'ForcFac', may result in unaccep-

! table error if they are too large. If large errors are enco-

! untered even with very small 'LamFact' & 'ForcFac', try red-

! ucing the initial guess values for 'Lam0' and 'Fo'.

!

Lam0 = 1.000001 ! Initial guess value for stretch

Fo = 0.1 ! Initial load increment (units = Newtons)

Lam = Lam0 ! Initialize all Lam(i)'s to Lam0

F = 0. ! Initialize pulling force to 0

ErrF = 500. ! Initialize force error to a large value

!

! ******************************************************************

! ---------- CALCULATION OF HEIGHTS & WIDTHS OF n-BLOCKS -----------

! ******************************************************************

int1 = 100 ! Number of intervals in which to decompose dumbbell

int2 = 100 ! radius transitions. This code must be updated if

! '100' is not specified for 'int1' or 'int2'. When

! ! testing the code, 100 intervals was found to give

! ! less than 0.1% discretization error.

!

! The geometric calculations below do not require modification if t-

! he default dimensioning scheme for an ASTM dumbbell applies.

!

alpha = ACOS((R1+R2+w0-wTab)/(R1+R2)) ! Angle b/t horizontal and

! the line connecting the

! centers of R1 & R2.

!

h1 = L0 + R1*SIN(alpha) ! Height to tangent of R1 and R2

h2 = h1 + R2*SIN(alpha) ! Height to transition b/t R2 & wTab

dh1 = (h1-L0) / int1 ! n-block interval height in R1 zone

dh2 = (h2-h1) / int2 ! n-block interval height in R2 zone

y(1) = L0 ! Set y(1) equal to gage length

w(1) = w0 ! Set w(1) equal to gage width

w(202) = wTab ! Set w(202) equal to tab width

!

DO i=2,101 ! Loop to calculate the height to

IF (i.EQ.2) THEN ! the n-blocks and respective wid-

y(i) = y(i-1) + dh1/2. ! ths in the R1 transition zone.

ELSE

y(i) = y(i-1) + dh1

END IF

w(i) = -((R1**2 - (y(i)-L0)**2))**0.5 + w0 + R1

END DO

!

DO i=102,201 ! Loop to calculate the height to

IF (i.EQ.102) THEN ! the n-blocks and respective wid-

y(i) = h1 + dh2/2. ! ths in the R2 transition zone.

ELSE

y(i) = y(i-1)+dh2

END IF

w(i) = (R2**2 - (y(i) - (L0 + (R1+R2)*SIN(alpha)))**2)**0.5&

+ wTab - R2

END DO

!

IF (Lgrip.GT.h2) THEN ! Compute the height of the upper tab se-

y(202) = Lgrip - h2 ! ction. Neglect this section if the grip

ELSE ! location is below the upper tab region.

y(202) = 0.

END IF

!

! ******************************************************************

! --------- ITERATIVE CALCULATIONS FOR FORCE AND STRETCH -----------

! ******************************************************************

!

k = 1 ! Index k is used for data storage / output.

!

220 j = 1 ! Restart location if the the current target displ-

! ! acement, 'Delta', has not been reached after for-

! ! ce and stretch iterations.

!

210 DO i = j,202 ! Loop for force calculations in each n-block.

!

! Force from generalized Yeoh strain-energy function:

!

F(i) = 2*w(i)*t*(Lam(i)-1/(Lam(i)**2))*&

(em * K1 * (Lam(i)**2 + 2/Lam(i) - 3)**(em-1.) + &

pe * K2 * (Lam(i)**2 + 2/Lam(i) - 3)**(pe-1.) + &

qu * K3 * (Lam(i)**2 + 2/Lam(i) - 3)**(qu-1.))

!

ErrF(i) = Fo - F(i) ! Residual force error

!

IF (ErrF(i).GT.500.0) THEN ! Convergence check

WRITE(*,*) 'ErrF = ' , ErrF(i)

WRITE(*,*)

WRITE(*,*) 'Force error > 500. Try adjusting Fo.'

STOP

END IF

!

IF (ErrF(i).GT.0.) THEN ! If error in force

IF (ErrF(i).LT.0.05) THEN ! is positive, incr-

Lam(i) = Lam(i) + 0.000001*LamFact ! ement stretch and

ELSE IF (ErrF(i).LT.0.5) THEN ! use the GOTO stat-

Lam(i) = Lam(i) + 0.00001*LamFact ! ement to recalcul-

ELSE IF (ErrF(i).LT.5.) THEN ! ate the force unt-

Lam(i) = Lam(i) + 0.0001*LamFact ! il the force resi-

ELSE IF (ErrF(i).LT.50.) THEN ! dual, 'ErrF(i)',

Lam(i) = Lam(i) + 0.001*LamFact ! becomes negative.

ELSE IF (ErrF(i).LT.500.) THEN

Lam(i) = Lam(i) + 0.01*LamFact

END IF

GO TO 210

END IF

!

j = j+1 ! Increment j so that later, if necessary, the outer

END DO ! loop will restart until the final target displacem-

! ! ent, 'DelEnd', is reached or exceeded.

!

deL(1) = L0*(Lam(1)-1) ! Displacement of gage section

deL(202) = y(202)*(Lam(202)-1) ! Displacement of tab section

!

DO i=2,101 ! Displacement of each n-block

deL(i) = dh1*(Lam(i)-1) ! in R1 section

END DO

!

DO i=102,201 ! Displacement of each n-block

deL(i) = dh2*(Lam(i)-1) ! in R2 section

END DO

!

DO i = 2,201 ! Set each n-block displacement

IF (y(i).GT.Lgrip) THEN ! to 0 if the n-block is above

deL(i) = 0. ! the grip location.

END IF

END DO

!

deLtot = 0. ! Initialize total displacement.

!

DO i=1,202 ! Compute total displacement.

deLtot = deLtot + deL(i)

END DO

!

ErrDel = Delta - deLtot ! Compare the sum of all n-block

! ! displacements to the target d-

IF (ErrDel.GT.0.) THEN ! isplacement, 'Delta'. If error

IF (ErrDel.LT.0.1) THEN ! is positive, increment force &

Fo = Fo + 0.01*ForcFac ! restart the force and stretch

ELSE IF (ErrDel.LT.1.) THEN ! iteration loops with the GOTO

Fo = Fo + 0.1*ForcFac ! statement.

ELSE IF (ErrDel.LT.10.) THEN

Fo = Fo + 1.0*ForcFac

ELSE IF (ErrDel.LT.100.) THEN

Fo = Fo + 10.*ForcFac

ELSE IF (ErrDel.LT.1000.) THEN

Fo = Fo + 100.*ForcFac

END IF

GO TO 220

END IF

!

! ******************************************************************

! --------- END OF ITERATION LOOPS FOR FORCE AND STRETCH -----------

! ******************************************************************

!

DO i = 1,202 ! Store the maximum force er-

IF (ErrF(i+1).LT.ErrF(i)) THEN ! ror of all the n-blocks.

MxErrF = ErrF(i+1)

ELSE

MxErrF = ErrF(i)

END IF

END DO

!

Fout = F(1) ! Store the force in the gage section.

SigOut = F(1)/w(1)/t ! Store the stress in the gage section.

!

LamStore(k) = Lam(1) ! Store stress and stretch as output that

SigStore(k) = SigOut ! the user can copy from output window.

!

! This next sequence of commands may seem confusing. The desired st-

! ress & stretch outputs are stored in arrays LamStore(k) & SigStor-

! e(k), but a stress corresponding to an n-block corrected stretch

! is stored one increment behind the current increment due to the m-

! anner in which this code increments displacement from 'Delta' to

! 'DelEnd'. Specifically, stress and stretch during the first itera-

! tion are not n-block corrected. The code forces the crosshead str-

! etch at iteration 'k+1' to equal the gage stretch at iteration 'k'

! , and then maps the updated gage stretch (at 'k+1') to the stress

! at 'k', creating an n-block corrected (stretch, stress) pair.

!

IF (k.EQ.1) THEN ! Write headings for stress & stretch outputs.

WRITE(*,*)

WRITE(*,*) ' Gage Stretch' , ' Nominal Stress / MPa',&

' ErrDel ' , ' MaxErrF '

WRITE(*,*) ' ------------ ' , '--------------------',&

' ------------ ' , '-------------'

ELSE

WRITE(*,360) LamStore(k),SigStore(k-1),& ! Write stress, str-

ErrDel,MxErrF ! etch, and errors.

END IF

!

k = k+1 ! Increment k for the next target di-

! ! displacement, 'Delta'.

!

delNew = Lgrip*(Lam(1)-1.) ! Set the next displacement incremen-

! ! t, 'Delta', so that the stretch ba-

IF (delNew.LT.delEnd) THEN ! sed on crosshead displacement in i-

Delta = delNew ! ncrement 'k+1' is equal to the str-

Fo = Fout ! etch in the gage section at increm-

GO TO 220 ! ent 'k'. If the total target displ-

END IF ! acement, 'DelEnd', has not been re-

! ! ached, conduct another iteration of

! ! the entire sequence.

WRITE(*,*)

WRITE(*,*) 'Final errors, force, displacement, & average stretch'

WRITE(*,*) '----------------------------------------------------'

WRITE(*,310) 'ErrDel = ' , ErrDel ,' mm Max. displacement error'

WRITE(*,320) 'MxErrF = ' , MxErrF ,'N' , 'Max. force error'

WRITE(*,330) 'F = ' , Fout ,'N' , 'Pulling force'

WRITE(*,340) 'Delta = ', Delta ,'mm','Crosshead displacement'

WRITE(*,350) 'LamT = ' , Delta/Lgrip+1.,'Crosshead (avg) stretch'

WRITE(*,*)

!

310 FORMAT(A10,F12.6,A29)

320 FORMAT(A10,F12.6,A3,A19)

330 FORMAT(A10,F12.3,A3,A16)

340 FORMAT(A10,F12.3,A3,A25)

350 FORMAT(A10,F12.4,A29)

360 FORMAT(F12.4,F18.3,F26.6,F17.6)

!

END PROGRAM nBlock10

!

! *********************************************************************

! --------------------- USER GUIDE / INSTRUCTIONS ---------------------

! *********************************************************************

!

! 1. Plot uniaxial tension stress-strain data with strain based on grip

! (ie. crosshead) displacement.

!

! 2. Fit a strain-energy function to the stress-strain data and record

! model parameters.

!

! 3. Input model parameters in the n-block code, and update the force

! equation if the generalized Yeoh strain-energy function is not us-

! ed.

!

! 4. Run the program to generate corrected stress-strain data for the

! material. If more data points are desired, adjust inputs 'Delta'

! and 'DelEnd' to result in different starting and ending points in

! the calculator. See SCHEMATIC 3 for an illustration of n-block co-

! rrected stress-strain data.

!

!

! | / /

! | Hyperelastic model _/ __/

! | fit to stress-strain ___ __/ ____/

! | data based on cross- | ___/ ____/

! | head displacement | ___/ ____/

! | __V___/ _______/

! S | ___/ _____/ ^

! T | __/ ___/ |

! R | __/ ___/ |__ n-block corrected

! E | __/ ___/ stress-strain output

! S | _/ __/

! S | _/ __/

! | _/ _/

! | / /

! | / _/

! | / _/

! | / /

! | /_/

! |/_______________________________________________________________

! STRAIN

!

! SCHEMATIC 3: Illustration of n-block corrected stress-strain data

! which, via a hyperelastic material model, shifts st-

! ress-strain data based on grip (ie. crosshead) disp-

! lacement.

I'm happy to find your forum that I can ask my questions about polymer materials. I'm new in this field and I have many questions in different aspect of Hyperelastic polymer material simulation. I asked a few questions past, and now I have 2 new questions.

In the process of calibrating a hyperelastic model to experiment test data (e.g. uni-axial test data of Polyurethane) which criteria must be paid attention to get the best fit model? stability, less error in fitting (e.g. Root mean square of fitting) or anything else? which one has priority?

When is a material model unstable and how does it effect on simulation?

Thanks in advance.

Best Regards, Hossein Sahhaf.

]]>Several posts discuss VUMATs for hyperelastic materials. Bergstrom (2015) provides an example for the Neo-Hookean strain-energy function (also copied to several forums) that was written for older versions of Abaqus. An updated, complete subroutine is published here:

Hohenberger et al (2019). A constitutive model for both low and high strain nonlinearities in highly filled elastomers and implementation with user-defined material subroutines in Abaqus. Rubber Chemistry and Technology, 92 (4), 653-686.

It uses a modified (generalized) Yeoh strain-energy function and is confirmed to work in Abaqus v6.14 and R2018. I am sharing this here since many posts inquiring about hyperelastic VUMATs are now closed.

Regards,

Travis

Note, you can get a free trial license to MCalibration and PolyUMod using the link on the main page.

70,71

]]>Note, you can get a free trial license to MCalibration and PolyUMod using the link on the main page.

66,67

]]>Note, you can get a free trial license to MCalibration and PolyUMod using the link on the main page.

68,69

]]>sudo yum install redhat-lsb

cd

sudo ./startGUI.sh

sudo systemctl stop firewalld

sudo systemctl disable firewalld

The firewall commands are optional.

/Jorgen

]]>