First of all, the new algorithm shows a load distribution which is compatible with a linear underlying stress distribution. This should mitigate problems with the singularity of the hyperbolic distribution in earlier versions.
Note that the new algorithm is rather a pre-processing feature than a multi-point constraint, which is fine for small displacements.
I observed a nasty problem: In my tests with 2.19 initially *distributing didn’t work at all. However, the official example
coupling7.inp worked and so did a minimum example with a single C3D8I element.
It turned out that the problem was in the *cload card, which didn’t seem to accept nset identifiers any more.
The following example has two steps
- cload applied to node 9
- cload applied to nset Nload (which consists of just node 9)
- cload applied to a set of ordinary nodes (not being reference of a coupling)
Only in step 1 and 3 the load is actually applied. This means that *cload usually accepts nsets as node identifiers, but not if these nodes include reference nodes of a coupling card. Can anyone reproduce this problem?
*NODE, NSET=Nall 1,-1.0, -1.0, -1.0 2, 1.0, -1.0, -1.0 3, 1.0, 1.0, -1.0 4,-1.0, 1.0, -1.0 5,-1.0, -1.0, 1.0 6, 1.0, -1.0, 1.0 7, 1.0, 1.0, 1.0 8,-1.0, 1.0, 1.0 9, 0.0, 0.0, 1.0 *ELEMENT, TYPE=C3D8I, ELSET=Eall 1, 1, 2, 3, 4, 5, 6, 7, 8 *NSET,NSET=Nfix 1, 2, 3, 4 *NSET,NSET=Nload 9 *nset,nset=ntop 5,6,7,8 *SURFACE, NAME=Sload 1, S2 *boundary Nfix,1,3 ** material definition *material, name=dummy *elastic 10000,0 ** material assignment to bodies *solid section, elset=Eall, material=dummy ** coupling *coupling,surface=Sload,refnode=9,constraint name=load *distributing 1,6 ** Moment about x *step *static *cload 9,4,1000. *node file U *el file S *section print, surface=Sload, name=so1 SOF *el print, elset=Eall, totals=only ELSE *end step *step *static *cload, op=new Nload,5,1000. *node file U *el file S *section print, surface=Sload, name=so1 SOF *el print, elset=Eall, totals=only ELSE *end step *step *static *cload, op=new ntop,3,1000. *node file U *el file S *section print, surface=Sload, name=so1 SOF *el print, elset=Eall, totals=only ELSE *end step
(Edited to add the missing ntop definition)