Welcome to the forums. Please post in English or French.

You are not logged in.

#1 2021-04-09 14:01:10

GuillermoBarraza
Member
Registered: 2016-05-24
Posts: 49

Overconstrained DOFs with FACE_IMPO for symmetry

Hello everyone,

I've been working on a simple model like the one in the attached image (bc_setup.png). The problem is simple:

1. I impose a symmetry boundary condition on the cylindrical face by means of:

``````symm=AFFE_CHAR_MECA(
MODELE=MODEL,
FACE_IMPO=_F(
DNOR=0.0,
GROUP_MA=('face1'),
),
);``````

2. Then, on the top face I impose a fixed constraint by means of:

``````support==AFFE_CHAR_CINE(
MODELE=MODEL,
MECA_IMPO=_F(
DX=0.0,
DY=0.0,
DZ=0.0,
GROUP_NO=('face2'),
),
);``````

3. Finally, I apply a face force on the bottom face:

``````force=AFFE_CHAR_MECA(
MODELE=MODEL,
FORCE_FACE=_F(
FX=0,
FY=0,
FZ=10,
GROUP_MA=('face3'),
),
);``````

After running my simple linear static simulation (MECA_STATIQUE) I run into the following problem:

`````` !------------------------------------------------------------------------------------------------------------------------------!
! <EXCEPTION> <FACTOR_11>                                                                                                      !
!                                                                                                                              !
! Problème : la matrice est singulière ou presque singulière :                                                                 !
!   Lors de la factorisation de la matrice, on a rencontré un problème                                                         !
!   (pivot nul ou presque nul) à la ligne 3843 qui correspond au degré de liberté donné ci-dessus.                             !
!                                                                                                                              !
! Risques et conseils :                                                                                                        !
!    * Si la ligne correspond a un degré de liberté physique, il s'agit probablement d'un mouvement                            !
!      de corps rigide mal bloqué.                                                                                             !
!      Vérifiez les conditions aux limites.                                                                                    !
!      Si vous faites du contact, il ne faut pas que la structure ne "tienne" que par le contact.                              !
!      Vérifiez également les caractéristiques matériaux (module d'Young, ...).                                                !
!                                                                                                                              !
!    * Si la ligne correspond a un degré de liberté de Lagrange, il s'agit sans doute d'une condition                          !
!      limite redondante.                                                                                                      !
!      En particulier, il se peut que la relation linéaire surabondante provienne des conditions de contact.                   !
!      Peut-être devriez vous exclure certains noeuds des conditions de contact                                                !
!      (mots clés SANS_NOEUD et SANS_GROUP_NO).                                                                                !
!                                                                                                                              !
!    * Si le solveur utilisé est LDLT ou MULT_FRONT, vous pouvez utiliser le solveur MUMPS                                     !
!      car celui-ci est le seul à pouvoir factoriser les matrices qui ne sont pas définies positives.                          !
!                                                                                                                              !
!    * Parfois, en parallèle, le critère de détection de singularité de MUMPS est trop pessimiste ! Il reste néanmoins souvent !
!      possible de faire passer le calcul complet en relaxant ce critère (augmenter de 1 ou 2 la valeur du mot-clé NPREC) ou   !
!      en le débranchant (valeur du mot-clé NPREC=-1) ou en relançant le calcul sur moins de processeurs.                      !
!                                                                                                                              !
!    * Il se peut aussi que ce phénomène soit tout à fait normal avec X-FEM si la fissure passe                                !
!      très près d'un noeud.                                                                                                   !
!      Si le nombre de décimales perdues n'est pas trop grand (max 10 décimales),                                              !
!      vous pouvez relancer le calcul en augmentant le nombre de décimales perdues autorisé :                                  !
!      mot-clé NPREC du mot clé facteur SOLVEUR.                                                                               !
!      Sinon, contactez l'équipe de développement.                                                                             !
!------------------------------------------------------------------------------------------------------------------------------!``````

By looking into the problem a bit more in detail I found that one node which belongs to the symmetry boundary condition (symm) is overconstrained:

`````` Degré de liberté de Lagrange associé à une relation linéaire entre plusieurs degrés de liberté.
La relation linéaire a été définie par la commande ayant produit le concept de nom symm.
La liste des noeuds impliqués dans cette relation linéaire est la suivante:
Node N1257
Node N1257
Node N1257``````

The "geometry" displayed in the image is a simplification of the real problem, where I cannot replace FACE_IMPO with DNOR=0 since the normal is not the same at every node on the face.

Any idea how can I overcome this problem?

*NOTE* I have already tried to remove the nodes on the shared edge from the support boundary condition, but this leads to the displacement of these nodes in the Z direction (violating the imposed zero displacements on the upper face)

Any help is really appreciated!

Last edited by GuillermoBarraza (2021-04-11 18:27:22)

Offline

#2 2021-04-09 14:17:39

GuillermoBarraza
Member
Registered: 2016-05-24
Posts: 49

Re: Overconstrained DOFs with FACE_IMPO for symmetry

I forgot to attach the image. Here it is:

Attachments:

Offline

#3 2021-04-15 14:38:02

Ect
Member
From: Switzerland
Registered: 2008-05-15
Posts: 103

Re: Overconstrained DOFs with FACE_IMPO for symmetry

Hello,

Over constraints aren't automatically solved, still having this feature would really help lazy people like me.

It can be easily circumvented by excluding the offending nodes:

``````mesh = DEFI_GROUP (reuse = mesh, MAILLAGE = mesh,
CREA_GROUP_NO = (
_F (NOM='exclude', INTERSEC=('face1','face2')),
)
)

symm = AFFE_CHAR_MECA(...
FACE_IMPO=(
_F(GROUP_MA='face1', DNOR=0.0, SANS_GROUP_NO=('exclude',)),
),
)``````

Cheers,
Ect

Offline

#4 2021-04-16 11:42:06

GuillermoBarraza
Member
Registered: 2016-05-24
Posts: 49

Re: Overconstrained DOFs with FACE_IMPO for symmetry

I have tried that before. Nevertheless, by doing what you propose, I am removing a group of nodes from the symmetry condition, which will result in wrong behavior. Take as an example the following:

Assume that instead of imposing only 0 displacement/rotation to the nodes of the top face (as depicted in the image I shared) I do the following:

``````mesh = DEFI_GROUP (reuse = mesh, MAILLAGE = mesh,
CREA_GROUP_NO = (
_F (NOM='exclude', INTERSEC=('face1','face2')),
)
)

# Let's apply a displacement in the X direction on the top face
disp=AFFE_CHAR_CINE(
MODELE=MODEL,
MECA_IMPO=_F(
DX=0.0,
DY=1.0,
DZ=0.0,
GROUP_NO=('face2'),
),

symm = AFFE_CHAR_MECA(...
FACE_IMPO=(
_F(GROUP_MA='face1', DNOR=0.0, SANS_GROUP_NO=('exclude',)),
),
)
);``````

then, the nodes on the shared edge between disp and symm will have some displacements in the y-direction, violating the symmetry condition.

Guillermo

Offline

#5 2021-04-19 16:30:00

Ect
Member
From: Switzerland
Registered: 2008-05-15
Posts: 103

Re: Overconstrained DOFs with FACE_IMPO for symmetry

Hello,

If I understand correctly the two boundary conditions are not compatible. It’s more a modeling question then...

Regards,
Ect

Offline