Dear all,

I have a question regarding constrained dofs that are themselves constrained by 
other dofs within the same element. Apparently, this leads to a non-symmetric 
constrained element matrix which I illustrate here by a small example:

I consider an element with dof indices = (0,1,2,3). I impose the following 
contraint rows

{
  constrained_dof_index = 0;
  constraint_row[1] = 1.0;
  constraint_row[2] = -1.0;
}
{
  constrained_dof_index = 1;
  constraint_row[0] = 1.0;
  constraint_row[3] = -1.0;
}

using

system.get_dof_map().add_constraint_row( constrained_dof_index, constraint_row, 
0., true);

Since dof 1 is also constrained, these constraints get preprocessed so that

dof_map.print_dof_constraints();

yields

Constraints for DoF 0:      (0,1)     (2,-1)     (3,-1)    rhs: 0
Constraints for DoF 1:      (2,-1)     (3,-2)    rhs: 0

This means that the following constraint matrix is generated:

C =
     1     0    -1    -1
     0     0    -1    -2
     0     0     1     0
     0     0     0     1

Assume now that the (symmetric) element matrix K is given by

K =
     1     2     3     4
     2     3     4     5
     3     4     5     6
     4     5     6     7

Then

C^T*K*C =
     1     0     0    -1
     0     0     0     0
     0     0    -1    -1
    -1     0    -1     0

This means that

dof_map.constrain_element_matrix(K, dof_indices, 
/*asymmetric_constraint_rows*/false);

generates the (non-symmetric) constrained matrix

K_constrained =
       1        0        0        0
       0        1        0        0
       0        0       -1       -1
      -1        0       -1        0

because the first two rows are replaced by unit rows.

My question would be if this cannot be avoided so that I also have to use a 
non-symmetric solver in this case.

Best,
Jonas
------------------------------------------------------------------------------
Check out the vibrant tech community on one of the world's most
engaging tech sites, Slashdot.org! http://sdm.link/slashdot
_______________________________________________
Libmesh-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/libmesh-users

Reply via email to