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)