convergence of ShellMITC4 element

Forum for OpenSees users to post questions, comments, etc. on the use of the OpenSees interpreter, OpenSees.exe

Moderators: silvia, selimgunay, Moderators

Post Reply
kstn
Posts: 9
Joined: Tue Jul 10, 2012 3:56 am
Location: Ruhr University Bochum

convergence of ShellMITC4 element

Post by kstn »

Hello

I ran a patch test to check the accuracy of the ShellMITC4 element. The reference of the patch test is according to the example 1 of the paper: Dvorkin & Bathe, A continuum mechanics based four node shell element for general nonlinear analysis. The paper shows that if the element works, the patch test should reproduce the linear distribution of curvature for h=1 & 1e-3. However, it only works if the thickness = 1. If the thickness=1e-3, the Newton solver diverges. I think there is a bug in linearization of this element. Below is the code for the patch test

model basic -ndm 3 -ndf 6

section ElasticMembranePlateSection 1 2.1e6 0.3 1.0e-3 0.0

node 1 0.0 0.0 0.0
node 2 10.0 0.0 0.0
node 3 10.0 10.0 0.0
node 4 0.0 10.0 0.0

element ShellMITC4 1 1 2 3 4 1

fix 1 1 0 1 0 1 0
fix 4 1 1 1 0 1 0

pattern Plain 1 Linear { ; # define LoadPattern 1. impose load in a linear manner
load 2 0.0 0.0 0.0 0.0 1.0 0.0
load 3 0.0 0.0 0.0 0.0 1.0 0.0
}

numberer Plain
analysis Static
test RelativeNormUnbalance 1.0e-12 10 1 2
analyze 1

print -node; # print all nodes
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: convergence of ShellMITC4 element

Post by fmk »

thanks .. i will look into it .. in the meantime the ShellDKGQ seems to work for the test.
kstn
Posts: 9
Joined: Tue Jul 10, 2012 3:56 am
Location: Ruhr University Bochum

Re: convergence of ShellMITC4 element

Post by kstn »

You're correct, the ShellDKGQ also works robustly for other tests as well. Nevertheless, in the literature, MITC4 is claimed to be more superior in terms of accuracy. I can help get debug it, if you point me to some material containing explicit algorithm, equations, ...
Best regards
kstn
Posts: 9
Joined: Tue Jul 10, 2012 3:56 am
Location: Ruhr University Bochum

Re: convergence of ShellMITC4 element

Post by kstn »

Hi

I would like to report that starting from r5141, this commit below destroyed the convergence of ShellMITC4 element:

void
ShellMITC4::formResidAndTangent( int tang_flag )
{
...
//start Yuli Huang (yulihuang@gmail.com) & Xinzheng Lu (luxz@tsinghua.edu.cn)
updateBasis( ); // I'm not quite sure why those guys put it here
//end Yuli Huang (yulihuang@gmail.com) & Xinzheng Lu (luxz@tsinghua.edu.cn)
...
}

Decomment this line make the above example works, even with small thickness (h=1.0e-3). I'm not quite sure why this line is added as such. Because except the geometry is nonlinear, there is no need to update the basis function at node.
fmk
Site Admin
Posts: 5884
Joined: Fri Jun 11, 2004 2:33 pm
Location: UC Berkeley
Contact:

Re: convergence of ShellMITC4 element

Post by fmk »

if you modified the code at the head of the repository, can you send me the Shell code you have .. reason is that when i modified the code so that updateBasis is an option it still failed to converge for your problem for both cases of method being called and method not called.

if you just used rev prior to 5141 let me know.

thanks
frank
kstn
Posts: 9
Joined: Tue Jul 10, 2012 3:56 am
Location: Ruhr University Bochum

Re: convergence of ShellMITC4 element

Post by kstn »

You're right. I made a mistake. For this example I can get convergence only with tol > 1e-08 (test RelativeNormUnbalance 1.0e-8 10 1 2). For the other example, I can get convergence with lower tolerance, but it's with higher thickness. This is still skeptical that that code segment destroyed the element.
P/S: my code is the latest one removing the one added at r5141.
Post Reply