FEAP User Forum

FEAP => Programming => Topic started by: Nish on January 21, 2020, 12:51:13 AM

Title: Interface Elements
Post by: Nish on January 21, 2020, 12:51:13 AM
Dear Feap community,

I am going to implement a 2D interface element with a bilinear cohesive zone material law. The element is a 4 node element with 2 degrees of freedom in x and y direction.
Can I use a 2D solid element and add a new user material model or should I create a new element? which one is better choice from the computational point of view?

Regards
M.Ranjbar
Title: Re: Interface Elements
Post by: mehrangh2016 on January 21, 2020, 03:21:53 AM
You can implement the UEL (user element) for the cohesive elements and call the related material constants in your input file. However, from the computational point of view, it does not look to be any main difference between these two alternatives you have mentioned. I think, writing individually UMAT (user material) and UEL can simplify your job. Instead of this choice, you can do easily in your UEL what you want to do in your UMAT.

Regards,
Title: Re: Interface Elements
Post by: Prof. R.L. Taylor on January 21, 2020, 08:26:02 AM
M. Ranjbar,

It is not feasible usually to use the solid element.  A cohesive model may work off the difference in displacements between the two edges of the interface and solid elements may not compute the correct deformation measure.

Thus, I would recommend you write a user element that has the correct kinematics, including the ability to have zero thickness.
Title: Re: Interface Elements
Post by: Nish on January 23, 2020, 04:19:03 AM
Thank you for considering my question.
Title: Re: Interface Elements
Post by: Nish on February 27, 2020, 06:12:09 AM
Dear FEAP group,

If a user element can be used in conjunction with a user material model:
in elmt01 subroutine, material properties should be derived from d(*) or from ud(*)
or maybe somewhere should copy ud(*) to d(*)?

Regards
Title: Re: Interface Elements
Post by: Prof. R.L. Taylor on February 27, 2020, 09:16:26 AM
The ud(*) properties are actually available from d(*).

ud(1) is located at d(ndd-nud+1), and the parameters are in cdat1.h

Title: Re: Interface Elements
Post by: Nish on February 28, 2020, 06:45:15 AM
Thank you prof. Taylor for considering my questions.

when I print "uprm+1"  in inmate.f,     it is 302

when I print  "ud(1)"     in umati01.f    it is 7 (in agreement with inp file data)

when I print d(302) after calling inmate.f in elmt01.f, it is not equal to 7 and is 0.00

I am confused
Title: Re: Interface Elements
Post by: Prof. R.L. Taylor on February 28, 2020, 09:15:52 AM
Can you post the input file, the umat routines and the element so we can find the difficulty location?
Title: Re: Interface Elements
Post by: Nish on March 02, 2020, 12:25:43 AM
Here you go

Note: I have no umatl input file, I implement the material behavior totally in elmt01.

Title: Re: Interface Elements
Post by: Prof. R.L. Taylor on March 02, 2020, 08:31:08 AM
I do not see where you are trying to access the "ud" input values.  Also the input file yo provided does not input any of the "ud" values.  What do you want us to reply based on this posting?
Title: Re: Interface Elements
Post by: Nish on March 10, 2020, 05:08:05 AM
Dear prof. Taylor,

thank you.
I could find the reason, I didn't put the print command after calling inmate.
sorry for bothering you with this question.
Title: Re: Interface Elements
Post by: Nish on March 16, 2020, 06:52:58 AM
Dear FEAP community,

In the time of creating a new element (user element),
Should some considerations take out for the case of applying displacement on a node? (DISP command in inp file)
or just residual and stiffness matrix components are enough for both force or displacement loading?(FORCE,DISP)
I mean does external loading style(force or displacement) affect on our element subroutine or not?

Regards
Title: Re: Interface Elements
Post by: Prof. R.L. Taylor on March 16, 2020, 10:47:51 AM
Yes, the loading type has different depends on the developments in your elements.

Force loading requires that the residual vector be correct, however, the tangent matrix can be approximate provided the solution converges.

Displacement loading (non-zero) uses the tangent matrix to compute the "effective forces" on adjacent nodes to the boundary caused by the displacement.  Normally, this action is applied only in the first iteration of each step and uses the tangent matrix from the converged solution at the last load step.  Thus, it is a much more sensitive action.  If convergence occurs all should be o.k. provided once again the residual is correctly computed.

One can follow the steps used in the solution by looking at the module ./program/pform.f
Title: Re: Interface Elements
Post by: Nish on March 17, 2020, 08:45:33 AM
Many thanks prof. Taylor for the reply.
Title: Re: Interface Elements
Post by: Nish on March 28, 2020, 02:32:46 AM
Dear FEAP community,

