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

**jesuamador****Member**- Registered: 2020-10-29
- Posts: 8

Good morning everyone,

I have been using CodeAster for a short time. I have to simulate the contact between a ball of aluminia and a steel sheet and i want to use a node-surface contact. I simplify the model with an axilsimetric model and I have define the contact whith a DEFI_CONTAC.

My problem is that the matrix seem to be singuliere because the nodes of the ball are not fixed in y direction, but i shouldn't fix it because the ball has to move in this direction to contact whith the steel.

Can anyone help me to define well the boundary conditions and to have a good model?

I attach the .med and the .comm

Thank you for all.

*Last edited by jesuamador (2020-11-20 11:26:44)*

Offline

**jesuamador****Member**- Registered: 2020-10-29
- Posts: 8

I'm sorry if I haven't been clear enough, but my question is, is there a way to model a contact where one of the parts is pressing on the other with a certain force? As the input is a force I cannot apply a displacement as a boundary condition and therefore a movement appears as a rigid solid.

Offline

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

Hello,

this is possible, yes. I modified your example the following way (this is the way I do contact usually, I've found it to be a good recipe):

1) in your geometry, I separated the symmetry edges (sym1 and sym2) instead of one single edge. In CONTACT, the two parts should really be separated, one common group does not work in my opinion.

2) I meshed the two parts SEPARATELY and created a compound only in the MESH module. This way, it is easier to modifiy the meshes and in your example, a sub-mesh is also not needed. The master should be coarser than the slave (Netgen 1D-2D 'Local sizes' is quite convenient). Use 2nd order elements for mechanical calculations.

3) import the MESH compound like you did in AsterStudy and orient the contact surfaces/edges.

4) in DEFI_CONTACT choose POINT_FIXE for all algorithms, I always activate continuous contact. I have found DISCRETE to work only under special circumstances (also I do mostly 3D models). I also activate PENALISATION, this way convergence is easier to achieve. Sometimes I remove the symmetry groups from the contact (not necessary here). COEF_PENA_CONT ~ E is a good starting point most of the times. I chose the ball as master and the base as slave, so the slave is meshed a little finer. Also, in your example, with the low load and coarse only one element was deformed (therefore a finer mesh is needed), not good.

5) in STAT_NON_LINE: i did not change a lot, RESI_GLOB_RELA = 1E-4 is enough most of the times, but I lowered it to 1E-6. For PREDICITON I chose ELASTIQUE, TANGENTE might work also though. REAC_ITER=1 and REAC_INCR=1 is also advisable.

That's about it. I couldn't upload the .hdf because of its size. Please find attached the mesh and the .comm.

Mario.

Offline

**jesuamador****Member**- Registered: 2020-10-29
- Posts: 8

First of all, thank you very much for the quick answer and the explanation.

I have a pair of doubts. One of them is why do you use CONTACT_INIT= Oui and why do you use NB_ITER_GEOM=5?

The other doubt is related with de eigenvector plot of displacements. They seem that it deforms in z axis but the problen is Axilsimetric. I don´t understand it.

Thanks,

Jesús

Offline

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

Hello,

I always use CONTACT_INIT = OUI, I have found it to be more reliable than INTERPENETRE or NON. Why NB_ITER = 5? It is a compromise, 2 or 3 sometimes gives questionable results and anything higher than 5 does not change the result very much. Of course, this relates to the problems I try to solve, it may not be suitable to every problem.

The other I did not see, I have to investigate.

Mario.

*Last edited by mf (2020-11-02 16:34:07)*

Offline

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

Ok, I see. I am not sure why this happens, but I am pretty sure this is a ParaVis issue. First of all, there are no results related to Z in the result file. That is for sure. Just try printing the results in a text file.

The other thing is: ParaVis should generate a dataset 'resnonl_DEPL_Vector' upon clicking 'GenerateVectors' and

'Apply'. It does not do that here, I do not know why. Try 'GenerateVectors' with 'resnonl_CONT_NOEU', although it does not make sense, ParaVis executes the command correctly with CONT_NOEU .

Also when you look at the 'Magnitude' of a dataset in ParaVis be careful: ParaVis always computes the Magnitude of ALL components in this dataset [when there are 10 components it does sqrt(comp1² + comp2² + comp3² + comp4² +...+ comp10²)]! That's why it is so important to get a result 'resnonl_DEPL_Vector' (which we do not get here), only in this result there will be 2 components of DEPL (in 2D) and 3 components of DEPL (in 3D) which will give the correct magnitude of DEPL. What we see here as 3rd component is LAGS_C (a contact pressure). That is why the magnitude is not correct. Do not not ask me why it seems to be mapped to the Z-component, I never do 2D. I just do not know.

But I am pretty sure the results are 'correct' in the sense of the definition of the problem. If you repeat the calculation in 3D you will get similar results.

Mario.

*Last edited by mf (2020-11-02 17:12:39)*

Offline

**jesuamador****Member**- Registered: 2020-10-29
- Posts: 8

Hello Mario,

I´m very grateful for your response. Now, I think that I know how ParaVis works and how to model a contact problem.

I have only a last question about the load of an axisymmetric model. I would have to put a force of 5 N on a circular surface. Since it is an axilsymmetric model I only have one line. To take into account the different lengths at different radii I apply a force distribution that goes from 0 on the axis to a fmax value at the end. I calculate this fmax value so that the integral of the distributed load is equal to the constant force I have to apply. (fmax*1/2*radii*2*pi=F=5N). With radii=0.5 mm I obtain a fmax= 3.183 MPa. This is the code I use:

```
loadfun = DEFI_FONCTION(NOM_PARA='X',
VALE=(0.0, 0.0, 0.5, -3.18309886))
loadramp = AFFE_CHAR_MECA_F(FORCE_CONTOUR=_F(FY=loadfun,
GROUP_MA=('load', )),
MODELE=model)
```

And then, I apply the nonlinear analysis. I want to know if that is correct or if there is another solution to apply forces in axilsymmetric model.

I attach the comm and the med file in case it is necessary.

Thanks for all,

Jesús

Offline

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

Hi Jesus,

that is a very interesting question, but I'm afraid your approach is not correct if you want to apply an evenly distributed force.

If you want to distribute 5N on your area on top you should first calculate the FORCE per AREA (that is the value you would apply as FORCE_FACE in a 3D model. That is FORCE/(R² * PI). This exact value should be your value for FORCE_CONTOUR)

See attached example that does the same and compares 3D with AXIS for a very simple example. If you do not know what to do in Aster, I encourage you to do the same. You will learn a LOT! I thought I could do a FORCE_ARETE but that is not possible, so the line and force are still called force_arete or similar :-).

Mario.

*Last edited by mf (2020-11-04 17:21:06)*

Offline

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

...and here's a screenshot of above example....

Offline