ebdoep2
Mechanical
- Apr 21, 2011
- 27
Is there a way to create nonlinear displacement constraints? In the past I have used constraint equations to control displacement (interaction module>>constraints>>create>>equation) but this method only allows you to enter a linear relationship.
In a simple example what I would like to do is be able to take two nodes in a 2D plane let’s say 1cm apart initially. Then prescribe for the first load step that now the two nodes must be 0.95 cm apart, as a result the structure around this two nodes would deflect. Basically instead of applying loads I am applying displacement constraints. The constraint equation for this example would look like:
0.95 = sqrt( (N1x-N2x)^2 + (N1y-N2y)^2 )
The common quick response I get to this is just use displacement BCs. But I don’t know where the two nodes will be (that is what I am solving for), all I know is their initial location (and therefore distance between them) and there final distance between them.
Ultimately I want to do this for more than two nodes and on a larger scale, but I don’t want to muddy the waters. If I can get this simple example to work I will be set after a little scripting.
In a simple example what I would like to do is be able to take two nodes in a 2D plane let’s say 1cm apart initially. Then prescribe for the first load step that now the two nodes must be 0.95 cm apart, as a result the structure around this two nodes would deflect. Basically instead of applying loads I am applying displacement constraints. The constraint equation for this example would look like:
0.95 = sqrt( (N1x-N2x)^2 + (N1y-N2y)^2 )
The common quick response I get to this is just use displacement BCs. But I don’t know where the two nodes will be (that is what I am solving for), all I know is their initial location (and therefore distance between them) and there final distance between them.
Ultimately I want to do this for more than two nodes and on a larger scale, but I don’t want to muddy the waters. If I can get this simple example to work I will be set after a little scripting.