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

You are not logged in.

- Topics: Active | Unanswered

Nicolas wrote:

Sorry for the delay.

I do confirm that HOMARD is free LGPL. You can use it either with the SALOME platform or code_aster, with no restriction.

With SALOME, HOMARD is driven by the GUI or by python. An extensive description is given by the "help" button, including tutorials and examples.

With code_aster, the command is MACR_ADAP_MAIL (documentation U7.03.01). Some test cases are implemented.The two following papers are available:

G. Nicolas, T. Fouquet, S. Geniaut, S. Cuvilliez, Improved Adaptive Mesh Refinement for Conformal Hexahedral Meshes, Advances in Engineering Software, Vol. 102, pp. 14-28, 2016, doi:10.1016/j.advengsoft.2016.07.014

G. Nicolas and T. Fouquet, Adaptive Mesh Refinement for Conformal Hexahedral Meshes, Finite Elements in Analysis and Design, Vol. 67, pp. 1-12, 2013, doi:10.1016/j.finel.2012.11.008Please contact me if you need more information.

Thanks for the clarification and the information. An update in the code_aster licenses page may clarify confussion in the future:

code-aster.org/spip.php?article306

reiteres wrote:

I just checked the Homepage of the Homard project. It seems that they changed their license just recently to LGPL

See: code-aster.org/outils/homard/en/index.html#licence

I think that referes to the salome module to link code aster with homard, but the software itself is proprietary:

code-aster.org/spip.php?article306

RichardS wrote:

Do you plan on adding new features or doing other developments?

I don't plan on adding new features for now, but I'm switching to code_aster from propietary solutions because I belive in the benefits of open source technology: freedom, flexibility, quality, control, continuity...

Adding a closed source component to a set of very high quality tools seems odd to me. For now, I prefer to

not invest time in learning HOMARD until I understand what his plans are concerning this issue.

**Msegade**- Replies: 12

Hi

Sorry if this is not a appropriate topic for this forum.

I was planning on learning how to use the HOMARD component for mesh refinement, but not being open source is very off putting for me.

Can someone please clarify why HOMARD is not open source and if there are any plans to make it open

source in the future?

Thanks

Volker wrote:

let me ask you, did you make in abaqus a non-linear buckling analysis?

No, I just did a nonlinear static analysis and a linear buckling analysis. I'm planning on doing a nonlinear analysis scaling

the shape with buckling modes as you say (they are called imperfections in Abaqus), but first I want to get the basic non linear analysis right.

jeanpierreaubry wrote:

i have trouble understanding the unit system you are using

I'm using m, T, kN, kPa

Cylinder Diameter -> 3.8 m

Cylinder Length -> 6 m

Thickness -> 0.002 m

Elastic modulus -> 73e6 kPa

Pressure Load -> 50 kPa

Point Loads -> Fx = 200 kN, Fy = -250 kN, Fz = -300 kN

Point Moments -> Mx = 500 kNm, My = -500kNm, Mz = -600kNm

**Msegade**- Replies: 6

Hi

I would like to make a Geometrical Nonlinear analysis of my cylinder model discussed in other posts in

this forum. I know that the documentation recomends COQUE_3D, for this type of analysis, but

it takes way too long (>1hour), and the results in abaqus using 4 node shell elements (S4) takes

around 2 minutes. For that reason I'm trying to solve it using DKT elements.

The model has a critical buckling load of 0.54, so I expect the analysis to fail at some point, but I want

to see some wrinkles developed in the buckling zone, as I get in my abaqus model:

.

Using DKT elements, an initial time step of 0.1 (corresponding to 0.1 of the total load) and using the

strain behaviour PETIT_REAC, the analysis diverges at around 0.2, without any signs of buckling

and with various alarms telling me that some elements are no longer flat. The vmises stress fields

obtained is the following:

and the stat_non_line command:

