Atom topic feed | site map | contact | login | Protection des données personnelles | Powered by FluxBB | réalisation artaban

You are not logged in.

- Topics: Active | Unanswered

Pages: **1**

**seirov****Member**- Registered: 2020-12-24
- Posts: 16

I am trying to simulate a "stressed" tablecloth or sheet, loaded with pressure and peripherical forces (see picture). I use Roark's "Formulas for Stress and Strain" to check the results.

First I have run a simple case, only applying pressure. Results are ok, getting a deformation of DZ=4.8 mm (in line with Roark's table 11.4 case 1a). Then, I had applied the whole case, with peripherical forces streching out the tablecloth. Common sense tells me that in this case, stiffness will be higher, so deformation should be lower. According to Roark's talbe 11.4 case 1g, deformation should be DZ=0.42 mm.

However, when I run the case with pressure and peripherical forces, I get the same vertical deformation than the only pressure case (DZ=4.8 mm), and the same horizontal deformation than the only peripherical forces (in my case DX=0.33 mm and DY=0.5 mm). That is, the superposition principle is working (what is logical because I am using a linear model).

Shall I apply another aproach, loading first the peripherical forces, calculating the new stiffness and then apply the pressure? How to do this? Perhaps with a non-linear model?

Thanks.

Offline

**sameer21101970****Member**- Registered: 2019-09-06
- Posts: 297

Run Study in 2 stages.

First apply peripheral force. Run ths case.

2nd stage - Import result of first case, apply pressure. the again run the case. you will get perfect results.

FEA model building has to be correct to get perfect results.

Offline

**mib****Member**- Registered: 2019-11-10
- Posts: 88

sameer21101970 wrote:

Run Study in 2 stages.

First apply peripheral force. Run ths case.

2nd stage - Import result of first case, apply pressure. the again run the case. you will get perfect results.

FEA model building has to be correct to get perfect results.

Right :-)

youtube.com/watch?v=CR5ZhqAo2bM (copy an paste in your browser)

Offline

**mib****Member**- Registered: 2019-11-10
- Posts: 88

sameer21101970 wrote:

First apply peripheral force. Run ths case.

2nd stage - Import result of first case, apply pressure. the again run the case. you will get perfect results.

FEA model building has to be correct to get perfect results.

Right :-)

youtube.com/watch?v=CR5ZhqAo2bM (copy an paste in your browser)

Offline

**mib****Member**- Registered: 2019-11-10
- Posts: 88

if you want run, attached files. (14.4 version)

Offline

**seirov****Member**- Registered: 2020-12-24
- Posts: 16

Thanks for your answers! I am trying to make a two stages calculation: first one is fine, but second one reads the first one but doesn't aply the second load (although I can see the deformation coming from fist load). Attached there are the comm files for both of them. What am I doing wrong?

P.S: By the moment I run a linear case, which won't give the expected results, but it is the first step. When I can run it, I will go on with non-linear.

Offline

**mib****Member**- Registered: 2019-11-10
- Posts: 88

seirov wrote:

Thanks for your answers! I am trying to make a two stages calculation: first one is fine, but second one reads the first one but doesn't aply the second load (although I can see the deformation coming from fist load). Attached there are the comm files for both of them. What am I doing wrong?

P.S: By the moment I run a linear case, which won't give the expected results, but it is the first step. When I can run it, I will go on with non-linear.

probably the reason is the kind of approach : linear.

if you use NON-linear you can introduce : STAT_NON_LINE > Initial condition > Non Linear Transient.

may be this.

Offline

**seirov****Member**- Registered: 2020-12-24
- Posts: 16

Hi,

I succeded in setting a two-stage calculation, first with linear approach and later with non-linear. Just if some new-comer needs help: in both cases it is necessary to have a list of numbers that indicates the time when loads are applied. As far as I have understood, this can be done with both DEFI_LIST_REEL (a list of real numbers) or DEFI_LIST_INST (a list of time instants). The second one has more possibilities, and I guess that in some cases it would preferred. So, my code is:

