FEAP User Forum

FEAP => General questions => Topic started by: firat_dal on November 21, 2023, 04:44:17 AM

Title: Arc-length Method along with proportional loads
Post by: firat_dal on November 21, 2023, 04:44:17 AM
Dear Prof. Taylor, Prof. Govindjee, and FEAP community,

I have a 2-D plane strain problem exhibiting instability and would like to solve
the system of equations by using the "arc-length method". The geometry and
the boundary conditions are rather complex and include user-defined elements,
materials, and macros. Thus, I could not share the input file. But, let me clarify
it for you. By the way, I am using FEAP v8.5.

I impose the (compressive) displacement on lateral surfaces of the body while
the bottom surface is fixed and the top boundary is stress-free (free to move).
By the way, the deformation in the y-direction for the nodes on the top surface
is equal since the deformation in y is LINKed to each other. Then, lateral
displacement is held at that level of displacement, and I imposed another
compressive displacement to the node rigidly connected to the upper surface.
To impose load protocol, I used LOAD, PROP commands. Moreover, I employed
MESH and NEWF commands in the input file to apply (compressive)
displacement on the top surface, since the Neumann boundary condition
changes to the Dirichlet boundary condition. I calculate the sum of the reaction
forces at the bottom (fixed) surface for each time step. By writing the y-displacement
of any node located on the top surface, I can obtain the longitudinal (y-) strain
(using the TPLOt command for the corresponding node). At some point (the limit
point), FEAP shows NaN error due to stability issues. To solve this problem, I
need to use the arc-length method. However, due to already defined proportional
loads, I could not run the analysis with the ARCL,,2 command although I commented
out the lines for "arcf" in "program/pmacr2.f" and modified program/arclen.f. Do I
have to modify any other subroutine or is it impossible to solve this issue for such
a case?

I am studying the book "Nonlinear Finite Element Method" by Prof. Wriggers. I do
not know but maybe I need to write any other user macro or something or there
may be something easy to change to solve this issue. However, I could not find a
way to solve this problem. Thank you very much in advance for your help and advice.
Sincerely.

Firat
Title: Re: Arc-length Method along with proportional loads
Post by: Prof. R.L. Taylor on November 22, 2023, 12:05:06 PM
I do not know the sequence of steps that will work for what you want to do.  I would suggest setting up a simple problem with a hyper elastic material to test the sequence.

1. Do the lateral compression part of the solution and save using the NEWF command.

2. I think you need to write a command that turns off the LINK (see ./program/seteq.f for the flags that need to be made FALSE).

3. Turn off all the PROP loads

4. Set top BC to what you want.

5. Try using ARCLENGTH with what you want to do.

Report what works and what does not
Title: Re: Arc-length Method along with proportional loads
Post by: firat_dal on November 29, 2023, 08:49:09 AM
Dear Prof. Taylor,
Thank you very much for your quick reply and sorry for the late response to
this post.

I have tried to make an analysis accounting for your suggestions. In this
problem, my goal is to prepare simulations of an experiment with a specific
loading protocol and to obtain the mechanical response of the model. The
model includes geometric and material inhomogeneities.

Since the top and bottom surface of the specimen is glued to the rigid plates
in the experiment, the specimen does not show deformations in lateral and
out-of-plane directions on such surfaces. The bottom plate is clamped to the
test machine before lateral compression, while the top plate is free to move
(stress-free). To be able to model it, the bottom edge of our 2-D plane-strain
model is fixed, while the y-components of the nodes on the top edge of the
model are LINKed. Thus, the amount of deformation in the y-direction for the
nodes on the top edge remains the same. Since I know that the nodes on the
top edge have active degrees of freedom in the y-direction when they are
LINKed and therefore compressive strain cannot be applied in that direction,
I connected one of these nodes with an almost rigid truss element. Because
one end of such a truss element is free (since the other is attached to the node
on the upper edge of the model), I could apply compression to the free node of
the truss element in the y-direction.

So, once the abovementioned settings are arranged, the load protocol can be
explained sequentially.

1. The lateral compression (compression in x-direction) is applied. The amount
of lateral displacement increases to a certain level and is held at that level. During
such an operation, the top edge is free to move.

2. Compression (displacement-controlled) in the y-direction is imposed on the free
end of the truss. The amount of compression is linearly proportional with time. To
be able to apply compression on the deformed material, I employed the NEWF
command. since, during this operation, instability is induced, I need to use the
arclength method.

Up to now, I have tried to explain the procedure that I employed. From now on,
I am going to report what I did and what I got.

1. I remove LOAD, PROP, and DISP commands. Instead, I apply the DISP
command only to apply lateral compression.

2. I again use NEWF to hold the material at that deformed level by imposing
Nodal Reactions.

3. I have added PROP, OFF.

4. I used the MESH command to set the free end of the truss restrained to
apply FORCE instead of DISPlacement. For ARCL,,2 command, force instead
of displacement is required.

5. I set ARCL,,2 between BATCH and END commands before TANG,,1
command. I have set no numerical damping.

When I ran the analysis, I got

   Arc length set to ON.
   Arclength Method: Standard Load Control
          Kflag =    2 Lflag =    0
          Numerical damping =   1   (1 = no damping)

I discovered that arclen.f is active, but the arclength calculations were not
made. The force defined after the FORCE command is read in arclen.f but
no new calculations to update the displacement are made in arclen.f. I have
checked the displacement of a node on the top edge of the model by using
the TPLOt command. The arclength operations are not made.

As indicated in your second recommendation, I do not understand why I need
to turn off the LINK since I want to apply uniform compression displacement in
the y-direction after I apply the lateral compression part. I have prepared an
input to clarify the load protocol. I have needed to simplify some parts of the
input file. You may find it in the attachment. I am sorry for such a long explanation.
I could not find a way to explain the procedure more clearly. Thank you very much
for your help and recommendations in advance. Sincerely yours.
Title: Re: Arc-length Method along with proportional loads
Post by: Prof. R.L. Taylor on December 01, 2023, 03:17:32 PM
I tried the steps with the attached file and it seems to be solving what I want.   It may not be fully correct but test on your problem to see if it helps.

You state the bottom is fully fixed but I had it only fixed vertically so the problem can compress uniformly, otherwise you will compress only the boundary elements at the bottom.
Title: Re: Arc-length Method along with proportional loads
Post by: firat_dal on December 05, 2023, 07:33:37 AM
Dear Prof. Taylor,

Thank you very much, Sir. It works well in my case. Best wishes.

Firat