```
res1=STAT_NON_LINE(
MODELE=modl,
CHAM_MATER=chmat,
CARA_ELEM=cara,
EXCIT=(
_F( CHARGE = clim),
_F( CHARGE = rdisp),
_F( CHARGE = charg,
FONC_MULT = function),
_F( CHARGE = pload,
FONC_MULT = function),
),
COMPORTEMENT=_F(
GROUP_MA='ShellElements',
RELATION='ELAS',
DEFORMATION='PETIT_REAC',
#DEFORMATION='GROT_GDEP',
),
INCREMENT = _F(
LIST_INST = listAuto
),
NEWTON = _F(
#MATRICE = 'ELASTIQUE',
MATRICE = 'TANGENTE',
REAC_ITER = 1
),
CONVERGENCE = _F(
RESI_GLOB_RELA = 1e-6,
ITER_GLOB_MAXI = 30
),
);
```

I tried reducing the time step, the strain behaviour to 'GROT_GDEP' and the tolerances but the results

are always unsatisfactory.

Is there any way to get to the wrinkles shown in Abaqus using DKT (or DKTG) elements?

I attach the .comm and .med files.

Thanks! Now I got it working.

Is there any reason why 'PLUS_PETITE' is not working?

If I use the same .comm file and I replace

```
modp1=CALC_MODES(
TYPE_RESU='MODE_FLAMB',
OPTION='BANDE',
STOP_BANDE_VIDE='OUI',
MATR_RIGI=mascomb,
MATR_RIGI_GEOM=masrigv,
CALC_CHAR_CRIT=_F(
CHAR_CRIT=(mini,maxi,),
),
VERI_MODE=_F(
STOP_ERREUR='NON',
),
);
```

with

```
modp1=CALC_MODES(
TYPE_RESU='MODE_FLAMB',
#OPTION='BANDE',
OPTION = 'PLUS_PETITE',
STOP_BANDE_VIDE='OUI',
MATR_RIGI=mascomb,
MATR_RIGI_GEOM=masrigv,
CALC_CHAR_CRIT=_F(
#CHAR_CRIT=(mini,maxi,),
NMAX_CHAR_CRIT = 6,
),
VERI_MODE=_F(
STOP_ERREUR='NON',
),
);
```

I get bad results.

jeanpierreaubry wrote:

i get the frist critical at 0.5465 with the shape shown attached

That's what I was looking for!

Can you please share the .comm file?

jeanpierreaubry wrote:

do you mean they vary linealy TOGETHER at the same rate ?

Yes, later I would want to make another analysis where I just vary one of the loads while remaining the other costant,

but the results I got in abaqus are with both loads varying linealy together at the same rate.

jeanpierreaubry wrote:

hello

what is the variable load upon which buckling is to be calculated

this is not very clear in your examplejeean pierre aubry

Are both the "pload" and "press" loads.

**Msegade**- Replies: 9

Hi

So I'm continue analyzing the shell that I discussed in the post: Distribute a load to a set of nodes (Sorry I cannot post links).

Now I'm trying to do a buckling analysis wich I do with these steps:

```
# Resolution
# ----------
res1=MECA_STATIQUE( MODELE=modl,
CHAM_MATER=chmat,
CARA_ELEM=cara,
EXCIT=(
_F( CHARGE = rdisp),
_F( CHARGE = clim),
_F( CHARGE = press),
_F( CHARGE = pload),),
OPTION = 'SIEF_ELGA',
);
# Stress field to calculate the geometric stiffnes matrix
# -------------------------------------------------------
stressg = CREA_CHAMP (
RESULTAT = res1,
OPERATION = 'EXTR',
TYPE_CHAM = 'ELGA_SIEF_R',
NOM_CHAM = 'SIEF_ELGA',
TYPE_MAXI = 'MINI',
TYPE_RESU = 'VALE'
)
# Elementary matrices and Assembly
# ---------------------------
matg = CALC_MATR_ELEM (OPTION = 'RIGI_GEOM',
MODELE = modl,
CARA_ELEM = cara,
SIEF_ELGA = stressg,)
matm = CALC_MATR_ELEM (OPTION = 'RIGI_MECA',
MODELE = modl,
CHAM_MATER = chmat,
CARA_ELEM = cara,
CHARGE = (rdisp, clim,
#press, pload,
),)
nuddl = NUME_DDL (MATR_RIGI = matm,)
masrig = ASSE_MATRICE (MATR_ELEM = matg,
NUME_DDL = nuddl,)
masrim = ASSE_MATRICE (MATR_ELEM = matm,
NUME_DDL = nuddl,)
# Calculate the modes
# -------------------
modp1 = CALC_MODES (MATR_RIGI_GEOM = masrig,
OPTION = 'PLUS_PETITE',
MATR_RIGI = masrim,
SOLVEUR_MODAL =
_F(
METHODE='SORENSEN'
),
TYPE_RESU = 'MODE_FLAMB',
CALC_CHAR_CRIT = _F(
NMAX_CHAR_CRIT = 6,
),
)
```