At first, I hope health and peace for all of you in such a challenging time for all people around the world,

I wanted to know, Is it possible to use a user element with a FEAP element and assemble them together?

I have implemented an interface elements which is successful in all patch tests when I use it alone, but when I assemble it with FRAME elements, strange results appear.
Is there some more possible consideration in element implementation in this case ?

my element routine is attached in the case of necessity.

Regards
M R
Title: Re: Interface Elements
Post by: Prof. R.L. Taylor on March 28, 2020, 09:26:42 AM
Thank you for your wishes.

You should be able to mix standard feap elements with user elements provided the degrees-of-freedom are in the identical locations.   It is unusual to mix a frame and interface element though.  Maybe you should describe how you are using the the elements in a problem.

The file you posted is not useful as a pdf?
Title: Re: Interface Elements
Post by: Nish on March 28, 2020, 09:40:08 AM
Dear prof. Taylor

Thank you for your reply.
I will send you the txt format now.
my layer is Timoshenko beam element with 3 dof and interface with 2 dof per node. will you please tell me why do you call it unusuall?

Regards
Title: Re: Interface Elements
Post by: Prof. S. Govindjee on March 28, 2020, 11:17:08 AM
What type of element does the interface element connect to?

Timoshenko + Interface + ??

Title: Re: Interface Elements
Post by: Prof. R.L. Taylor on March 28, 2020, 12:32:11 PM
You need to read the programmer manual carefully to see how the  element stiffness matrix is defined for each node.

Your element sets the locations explicitly and will only work for problems with 2 degrees-of-freedom at a node.  the frame element has 3 so your element now will not work.

Look at an element in feap, say sld2d1.f in ./elements/solid2d to see how the stiffness matrix is organized so that it can work no matter how big ndf is, as long as it is 2 or more.
Title: Re: Interface Elements
Post by: Nish on March 28, 2020, 02:30:40 PM
Dear prof. Govindjee

FRAME (SHEAR ON) is connected to interface elements (which are implemented in my subroutine elmt01). nothing more.

Regards
Title: Re: Interface Elements
Post by: Prof. S. Govindjee on March 28, 2020, 11:14:06 PM
What is your 'Interface' element supposed to do?
Title: Re: Interface Elements
Post by: Nish on March 29, 2020, 02:29:56 AM
Dear prof. Govindjee,

It is supposed to soften as soon as its deflection comes to a threshold and breaks after experiencing a critical value of deflection.
in fact,each integration point, follow a bilinear cohesive zone model. we expect to simulate the crack propagation in the frame elements by using the interface elements.

Regards
Title: Re: Interface Elements
Post by: Prof. S. Govindjee on March 29, 2020, 06:37:51 PM
sounds like you want to be using all three dofs.  u,v,theta tied and then at some stage they start to develop a 'discontinuity' in all three dofs.
Title: Re: Interface Elements
Post by: Prof. R.L. Taylor on March 29, 2020, 07:45:49 PM
It would help if you can send a picture showing how the interface element is to be used with the frame element.

Title: Re: Interface Elements
Post by: Nish on March 30, 2020, 01:33:17 AM
Dear prof. Taylor,

I did based on you told and now it is working properly!
Many thanks

Regards
Title: Re: Interface Elements
Post by: Nish on March 30, 2020, 10:31:17 AM
Dear Prof. Taylor, Prof. Govindjee,

In a nonlinear problem, if the residuals are as order of E0 or E1, but the results are very close to the analytical solution, what could be the error source?
I mean, in my nonlinear solution I have the warning for nonconvegency with the residual in order of 1 or 10, but my results agree with the analytic solution so much.

Regards
Title: Re: Interface Elements
Post by: Nish on March 30, 2020, 10:41:01 AM
The schematics of the problem is also attached.
Title: Re: Interface Elements
Post by: Prof. S. Govindjee on March 30, 2020, 04:51:38 PM
The residual is show as large but the solution is converged there could be a scaling problem between the dof if they are reflecting different units/physics.  Or there can be an error in the residual computation.
Title: Re: Interface Elements
Post by: Nish on April 07, 2020, 09:53:30 PM
Dear FEAP community,

I am solving a nonlinear problem with FEAP without changing the default tolerances for convergency.
As I read in the user manual, the default residual value is 1e-6,
but I have this message in my output file:

*WARNING* NO CONVERGENCE: Time =  9.01100E-02: Residual =  9.12040E-08

why does it assume e-8, as nonconvergency?

Regards