2 stages linear:

first stage:

```
listr = DEFI_LIST_REEL(identifier='6:1',
DEBUT=0.0,
INTERVALLE=_F(JUSQU_A=1.0,
NOMBRE=2))
#loads here
resfxfy = MECA_STATIQUE(identifier='10:1',
CARA_ELEM=elemprop,
CHAM_MATER=fieldmat,
EXCIT=(_F(CHARGE=symm),
_F(CHARGE=fy),
_F(CHARGE=fx)),
INST_FIN=0.5,
LIST_INST=listr,
MODELE=model)
```

second stage:

```
resfxfy = MECA_STATIQUE(identifier='1:2',
reuse=resfxfy,
CARA_ELEM=elemprop,
CHAM_MATER=fieldmat,
EXCIT=(_F(CHARGE=pres),
_F(CHARGE=symm),
_F(CHARGE=fx),
_F(CHARGE=fy)),
INST_FIN=1.0,
LIST_INST=listr,
MODELE=model,
RESULTAT=resfxfy)
```

2 stages non-linear:

first stage:

```
listr = DEFI_LIST_REEL(identifier='6:1',
DEBUT=0.0,
INTERVALLE=_F(JUSQU_A=0.5,
NOMBRE=1))
#loads here if not defined in stage 1
resnonl = STAT_NON_LINE(identifier='10:1',
CARA_ELEM=elemprop,
CHAM_MATER=fieldmat,
EXCIT=(_F(CHARGE=symm),
_F(CHARGE=fx),
_F(CHARGE=fy)),
INCREMENT=_F(INST_FIN=0.5,
LIST_INST=listr),
MODELE=model)
```

second stage:

```
listr0 = DEFI_LIST_REEL(identifier='0:2',
DEBUT=0.5,
INTERVALLE=_F(JUSQU_A=1.0,
NOMBRE=5))
#loads here if not defined in stage 1
resnonl = STAT_NON_LINE(identifier='2:2',
reuse=resnonl,
CARA_ELEM=elemprop,
CHAM_MATER=fieldmat,
COMPORTEMENT=_F(DEFORMATION='PETIT',
RELATION='ELAS'),
ETAT_INIT=_F(EVOL_NOLI=resnonl,
INST=0.5),
EXCIT=(_F(CHARGE=symm),
_F(CHARGE=fx),
_F(CHARGE=fy),
_F(CHARGE=pres)),
INCREMENT=_F(INST_FIN=1.0,
INST_INIT=0.5,
LIST_INST=listr0),
MODELE=model)
```

In spite of this setting, I am still having the same results that I had with an one-stage linear calculation: a deformation DZ=4.8 mm, when theory says that it should be 0.42 mm. So, I guess that the chosen behaviour is not the good one (keyworks COMPORTEMENT). If I try mib setting

```
COMPORTEMENT=_F(DEFORMATION='SIMO_MIEHE',
RELATION='VMIS_ISOT_LINE'),
```

I get the error:

```
The selected modelization MEDKQU4 on the mesh M101 is incompatible with the strains SIMO_MIEHE.
Use another type of strains (cf U4.51.11 and documents R).
```

and I get stack here. Does anyone have a suggestion?

Thanks.

Offline

**seirov****Member**- Registered: 2020-12-24
- Posts: 16

Hi again,