I get very low values for the critical load

```
numéro charge critique norme d'erreur
1 2.37993E-02 1.35091E-10
2 2.37993E-02 1.43175E-10
3 2.43823E-02 1.52333E-10
4 2.43823E-02 1.21724E-10
5 2.64413E-02 9.63314E-11
6 2.64413E-02 1.12501E-10
```

and the modes are global

As in the other post I'm comparing the results with the ones I get using abaqus, where I get much bigger critical load:

```
MODE NO EIGENVALUE
1 0.51168
2 0.53620
3 0.54860
4 0.55567
5 0.56876
6 0.57455
```

and the modes are local which correspond to the location of maximun compression values, that makes more sense than the

global modes:

The rest of results (displacements, stresses...) of the linear static analysis, I get the same values in code_aster and abaqus.

What can I do to solve this?

I attach the .comm and .med file.

Thanks.

the vectors in paravis and displaying the magnitude of DEPL_Vector.

jeanpierreaubry wrote:

here is the full problem

good agrrement between rmed ang .resu files

Thanks for the help and the answers, but I cannot get the result you get in the image you posted (depl2.png).

I'm using version 3.0 of gmsh and opening the .rmed file with

`$ gmsh ms-r.med`

But I get the same result shown in the last image I posted, with the big deformation in the end. What I'm doing wrong?

I'm missing some postprocessing steps? Did you make any sort of clip operation? The results I get in abaqus are without clipping the end.

jeanpierreaubry wrote:

Gmsh simple and reliable yet powerful

I tried gmsh but I get different results and I still get that big displacement in the border

Now I'm very confused because the same model is giving me very different results:

Max Displacement

Paravis -> 1.990 e-2

Gmsh -> 2.43e-2

Your result and abaqus -> 1.71 e-2

jeanpierreaubry wrote:

i suggest you print in ASCII in the .resu file some key values to check what the post processor is displaying

I don't really know which values to print, but I tried printing the values of the MNode in ASCII and getting the value

in Paravis and I get the same result.

Can you please post your rmed and comm file?

jeanpierreaubry wrote:

like this,

very simply`# Boundary conditions # ------------------------------------- # Rotations and longitudinal displacement clim=AFFE_CHAR_MECA( MODELE=modl, DDL_IMPO=( _F( GROUP_NO = 'FixNodes', DZ = 0., DRX = 0.0, DRY = 0, DRZ = 0 ), #this point need to be able to move # _F( # GROUP_NO = 'MNode', # DX = 0, # DY = 0, # DZ = 0, # ), ) ); # Allow only radial displacements rdisp=AFFE_CHAR_MECA( MODELE=modl, ARETE_IMPO=_F(GROUP_MA='FixEdges', DTAN = 0.0)); # Loads definition # ------------------------- charg=AFFE_CHAR_MECA( MODELE=modl, FORCE_COQUE=_F( GROUP_MA = ('PressureLoad'), PRES=50),); pload=AFFE_CHAR_MECA( MODELE=modl, #this works ok LIAISON_SOLIDE=_F(GROUP_NO = ('ForceNodes', 'MNode')), #i doubt this is the right syntax for RBE3, #nor the right parameter, it is more complicated than this # LIAISON_RBE3=( # _F( # GROUP_NO_MAIT='MNode', # DDL_MAIT=('DX','DY','DZ','DRX','DRY','DRZ'), # #DDL_MAIT=('DRX', 'DRY', 'DRZ'), # GROUP_NO_ESCL='ForceNodes', # DDL_ESCL=('DX-DY-DZ'), # COEF_ESCL=(1,) # ), # ), FORCE_NODALE=_F( GROUP_NO='MNode', # FX=FX, FY=FY, FZ=FZ, # MX=MX, MY=MY, MZ=MZ FX=200,FY=-250,FZ=-300, MX=500,MY=-500,MZ=-600, ), );`

