Axisymmetric Nonlinear Material Metal Forming Observations

I'm newly retired and a new Mecway user coming from a previous background as an aircraft stress analyst with access to Abaqus, Nastran/Patran, Pro/Mechanica and a few other FEM packages. I'm using Mecway it to do some metal forming simulations for some personal projects at home. I've been modeling the Abaqus hemispherical punch example as a good starting point before I start with the models of the metal forming operations I want to eventually simulate. Because Mecway doesn't have an option for nonlinear axisymmetric models, even with CCX option, I've had to try some different strategies.

I originally started using a quarter model with symmetry conditions applied. This worked fine except the models ended up being large and took a long time to solve. It did allow all of the options including rigid node/surface coupling for fixing and moving the dies as well as making them rigid surfaces. It only shows 90 degrees of the model in post processing but is convenient as you get to see a slice through the center of the mode.

I then did a linear axisymmetric model to generate most of the model and then manually edit the .inp file to add the NLGEOM flag and add the plastic material properties, the rigid node/surface coupling and the contact. This method worked but it was not a seamless workflow and took some care with the copy/paste operations to get things correct.

I also tried cyclic symmetry boundary conditions on a wedge of the model. It works but does not allow for the rigid node/surface coupling (I think as I modeled it several days ago and don't remember exactly) because you end up trying to apply multiple SPC/MPC to the dependent side of same nodes. It does show the entire 360 degree model in post processing.

Currently I've been working with the method in discussion https://mecway.com/forum/discussion/1051/axysimmetrical-nonlinear-model/p1 and it works except that you can't use rigid node/surface coupling because of SPC/MPC issue. I've just done a Y displacement BC motion for the moving part and Y displacement BC of 0 for the fixed parts as well as increasing the Young's Modulus for the dies by 10 or 100 times. You have to apply 0 displacement in the X and Z directions for the nodes on the Y axis or else it creates a hole if the model extends to the Y axis.

Another thing I've noticed is that when you do the 1 degree revolve and the part extends to the Y axis, it creates HEX8 or HEX20 elements along the Y axis. I figured out how to fix this by selecting all of the nodes on the Y axis after the revolve and using merge nearby nodes you can collapse them into coincident nodes and the elements will automatically convert to WEDGE6 or WEDGE15. I also adjust them to X=0 and Y=0 just to be sure.

Ken

Comments

  • edited January 2022
    Hello Ken

    I think the easiest way for axial symmetry and nonlinear through Mecway is the thin wedge. Enforce symmetry using elastic support with a high normal stiffness and zero tangential stiffness so it behaves like frictionless support which is zero displacement normal to the surface. Its advantage is that it doesn't interfere with other constraints the way the rigid constraints do.

    Yes, revolve has that problem of leaving hex elements at the axis and merge is how I correct it too.

    Cyclic symmetry with CCX can show all segments in the solution.
  • edited January 2022
    Hi kennethfugate, Victor and Happy new 2022 everyone,

    What a nice challenge!. I have tested this nonlinear “Pseudo-Axisymmetric” problem removing just some elements from the 0-Axis in it works always for the descending run and for the full cycle at some specific cases. I don’t think there is an issue with the SPC/MPC in this case. After some testing I can see that the points that makes failing are:

    -Too much stiffness in the contact.
    - Lifting the punch and the sudden popup of the plate that remains stick too much time at the punch when it is lifted.
    -Ramberg is not available and the user material curve is failing for me. It only works in bilinear. If you have solved this point let me know. Maybe I’m introducing the material properties wrong.
    I found the strain values for Isotropic Curve and Kinematic Curve where kind of strange in some previous testing I made. I don’t feel very confident with those material models yet.

    I think the BC’s shouldn’t be the problem.
    Pressing 18.6mm is 6 min in my laptop. 28.5mm takes 13min . 34.5mm not tested. I’m posting my file 18.6mm. Haven’t check strains or stresses. It is just to show BC’s. I have a couple of ideas and I will try without removing any element.
    In the new Calculix version there is some improvement in the C3D8I elements and something in Plasticity not sure what it is (“Coded sensitivity of the equivalent plastic strain “) but there is no a WIN version yet.
  • Very close now. :) ¿Did you managed to include Ramberg material model?
  • Thanks Victor and Disla. Your model is similar to the one I made on 12/28. Mine has more elements and uses a plastic material definition instead of bilinear isotropic material. It also has enforced displacements on all the die and punch nodes so that they are infinitely stiff. I used to use Abaqus which would use rigid elements or analytical rigid surfaces. I'm learning the differences between Calculix and Abaqus solvers. The material properties I used are in:

    https://abaqus-docs.mit.edu/2017/English/SIMACAEEXARefMap/simaexa-c-thinsheetstretching.htm

    I used the *plastic material properties in the .inp file instead of the Ramberg-Osgood material properties.

    My model ran in 14 minutes on my laptop and yours ran in less than 5 after changing the motion of the punch and using *STATIC, SOLVER=PARDISO. The punch movement I changed to is Y=34.5*((1-cos(pi*t/.75))/2), which is what I used in my 12/28 model. It has a slower start and movement at the peak displacement than using a sine function. The .75 factor allows enough punch movement after peak for springback but doesn't need to go all the way back to 0 displacement.

    BTW, I'm using Calculix 2.18 from bConverged. In my testing, I have only seen a few second difference time difference between Pardiso and Pastix solvers for runs that are about two hours run time.

    Thanks again, Ken
  • I didn't see your second reply but had inadvertently answered.

    Below are the Strain, Stress (Pa) values that are from the Abaqus example modified to work with Mecway. The Mecway calculated Young's modulus is 206787.495438511MPa, the Poisson's ratio is 0.3 and density is 7850 kg/m^2. The elastic strain has to be added back into the Abaqus values for Mecway. I wrote a quick spreadsheet to do it but didn't save it. I've attached a spreadsheet that I made that calculates Isotropic Hardening (plastic) values for use in Mecway as well as one that uses the form of Ramberg-Osgood that is used in Bruhn. You can copy/paste the values at the right side of the table into the material dialog. I've also attached the material file for the steel that I used in my analysis.

    Strain, Stress (Pa)
    0, 0
    0.0008221, 170000000
    0.002591, 180000000
    0.004748, 190000000
    0.007357, 200000000
    0.01048, 210000000
    0.01421, 220000000
    0.01861, 230000000
    0.02377, 240000000
    0.02979, 250000000
    0.03677, 260000000
    0.04483, 270000000
    0.05408, 280000000
    0.06464, 290000000
    0.07665, 300000000
    0.09025, 310000000
    0.1056, 320000000
    0.1228, 330000000
    0.1422, 340000000
    0.1637, 350000000
    0.1877, 360000000
    0.2144, 370000000
    0.2438, 380000000
    0.2764, 390000000
    0.3122, 400000000
    0.3515, 410000000
    0.3946, 420000000
    0.4417, 430000000
    0.4932, 440000000
    0.5492, 450000000
    0.6101, 460000000
    0.6762, 470000000
    0.7477, 480000000
    0.8251, 490000000
    0.9087, 500000000
    0.9988, 510000000
  • edited January 2022

    Hi,

    I’m not able to make my 34.5 mm model converge with Ramberg-Osgood or User Curve definition. This material has such a small tangent modulus that it fails.
    The minimum in my model is Bilinear Isotropic and ET = 6 GPa which is actually a very low value.
    I think my plate is too stiff or strains in CalculiX needs to be adjusted.

    From my point of view this Abaqus example is not trivial at all for a starting point . 34.5mm should reach very large strains (approx. 50%).
    Hopefully, someone could make it converge with the Abaqus material properties and wants to share the file. I would love to see it. ¿Did you get it with Calculix Ken?
    Anyway, I learn a lot with this example. Some nice tricks included.

    Find attached. 5 min to compute.




  • edited January 2022
    Here is the file I made and ran on 12/28 that took 14 minutes. It uses the material properties in my previous post. I've included screen captures at the end of the run with full displacement of 34.5mm and springback. It has about 3mm springback and 40% strain at the end of the analysis.

    I'll probably rerun it today using the Ramberg-Osgood (*DEFORMATION PLASTICITY in Calculix) material properties. Mecway/Calculix uses a slightly different formulation than Abaqus so I'll have to convert the constants from the Abaqus example for use in Mecway/Calculix.
  • Thanks Ken. :D
  • edited January 2022
    Hi Ken,

    My model don’t converge with the Ramberg-Osgood parameters and I can’t find why.
    It works with the ISOTROPIC HARDENING CURVE including friction. Strain values are close to the Abaqus results but when entering Ramberg in material it fails.
    ¿Did you manage to make it converge?. I have found the correspondence between Abaqus parameters and the Mecway ones and plot the curves to be sure they are the same. They agree apart from an small offset at small strains. ¿Could this be the source of error? It's too small to make the convergence fail ¿isn't it?


  • edited January 2022
    I have never been able to get *DEFORMATION PLASTICITY (Ramberg-Osgood) to converge. I have been trying it for 20 years on and off with Abaqus and now Calculix. The only Abaqus sample problems where it shows up is in fracture mechanics and calculating C and J integrals. For now I just use a spreadsheet to get the strain and stress values and paste it into a table for isotropic hardening.

    I'm planning on looking into why it doesn't converge this week. I'd like to get it to work as it is an easy way to include plasticity in models. I think it may have to do with the formula in the high strain region.

    I got sidetracked last week looking at Mooney-Rivlin (MR) material properties of rubber for use in rubber mat forming of sheet metal. There is a lot of information on how to obtain the MR parameters from test data but very little information on the MR parameters for various rubbers for use in a model, something like a library or database.
  • Reading this is comforting.
    Well, I think then that I will stop at least for now. Let me know if you make any progress. It has been a very good exercise. :) I feel more confident now. Regarding the material databases, I'm sorry I can't help. I basically work with ASME II metallic materials.

  • This might be too simple to help but here's a test case with Ramberg Osgood which converges. Apparently the YY strain is supposed to be 0.01192736 according to the formula and the solution agrees with that.
  • It is set up in static analysis and it works ¿?¿ .
    In nonlinear it fails if you try to go more than 20% plastic strain. The above study case we are reaching between 45% - 50%.
  • It doesn't converge after 616 MPa loading which is 23.22% strain in the Y direction.

    Reading the Abaqus documentation about *DEFORMATION PLASTICITY (Ramberg-Osgood), it is used for fracture mechanics models do determine if a region around a crack tip is fully plastic. I have come to the conclusion that for large strain models, I will use *PLASTIC values. I calculate them from a spreadsheet using updated Ramberg-Osgood equations. They are adjusted from engineering values to true values. I also use digitized values that are adjusted from engineering to true stress-strain values. Here is the paper my calculations are based on:

    https://www.icemm.com/wp-content/uploads/woocommerce_uploads/ISM2006_Plasticity_Modelling-Abaqus-FEM-Code_v2.pdf

    Abaqus documentation shows the same procedure to convert engineering stress-strain data to true stress-strain data.

    As much as I like the idea of using *DEFORMATION PLASTICITY, it just doesn't work for the metal forming simulations I'm doing. I've attached one of the models that I'm using. Short of doing a deep dive into the Calculix source code to find out how *DEFORMATION PLASTICITY actually works and make modifications, it is easier to just use *PLASTIC input data.
  • Excellent paper. Thanks for sharing.

    I would add this extract from the Calculix Forum.

    Xyont: https://calculix.discourse.group/t/elasto-plastic-bending-elements-accuracy/700/12

    "hi,

    beam & shell element are expanding to solid element in CalculiX during calculation. bellow are an explanation i extracted from official documents, may apply to beam element also.

    Shell element S4 expanded to solid C3D8I: cannot be used in *DYNAMIC calculations, has controlled hourglassing, (ed. still questionable for one layers only)
    Shell element S4R expanded to solid C3D8R: small elements are required to capture a stress concentration at the boundary of a structure,. massive hourglassing, displacements are completely wrong, but stress field is still correct.
    Shell element S8 expanded to solid C3D20, badly for isochoric material behavior, i.e. for high values of Poisson’s coefficient or plastic behavior. too stiff in bending
    Shell element S8R expanded to solid C3D20R: high stress concentrations at the surface of a structure might not be captured if the mesh is too coarse. problems in node-to-face contact calculations
    if the user manually define layer by duplicated mesh with offset options, it will generate knot for every nodes and deformations result may lead to be too stiff

    since beam element B32 expanded to C3D20 so the performances are probably bad for plasticit behavior as mention above…"

    That suggest C3D20 are not the best option for plasticity where bending and high Poisson Ratios are involved. What do you think?. I'm normally using C3D8I.
  • edited January 2022
    Thanks for the info from the Calculix forum. I'll move forward using the C3D8, C3D8I, C3D6 and C3D4 elements instead of the quadratic C3D20, C3D15 and C3D10 elements. I always try to use multiple through-the-thickness elements when modeling sheets/plates with solid elements, minimum of two and preferably 4 or more if feasible. I will use one layer of solids in areas where the elements are just supplying stiffness the problem like the outer edges of my plate.

    The model does run faster with the linear elements as the node count is much lower.
  • edited January 2022
    Hi Kenneth,

    I commented on the "Nonlinear Axisymmetric Post" that I noticed that when imposing the BC,s directly to the nodes, the assembly of the matrices and computation is much faster. Don’t know exactly why.
    The difference is big. I have also learned from the previous example that the die and punch only really need second order elements on curved areas. That can be a bunch of nodes.
    ¿Why do you say, “where the elements are just supplying stiffness”? I have noticed you normally introduce a big length away from the bending area. Is it for any specific reason?Is it this stiffness you refer?



  • edited January 2022
    I was just wondering, does automatic remeshing have anything to do with the failures you are seeing. I was under the impression that analyses like these usually used automatic remeshing. I don't think that is something you can do with CCX or Mecway. I'm assuming you are having large displacements. Perhaps that's not the case though.

    Here is a short video showing what I'm referring to:



    I'm just wondering if you may be hitting the limits of how far you can distort a mesh.
  • edited January 2022
    Imposed boundary conditions are known values and are partitioned out from the unknowns prior to the matrix solution. You are solving a much smaller problem because the solver doesn't have find a solution for the nodes (degrees of freedom) with boundary conditions applied. This is part of the theory behind finite element method. Look at page 7 of https://engineering.purdue.edu/~aprakas/CE474/CE474-Ch5-StiffnessMethod.pdf . That is just a quick example showing the partitioning and solution.

    The edges of the plate, the ones with the higher X values, have low stress gradients and represent the area of the plate away from the hole. That area does not need a fine mesh because the displacements/strains/stresses change slowly across the element and they also are not part of the area of interest in the analysis. They provide some elastic stiffness to prevent the plate from pulling into the hole during the forming process. I don't want to fix the outer edge of the plate, the high X value end, because that would be artificially too stiff to represent the real problem.

    Here are some photos taken from the web to show what is being modeled.



  • Thanks, Kenn,

    Regarding the speed up of the computational process with BC applied to the nodes I mean applied to the nodes directly instead of applying to the surface where they belong. I think that when it is applied to the surface the solver needs to first extract which nodes belong to that surface . It's maybe an additional step. Not sure.

    The extra X is very clever. I started doing it short to reduce the size of the model and it failed.

    I love to see the theory becomes a solution to real problems. I hope you are finding a good agreement between Mecway results and the workshop.
  • @Prop_Desig

    Don’t know Prop_Design. Maybe it is due to the mesh but a function defined with parameters or its equivalent piecewise function by means of user curve definition should give the same results.
Sign In or Register to comment.

Howdy, Stranger!

It looks like you're new here. If you want to get involved, click one of these buttons!