Open sebastianpech opened 5 years ago
I managed to get it running with setting the matching dofs. Now I have the problem that in the stage of writing back the field results, the wrong dofs are written to the fields. I think the problem is that this function infers the number of nodes with
nnodes = round(Int, length(u)/field_dim)
which is obviously not given for my problem because u
has storage for 6 dofs per node while field_dim
is 3.
So the more general way would be to use get_gdofs
to extract the values from u
and then reshape.
I can make a PR for that if that is something that's useful for the package and is not messing with something else (I don't have such a good overview of all the related packages yet ;))
I implemented a simple spring element (3 dofs, only normal forces). Now I want to combine it with the euler-bernoulli beam element. However, the global stiffness matrix is not positive definite. In general mixing elements should be supported right? I think the main problem is that while having the same geometry for both types of elements, one has 3 and the other has 6 dofs. Here no conversion between problem dofs to solver dofs is done and here only problem based dofs are considered, right? So the only way I currently see to get the assembly right is making sure that the dof numbering between the two problems matches, which is not very user friendly.
Is there something I'm missing or is the only way to use
set_gdofs(problem, element, dofs)
and manually map the dofs of the 6 dof problem to the ones of the 3 dof problem?