I already tried with liaison_solide and allowing all displacements in the Master Node, is the third image of the first post. But I don't get the results you are showing, What software are you using for postprocessing?

I'm using version 13.2 supplied with salome-meca, can be an issue with the version?

jeanpierreaubry wrote:

sorry there was an error on the sign of MY

much better here

Thats the result I want!

Can you please elaborate how did you get it?

jeanpierreaubry wrote:

hello

`FORCE_NODALE=_F( GROUP_NO='MNode', FX=FX, FY=FY, FZ=FZ, MX=MX, MY=MY, MZ=MZ ),`

we need some numerical value here

jean pierre aubry

Sorry I forgot this two lines:

```
FX=200; FY=-250; FZ=-300;
MX=500; MY=-500; MZ=-600;
```

I attach the correct file

**Msegade**- Replies: 13

Hi

I'm trying to distribute a point load (FX, FY, FZ, MX, MY, MZ) to a set of nodes at the top of a cylinder.

My reference solution is obtained with Abaqus using a kinematic coupling between the reference node and the master

node, constraining all the degrees of freedom. I get the same results using calculix:

I have tryied the following

LIAISON_SOLIDE

This generates a stress concentration on the edge of the cylinder

`LIAISON_SOLIDE=_F(GROUP_NO = ('ForceNodes', 'MNode')),`

LIAISON_RBE3

This also generates a stress concentration and very big displacements

```
LIAISON_RBE3=(
_F(
GROUP_NO_MAIT='MNode',
DDL_MAIT=('DX','DY','DZ','DRX','DRY','DRZ'),
GROUP_NO_ESCL='ForceNodes',
DDL_ESCL=('DX-DY-DZ'),
COEF_ESCL=(1,)
),
),
```

But If I only use DRX, DRY and DRZ on the master node and fix the master node in DX, DY and DZ, so the matrix is not singular,

I get no stress concentration, but about half the displacement because FX, FY and FZ are having no effect.

```
DDL_IMPO=(
_F(
GROUP_NO = 'MNode',
DX = 0,
DY = 0,
DZ = 0,
),
)
LIAISON_RBE3=(
_F(
GROUP_NO_MAIT='MNode',
DDL_MAIT=('DRX','DRY','DRZ'),
GROUP_NO_ESCL='ForceNodes',
DDL_ESCL=('DX-DY-DZ'),
COEF_ESCL=(1,)
),
),
```

I also attach the .comm and med file

What else could I try?

Thanks

Thanks for the reply, your solution works great.

I also found another workaround: impose 0 displacement in the direction tangential (DTAN) of the edges on the left side with ARETE_IMPO. The boundary conditions are:

```
# Rotations and longitudinal displacement
clim=AFFE_CHAR_MECA( MODELE=modl,DDL_IMPO=(
_F( GROUP_NO = 'FixNodes', DZ = 0.,
DRX = 0.0, DRY = 0, DRZ = 0
),)
);
# Allow only radial displacements
rdisp=AFFE_CHAR_MECA( MODELE=modl,
ARETE_IMPO=_F(GROUP_MA='FixEdges', DTAN = 0.0));
```

Now I'm trying to visualize the magnitude of the displacement in the radial direction (which should be constant) but I'm having trouble on how to do it.

Should I do this using MODI_REPERE in code_aster or directly in Paravis?