I have been trying to work this out, without success :-( My main problem was that behaviour SIMO_MIEHE must use a 3D model, not DKT (or any other 2D). Alhtough this, I still have convergence problems:

```
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! <S> Exception user raised but not interceptee. !
! The bases are fermees. !
! Type of the exception: EchecComportementError !
! !
! Stop following the failure of the integration of the constitutive law. !
! The total base is saved. It contains the pitches archived before the stop. !
! !
! Advices: !
! - Check your parameters, the coherence of the units. !
! - Try to increase ITER_INTE_MAXI, or to subdivide the time step via !
! ITER_INTE_PAS locally. !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
```

I have tried increasing the time steps and also ITER_GLOB_MAXI=100 and ITER_INTE_MAX=500, but still the same ouotput. Any ideas?

Thanks.

Offline

**seirov****Member**- Registered: 2020-12-24
- Posts: 16

Hi again,

I have been trying to work this out, without success :-( My main problem was that behaviour SIMO_MIEHE must use a 3D model, not DKT (or any other 2D). Alhtough this, I still have convergence problems:

```
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
! <S> Exception user raised but not interceptee. !
! The bases are fermees. !
! Type of the exception: EchecComportementError !
! !
! Stop following the failure of the integration of the constitutive law. !
! The total base is saved. It contains the pitches archived before the stop. !
! !
! Advices: !
! - Check your parameters, the coherence of the units. !
! - Try to increase ITER_INTE_MAXI, or to subdivide the time step via !
! ITER_INTE_PAS locally. !
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
```

I have tried increasing the time steps and also ITER_GLOB_MAXI=100 and ITER_INTE_MAX=500, but still the same ouotput. Any ideas?

Thanks.

P.S. hdf file is attached.

Offline

**sameer21101970****Member**- Registered: 2019-09-06
- Posts: 297

I had seen your earlier files. Your Boundary conditions need to be redefine as per jpg photo of study you have shown.

a) Apply Pressure / Force on all 4 edges. - 1st stage...you can define DZ=0 for edges

b) step (a) will induce stress in your plate

c) import result of 1st stage & apply displacement force or DZ= x value. ( excluding edges)..if your tension stress is sufficient for DZ displacement, the solver will converge otherwise no convergence...you are facing same issue, i think so

Offline

**seirov****Member**- Registered: 2020-12-24
- Posts: 16

@sameer21101970, I think that I have already done (or at least, tried) what you suggest. Following your steps:

a) I set up a first stage with peripherical forces (they are on faces as I have a 3D model). As well, symm load as boundary condtion, to block the corresponding DoFs:

```
symm = AFFE_CHAR_MECA(DDL_IMPO=(_F(DX=0.0,
GROUP_MA=('x0_extruded', )),
_F(DY=0.0,
GROUP_MA=('y0_extruded', )),
_F(DZ=0.0,
GROUP_MA=('y0', 'x0', 'y600', 'x400'))),
MODELE=model)
fx = AFFE_CHAR_MECA(FORCE_FACE=_F(FX=1000.0,
GROUP_MA=('x400_extruded', )),
MODELE=model)
fy = AFFE_CHAR_MECA(FORCE_FACE=_F(FY=1000.0,
GROUP_MA=('y600_extruded', )),
MODELE=model)
```

b) Indeed, they induce a stress (extract from results):

```
CHAMP AUX NOEUDS DE NOM SYMBOLIQUE DEPL
NUMERO D'ORDRE: 1 INST: 5.00000000000000E-01
LA VALEUR MAXIMALE DE DX EST 1.31858078355353E+00 EN 1 NOEUD(S) : N1920
LA VALEUR MAXIMALE DE DY EST 1.97446434785896E+00 EN 1 NOEUD(S) : N1394
LA VALEUR MAXIMALE DE DZ EST 8.48599637654409E-03 EN 1 NOEUD(S) : N101
LA VALEUR MINIMALE DE DX EST -2.19582274639716E-16 EN 1 NOEUD(S) : N711
LA VALEUR MINIMALE DE DY EST -1.13808246558508E-16 EN 1 NOEUD(S) : N1830
LA VALEUR MINIMALE DE DZ EST -8.48599637654333E-03 EN 1 NOEUD(S) : N657
------>
CHAMP PAR ELEMENT AUX POINTS DE GAUSS DE NOM SYMBOLIQUE SIEF_ELGA
NUMERO D'ORDRE: 1 INST: 5.00000000000000E-01
LA VALEUR MAXIMALE DE SIXX EST 1.19725347706013E+03 EN 1 MAILLE(S) : M2028
LA VALEUR MAXIMALE DE SIYY EST 1.19714801872474E+03 EN 1 MAILLE(S) : M2773
LA VALEUR MAXIMALE DE SIZZ EST 6.70635098382686E+02 EN 1 MAILLE(S) : M1609
```

