Pre-stretch membrane simulation error

Hi everyone,

I used CalculiX 2.19 to predict the dynamic responses of a pre-stretched flexible membrane under given forces. It was weird to find that the simulation automatically ends after running for a while. However, the simulation wasn’t finished, and there is no error message in the log file.

I used a two-step approach to model this problem. In step 1, the membrane was
stretched to deserved length. In step 2, the given force was applied on the membrane to predict the deformation. The problem occurs in step 2. Following are the input files:

Step 1:

step1.inp

*INCLUDE, INPUT=all.msh
*INCLUDE, INPUT=fixed.nam
*INCLUDE, INPUT=membrane.nam
*INCLUDE, INPUT=material.inp
*AMPLITUDE,NAME=AMP1
0,1
0.01,1
0.02,0
0.03,0
*NSET,NSET=probe
597
*BOUNDARY
Nfixed,1,3
*STEP, NLGEOM, INC=100000
*STATIC
1e-3, 1
*RESTART,WRITE
*INCLUDE,INPUT=boundary.inp
*NODE PRINT, NSET=Nall, FREQUENCY=1000
U
*NODE FILE
U
*EL FILE
S,E,ENER
*END STEP

The include files in step1.inp can be downloaded here. Everything goes well in step 1.

Step 2:

step2.inp

*RESTART,READ
*STEP,NLGEOM,INC=10000000
*DYNAMIC
1e-3, 5
*BOUNDARY,FIXED
**INCLUDE,INPUT=Solid/boundary-restart.inp
**BOUNDARY,OP=NEW
**Nfixed,1,1,0
**Nfixed,2,2,0
**Nfixed,3,3,0
*CLOAD,AMPLITUDE=AMP1
**CLOAD
Nmembrane, 1, 0.0
Nmembrane, 2, 0.0
Nmembrane, 3, 0.01
*NODE PRINT,NSET=probe
U
**NODE PRINT,NSET=Nfixed
**U
**NODE PRINT,NSET=Nmembrane
**U
*NODE FILE
U
*EL FILE
S
*END STEP

After running for a while, the simulation automatically ends without any errors. However, there is no errors in the log file. Just ending as follows:

 no convergence
 iteration 4
 Using up to 1 cpu(s) for the symmetric stiffness/mass contributions.
 Factoring the system of equations using the symmetric spooles solver

The results can be downloaded here. Does anyone have ideas about it? Many thanks in advance!

Did you change the step1.rout file to step2.rin ?

When I submit this in ccx 2.19, it runs for some time and ends with an error:

Solution contains Nan! 
PaStiX could not converge to a valid result.

Thanks for your reply! I changed the step1.rout file to step2.rin. I have tried many times in ccx 2.19. Step1 finished with no errors, and the computation was completed. Step 2 also finished with no errors, while the computational wasn’t completed. It was weird.

Hi yhuang94,

Did you solve this problem? I am also working on the pre-stretch membrane simulation and meet some problems. I guess that you simulate it by using openfoam, calculix and preCICE. Could you sharing your experience about the simulation?

Hi COCO,

It might be due to my configuration error, but I was unable to perform simulations with pre-stretching consideration using CalculiX-2.19. In the end, I chose to conduct simulations using CalculiX-2.15. However, it’s worth noting that even though the structural part can account for pre-stretching, when performing FSI (Fluid-Structure Interaction) simulations, the calculations tend to diverge easily.

Regards,
Yang

Hi, yhuang94 and COCO

I have managed to make it work.

Main changes:

Hyper elastic constants,
Each step has its own amplitude.
Solver Pardiso

I would say the procedure as it is outlined is correct, but the model has some issues probably due to excess of initial PRE-stretch, wrong material constants definition, amplitudes kind of weird. If you want to recover the initial prestretch probably would require a better mesh.

I have avoided the *include.


Step2frd_Small

Hi @Disla,

Thank you very much for sharing the results. I noticed that you modified the material parameters, and the stiffness of the material has increased significantly, which indeed improves the stability of the calculations. The initial material parameters and the magnitude of pre-stretching are set to match the experimental setup. I am interested to know if you conducted tests using the original material parameters?

The amplitude value seems somewhat unusual, mainly because the pre-stretching in the experiments was quite large, making it challenging to achieve convergence. Hence, the value of 0.1 was used. By the way, you mentioned that the “material constants definition is wrong.” Could you please provide more specific details? Are you referring to the lack of compressibility parameters?

Many thanks,
Yang

Hi,

You are welcome and I should thank you. I’m working on top of your files.

When stablishing/debugging a new CalculiX procedure I would recommend starting from gentle loads/stretches/gradients and known material parameters before pushing the system to more extreme situations.

In this case, COCO is experiencing a convergence issue mixed with weird results (large number of nodes appear at the end).

Your files have shown that the procedure itself could provide good results, removing some of the uncertainties that COCO has.

Pure Biaxial stress state is in my experience the most “difficult” stretch case. I will take a further look.

Mine are material parameters known to fit properly it’s material Nonimal Stress – Nominal Strain Curve .

I quickly tested computationally your material properties and found a large Jacobian value for all three stress states. That suggest me the incompressibility parameter wasn’t right.

You are using meters as main units. ¿What is your Mooney Rivlin material parameters units?

I have thrown a separate question in the forum regarding this point for clarification.

Hi @Disla

I used the material parameters mentioned in the paper below:
Moretti G, Rosati Papini G P, Daniele L, et al. Modelling and testing of a wave energy converter based on dielectric elastomer generators[J]. Proceedings of the Royal Society A, 2019, 475(2222): 20180566.

The units for the Mooney Rivlin material parameters are in Pascals, but the paper does not mention the compressibility parameters for the material.

Thank you very much for bringing up this issue! I’ve seen @Calc_em 's reply. I didn’t realize before how significant the impact of compressibility parameters on the stability of results could be. I had been performing calculations using default values, which now appear to be incorrect.

Nice area of research!!.

I find some discrepancies on the data and your model.

Your final thickness is 2mm in the pres-stretch step1.

That shows some issue in the compressibility. It should be 0.16mm or close as advanced on the paper.

Your analysis should consider material nonlinearity (Mooney Rivlin) not only geometric nonlinearity.

Hint to check the accuracy of your results: This is a Pure Biaxial Stretch (in cylindrical coordinates).
Principal Stress 1 and 2 must be equal and uniform and third negligible. Image on the right shows your VM stress field.

Minor comment: A principal Stretch of 3.5 delivers a final radius of 200mm not 195mm.You could do some small adjustment here.

Hi yhuang94,

It seems that the main function of step 1 is to apply pre-stretch and it is realized by applying a boundary condition using boundary.inp. Is this by applying displacement to give the structure a certain tension? If so, how can I ensure that the tension inside the structure is what I want? For example, let the pretension be 100N. Thank you.

You could try Prepomax to do this. Create a local cylindrical coordinate system for the boundary nodes and then apply a traction in direction 1 (Radial).
You can check final load on the edge by sumation of the history output RF in local coordinate system.

Be aware of this to do the last part.