I realized that If I clip the left end, the results are good. The problem is with the boundary condition, which generates some kind of strange local effect.

I want to allow displacements only in the radial direction on the left end, but I think that is not possible to create a cylindrical coordinate system in code_aster. If I constrain only DX=0, the matrix is singular. Any idea how can I achive this?

I also changed the mesh to linear and the modeling to DKT.

**Msegade**- Replies: 4

I'm trying to model a cylinder with shell elements and apply a pressure load going outwards in all the model. I'm getting very

strange results because the only things that moves is the fixed end of the cylinder.

The mesh is all quadrangular elements, and I defined three groups:

1. Fix: The nodes on the left end, that are all fixed

2. PressureLoad: All the faces that have the pressure load

3. ShellElements: All shells of the model

In this case the shellElements group and the pressureload group are the same. The command file is the following:

```
DEBUT();
# Read mesh
# ------------------
mail=LIRE_MAILLAGE( FORMAT='MED' );
# Add one more node on each quad element
# ----------------------------------------
modiMesh=CREA_MAILLAGE(MAILLAGE=mail,INFO=1,
MODI_MAILLE=( _F(TOUT='OUI',OPTION='QUAD8_9',),),);
# Reorient all normals so they are coherent
# ----------------------------------------
modiMesh=MODI_MAILLAGE(reuse=modiMesh,
INFO=1,
MAILLAGE=modiMesh,
ORIE_NORM_COQUE=_F(GROUP_MA=('ShellElements',),));
# Coque_3d modelisation
# ----------------------------------------
modl=AFFE_MODELE( MAILLAGE=modiMesh,
AFFE=_F(
GROUP_MA = 'ShellElements',
PHENOMENE = 'MECANIQUE',
MODELISATION = 'COQUE_3D'
)
);
# Material definition
# ----------------------
al2024t4=DEFI_MATERIAU(ELAS=_F( E = 73e6,NU = 0.33,) );
# Assignment of the material on the mesh
# ---------------------------------------
chmat=AFFE_MATERIAU(MAILLAGE=modiMesh,
AFFE=_F( GROUP_MA = 'ShellElements',MATER = al2024t4)
);
# Section Assigment
# -------------------------------------
sect=AFFE_CARA_ELEM( MODELE=modl,
COQUE=(_F( GROUP_MA = 'ShellElements', EPAIS=0.002)));
# Boundary conditions
# -------------------------------------
clim=AFFE_CHAR_MECA( MODELE=modl,DDL_IMPO=(
_F( GROUP_NO = 'Fix', DX = 0, DY = 0., DZ = 0.,
DRX = 0.0, DRY = 0, DRZ = 0
),)
);
# Loads definition
# -------------------------
charg=AFFE_CHAR_MECA( MODELE=modl,
PRES_REP=_F( GROUP_MA = ('PressureLoad'), PRES=50),);
# Resolution
# ----------
res1=MECA_STATIQUE( MODELE=modl, CHAM_MATER=chmat,
CARA_ELEM=sect, EXCIT=(
_F( CHARGE = charg),
_F( CHARGE = clim))
);
# Print results
# -------------
IMPR_RESU(FORMAT='MED',
UNITE = 80,
RESU=_F(RESULTAT=res1,
NOM_CHAM=('DEPL', ),));
FIN();
```

and the results I get are:

I also attach the salome study file.

Thanks for your help!

**Msegade**- Replies: 1

When I try to use the explode command I get the following error:

GUI library corresponding to the user action can not be found or loaded

It used to work, but for some reason It stopped working. I tried reinstalling but the error continues.

I'm using Arch Linux.

**Msegade**- Replies: 0

I'm running a study from the command line with:

` $ as_run myStudy.export `

After that, the file myStudy.export is slightly modified, adding some lines and substituting the name of the input and results files with their full paths. For example:

` F comm myStudy.comm D 1`

get replaced with:

` F comm /home/user/path/to/my/file/truss.comm D 1`

I want to keep this file portable, so I don't want it to have the full path of the files for my machine. Is there any way for prventing as_run from doing this?

Thanks