c) This must be what I am doing wrong. At second stage, I set the first one as a initial condition, and add a pressure on the plate (keeping the peripherical force and symm load). I even tried to apply the pressure in a reduced section of the plate, to not load the external cells of the mesh (where the boundary conditions are applied), but the result is still the same.

```
listr0 = DEFI_LIST_REEL(DEBUT=0.5,
INTERVALLE=_F(JUSQU_A=1.0,
NOMBRE=10))
times = DEFI_LIST_INST(DEFI_LIST=_F(LIST_INST=listr0),
ECHEC=_F(ACTION='DECOUPE',
EVENEMENT='RESI_MAXI',
RESI_GLOB_MAXI=1000000000.0))
pres = AFFE_CHAR_MECA(MODELE=model,
PRES_REP=_F(GROUP_MA=('plate_top', ),
PRES=-0.3))
resnonl = STAT_NON_LINE(reuse=resnonl,
CHAM_MATER=fieldmat,
COMPORTEMENT=_F(DEFORMATION='SIMO_MIEHE',
ITER_INTE_MAXI=500,
RELATION='VMIS_ISOT_LINE'),
CONVERGENCE=_F(ITER_GLOB_MAXI=100),
ETAT_INIT=_F(EVOL_NOLI=resnonl,
INST=0.5),
EXCIT=(_F(CHARGE=symm),
_F(CHARGE=fx),
_F(CHARGE=fy),
_F(CHARGE=pres)),
INCREMENT=_F(LIST_INST=times),
MODELE=model,
RESULTAT=resnonl)
```

Attached is the last file I have used. Any light on the issue will be helpful.

Thanks.

Offline

**mf****Member**- Registered: 2019-06-18
- Posts: 170

Hello,

this is a very interesting example, although I wouldn't want a tablecloth made of steel :-). May I give you some advice?

1.) It takes a while to learn thinking in Aster-logic....one tends to overthink at the beginning....

2.) In general, convergence is bad to very bad (=singular matrix) if you do not have any fixation or springs in your model. If you do a calculation where forces have to balance other forces to fix a model, convergence will be bad (like two guys pulling a rope in opposite directions, there is always some movement).

3.) If you want to use a nonlinear material (like you do), always start with the linear elastic material and try to build your model to behave like you want it to. If you don't, it will take much longer.

4.) In general, in mechanics, try to use 2nd order elements.

5.) If a lot is happening at the same time in your model, try to separate forces in consecutive timesteps.

6.) In Aster, you do not need separate stages when you chain 2 or more STAT_NON_LINE. Though, they should have different names. Personally, I would only use a separate stage in a very big model for the post-processing (writing results etc.) with POURSUITE (this way, I do not have to do the first stage again, if I want to change something in the 2nd stage. And if the first one takes hours.... :-( ).

7.) you do not need RHO in this example (no gravity etc.).

8.) See the example attached, I tried to emulate your model. Two STAT_NON_LINE are needed because you cannot turn on/off fixations with multiplying functions. Try to understand what it does. I only pull on two sides, the other 2 sides have symmetries. The edge in the corner is fixed in the first calculation. Then I take this result and use it as ETAT_INIT in the second STAT_NON_LINE. I fix the BOTTOM and apply the pressure on TOP.

The example is still with ELAS and PETIT behaviour, I could not get convergence with your material data and forces (I am not too experienced with Aster and nonlinear materials, I almost never use them). I added springs on the surface for better convergence. Take a look at the results. It only needs 2 iterations with elastic behaviour.

Hope it helps, let me know if it is rubbish,

Mario.

*Last edited by mf (2021-02-05 19:14:39)*

Offline

**mf****Member**- Registered: 2019-06-18
- Posts: 170

Hello again,

oh my, I forgot to activate RECH_LINEARE with the nonlinear material. This way, it converges!

Mario.

Offline

Pages: **1**