Wednesday, March 27, 2013

Searching for a Demo Part (Updated)

    I am on the search for a part, a plastic part - be it intended for whatever resin PA, PS, ABS, PC, PMMA, ASA, SAN, PBT, PET, PCT, PS, Syndiotactic PS, ...  I don't really care other than I need the physical properties of the resin and I need to know that it is characterized for mold filling, cooling,  fiber orientation (if its a filled resin), and warp analyses.  For the purposes of this demonstration I will need the package space for the part (the entire volume where the part CAN exist - leave nothing out), the attachment points for the part, and full list of loading conditions for the part (preferably linear static and normal modes for the sake of a DEMO model).

    If this sounds a little like the prologue for a magic act, well...   perhaps it will seem a little like that when it's all said and done, but I will lay out the process here that I intend to follow in obtaining a part design, molding process, and tool dimensions that will achieve that optimized part.

    There are a few conditions, caveats and requirements, that must be conveyed and met in order for me to use your model(s):

1) The information must be able to be shown publicly.
2) Your or your employer must own the model(s) sent or the right to grant permission for public display of the model(s).
3) YOU must have the right to convey the privilege to use the data publicly.
4) You must take sole responsibility for the accuracy of your claim to the above.
5) The timeline is short - I need a part within 10 business days.
6) Your submitted part will be part of the demonstration models presented by Altair Engineering (my employer), and Altair will have control over the models with respect to their being a part of the demo - this is an internal exercise at Altair for the technical staff and will add to the library of demonstration models that customers can publicly use to help learn how to use our software.

With that said, and without further adieu, here is the process I spoke of...




The process starts by identifying the package space and performance loading conditions required for the part.  This is used to develop, via topology optimization, the part design direction.  Once a design direction is established, OSSmooth is used to create geometry (CAD data) for a proposed part design.  Subsequent optimization can be done to define an optimal shape with constraints on the stress and strain in the individual elements.

After the refined part design is established then the part can be meshed specifically for injection molding simulation.  The process should be established for the part first.  This is not MERELY an optimized process, but one where robustness is taken into account.  Details about this process will be given in the demo once completed.

After the process is defined, the cooling system needs to be developed for the tooling.

After the cooling system is optimized, the part can be scaled up to a mold dimension and run for the sake of warp analysis.  This generally involves AT MINIMUM 3 warp analyses: 

1) Buckling (done on the part in CAD dimensions)
2) Linear or non-linear warp analysis as appropriate (based on #1)
3) Non-Linear Warp Analyis with:
    Part up-scaled to mold dimensions using orthotropic shrink rates <Sx, Sy, Sz>
    Regions determined where buckling eigenvalues are approaching 1 (result math might help here)

4+)  Subsequent optimization iterations where nodes are adjusted to derive a mold cavity such that the CAD part is produced (as close as possible) given the constraints of no buckling and no undercuts in the draw direction (direction of mold opening).


Once all this is achieved, we will have optimized the PART, PROCESS, and MOLD to a best-case scenario.

If you have a part for this, please leave a comment below or email me at vha-review@hotmail.com.

Thank you.


UPDATE: 
 
OK.  I've created a geometry and my demo from it.
 
The demo has:
1) an IGS file read in,
2) Optistruct run to obtain the rib pattern design
3) a process to bring the resulting elements back to HyperMesh
4) the creation of surfaces and the ribs from those elements,
5) attaching the ribs to the original solid.
5) and then exporting them for molding simulation. 

Here is a teaser (Optistruct Design results in animation)...

 
It takes a second for the video to begin playing and there's no audio.


Sunday, March 24, 2013

Adiabatic Splay and Blush in Injection Molded Parts

Adiabatic Splay and Blush in Injection Molded Parts

    These are my slides from my 2003 ANTEC presentation.  For the full paper please go to www.4spe.org, and search it out in the archives.










    So, what we are seeing here is that as the layers of material get scraped away from the surface of the sample part, the presence of combusted polymer disappear and the fingerprint of the resin quickly becomes (within 0.0004 inches) identical to the baseline sample taken from the same part in an unaffected region.











Optimization Using Moldflow and HyperWorks Products

2008 iMUG

Many things have changed and improved since the 2008 International Moldflow User's Group conference.  However, here is an example of what can be achieved and what can be sought-after in the use of optimization along with mechanical and manufacturing simulation software.

These are my PowerPoint slides from that conference (converted to jpg's).

----------------------------------------------------------------------------------------------------------













The "Error to Spec" is a comparison of the simulation error to the GD&T spec in the design.  The "Error" as calculated in the red regions represents a comparison of the part as simulated versus the ideal calculation (NATURE) of the ACTUAL part as molded, after it cools.




Friday, March 22, 2013

True Warp - A Derived Result



A Realistic Approach to Viewing Warp Results in Molding Simulation

Paul Van Huffel, Altair Engineering, Inc., Troy, MI


Abstract


There’s a catch to understanding the warp results given by molding simulation software; they are a comparison of the deformed part to the mold cavity, and not the intended geometry.

This paper outlines a process to generate a specialized “Warp” result, using ResultMath© in HyperView 11.0, that can be measured on the part.

Introduction


            To date, various attempts have been made, some very good ones, to properly account for the shrink and warp induced by the materials, mold, and process of injection molding of polymers.  Historically, the first method used was derived from the casting of metals and it involved the application of an isotropic uniform shrink factor to the part as designed.  This method is still used widely.  The problem is that the application of a uniform isotropic shrink factor on a material whose shrink properties are at best anisotropic seems a bit misguided today.

            A second method utilizes molding of a part in a mold designed using the classical shrink-rate method and then measuring the resulting parts under molding conditions designed to robustly produce a quality part in all regards except for warpage.  The parts are measured and a new mold is made with “windage” applied to overcome the differential shrinking and resulting warping of the parts.  While this works well for some geometries, others are less stable under the loading conditions of the shrinking part.  The instability is rooted in the design, and causes a pitchfork bifurcation (buckling occurs).  The term “bifurcation” is used here as it denotes a mathematical instability in the stiffness of the part and thus a non-linear divergence from the intended design (1).  An example of this is the buckling seen in deep-draw cross-hatched rib designs.  In cases where buckling is likely, getting the part to shrink “into” shape is not a linear prospect, and in some cases any “windage” applied may only serve to exacerbate the problem.  For the purposes of this paper, it is a prerequisite that buckling not be a significant consideration in the warping of the part.

Another, more basic, problem with this second method is the need to construct at least 2 molds.  This is generally not an option for most mold development processes.

            A similar method involves the use of finite element analysis to determine the amount of shrink and warp in the part resulting from the process of injection molding.  It involves analyzing the part as designed and then applying the resulting warp deflections with a scaling factor between -0.3 and -1.2 depending on the results of a comparison of a confirmation analysis of the resulting cavity to the dimensions of the original mesh (the one representing the part as designed).  This method serves two functions: 1) accounting for the overall shrink and 2) accounting for some of the warp caused by the differential shrinking of the polymer material.  But something still remains elusive in all these cases as they each require manually measuring the data resulting from the analyses as well as the original model, and then manually comparing the measurements.

            What’s missing is a viewable dataset and plot for the warp of the part as molded without the shrink in it.  The current problem with the output from molding software today is that the warp results are a comparison of the molded part to the mold cavity (see illustration A).  The purpose of this paper is to outline a process whereby the results of a molding simulation involving calculations of the shrink and warp of the part can be viewed without the planned shrink involved, thus only seeing the unintended deformations.  This would reflect the deviations of the part as molded to that of the part as designed, and forms the first major step in an optimization process to establish a cavity that produces the part as designed with a robust and cost-effective process as the cycle time can be minimized by accounting for the additional unconstrained shrink and warp of the part from being ejected as soon as the skin is able to withstand the force of ejection.

            Again, the main goal of this paper is to delineate a process to generate a plot that shows the deformation of the part after the molding process as compared to the design intent.  ResultMath® is a relatively new tool from Altair Engineering in the HyperWorks product suite (11.0), and is part of HyperView.  It allows the user to perform mathematical operations on any analysis result and then plot the solution as a new result.  This includes operations on scalar, vector, and tensor results. 


Theory


            Being as the results of a warp analysis and that of scaling a model to account for shrink are all vector operations, the lack of this capability in post processing software has been a road block to developing this dataset and plot.  With this being resolved in the postprocessor, the equations below will reflect notations for vector and matrix operations.

The simplest operation and the focal point of this investigation is the final operation in the calculation of the desired dataset.  It is to subtract the imposed shrink used to expand the part into a cavity from the result of the molding simulation, specifically the shrink/warp analysis. 

The warp, as calculated in the analysis solver, is a negative value and thus this process actually involves adding the applied shrink to the warp calculations from the solver.  This can be expressed as follows:

EQ1:  [W] = [R] + [Sapplied]

Where W represents the True Warp versus the design intent, R represents the Result of the warp analysis, and Sapplied is the Shrink applied to the nodes.  The operation is applied to a set of n vectors comprised of nodes and their vector results. 

NOTE: Bold print is used to define vector quantities and the [ ] brackets are used to denote matrices in the operation over the set of nodes.

The applied shrink can be derived from either of two methods: 1) taken from HyperMorph as a saved shape or 2) by back-calculating an isotropic or orthotropic shrink factor(s) previously applied to the model.  The first is a direct read of data from the software.  The second is an operation that can be developed as:

EQ2:  Dprt + Dprt = Dcav

where Dprt  is some particular dimension of a part, Dprt is the increase in dimension based on the shrink rate of the polymer, and Dcav is the same dimension in the cavity of the mold. 

For the sake of clarity we will assume a constant point being taken on the part and corresponding point taken in the mold as the reference for all measurements.  These dimensions are taken as vectors, and the change in dimension will have components in the X, Y, and Z axes.  The Dprt term can be expressed alternately as:

EQ3:  Dprt =  Sfac Dprt

where Sfac is the scale factor accounting for the shrink of the polymer.  Sfac can be taken to mean a scalar value, or as a vector with separate components in the X, Y, and Z axes. 

EQ3a:  Sfac Dprt = <SfacDx, SfacDy, SfacDz>
EQ3b:  Sfac Dprt = <SxDx, SyDy, SzDz>

If interpreted as a vector, then the 1 denotes a vector of <1,1,1>.  This means that Dcav can be alternately expressed as:

EQ4:  Dcav = Dprt (1 + Sfac )

But what is needed is an expression of Dprt in terms of Dcav.  Depending on the coding preferences, it can be expressed in one of two ways:

EQ5: Dprt = (Sfac Dcav) (1 + Sfac)

Or…

EQ6: Dprt = Dcav (1 (1 (1+Sfac)))

But Dprt is actually the same as Sapplied from EQ1, so EQ1 can be rewritten as either:

EQ7: [W] = [R] + [(Sfac Dcav) (1 + Sfac)]

Or…

EQ8:  [W] = [R] + [Dcav (1(1 (1+Sfac)))]

            It should be noted that the use of EQ7 or EQ8 bypasses the need to read results from 2 sources (warp result from molding software and a morph shape from the preprocessor).  This is a distinct advantage when considering the prospect of adding in small adjustments to the nodes, by way of morphing them in the preprocessor, based on the calculated dataset.  This is the next step toward optimization of the cavity geometry.

            If the cavity is now assumed to be comprised of two components, shrink and windage, then EQ2 can be rewritten as:

EQ9:  Dprt + Ds + Dw = Dcav

Thus…

EQ10:  Dprt = Ds + Dw
EQ11:  Ds = Sfac Dprt

            Where Ds  now denotes the accounting of shrink (isotropic or orthotropic) and Dw  now accounts for windage adjustments made in the preprocessor to specific nodes.  When reconfigured similarly to EQ6, the resulting equation is:

EQ12:  Dprt = Dcav – ((DcavDw)(1+Sfac))

            Once again this can be inserted into EQ1 replacing Sapplied to get:

EQ13:  [W] = [R]–[Dcav–((DcavDw)(1+Sfac))]

In an optimization context, Ds would be the first term optimized and then Dw would be optimized to fine-tune the cavity shape until [W] = 0.

One other calculation is important to this operation.  It can be found in almost any textbook on injection molding and that is the determination of the shrink rate.  In this case, the need will arise to compute the shrink rate(s) from an initial analysis of the part finite element model without any shrink applied.  It can be derived here from EQ4:

EQ14:  Sfac = (Dcav Dprt) 1


Description of Analysis Process


            The process of analysis starts with making a finite element model of the part geometry.  It then takes one of two paths: 1) an assumed isotropic shrink rate is used to expand the part to the dimensions of a mold cavity, or 2) the part is left “as-is” for the first analysis and anisotropic qualities of the material and part design with respect to the mold design will be included in calculating orthotropic shrink properties.  For the purposes of this study, the second path will be utilized.

Either way, a finite element mold model is then constructed around the part model so that a cooling analysis can be performed and included in the molding simulation process.

For the path chosen here, #2 above, a “Morph Volume” is created in the preprocessor using the elements from the cavity and utilizing an offset of 0%.  This represents a bounding box around the part that reveals a set of consistent rectangular dimensions to be used to later obtain the orthotropic shrink properties.

The models are then passed to the molding simulation software.  In this case, the molding simulation software utilized is Moldflow.  Here, the ideal process conditions are determined (minimized pressure to fill with low sensitivity to fill time, polymer temperature, and mold temperature) before running an analysis that includes cooling, filling, packing, and part warp.  It is also strongly advised that, for complex geometries and geometries involving complex rib structures, a buckling analysis should be performed to determine if there are areas that should not be adjusted beyond accounting for iso- or orthotropic shrink rates.

At this point, if Path #1 were chosen then the desired plot could be created and assessed by the analyst.  However this study is an attempt to forge a “best-practices” methodology and as such path #2 was chosen.  Therefore, the next step would be to export the deformed shape as an STL model with a scale factor of 1.0.  An STL model is a tessellated surface mesh of triangles that forms a boundary mesh. 

This boundary mesh is then imported into the original preprocessor database file.  A new “Morph Volume” is created around the newly imported boundary mesh (using only those elements as its basis), again, with an offset of 0%.  The dimensions of both the initial and the new bounding boxes are taken and used along with EQ14 (Dcav = Initial Box & Dprt = New Box) to compute the orthotropic shrink rate of the part model.  The post processing capabilities of most injection molding simulation software include capabilities to query nodal results and will automatically calculate shrink rates between the nodes queried.  The bounding box method is designed for oddly shaped parts that defy measurement by this method.

Once the shrink rates have been determined along each axis, the cavity and mold models are expanded by those factors to yield a mold cavity that should produce a part of the proper size along each axis.  This model is then exported and passed to the molding software for subsequent analysis. 

When the warp analysis is complete, the results are exported to a file in H3D format as this is the format for the designated post- processor. 

            The H3D file is brought into the designated post processor and the Result Math template is selected on the import panel.  After the data is imported, a “Derived Result” is created and in the pop-up editor either EQ7 or EQ8 is used to calculate the true warp of the part versus the CAD geometry.  Measurements are then taken along various axes of the part and then compared to the original part data to determine the amount of true warp generated.  The result is then queried and results taken on opposite sides of the part are summed to determine the amount of true warp predicted by the derived result.  These two “True Warp” calculations are then compared to each other to see if they are, as they should be, the same.


Application of Analysis Process


            This study utilizes a model known as the “Mouse Coffin” that was supplied by Jim McGuire of BASF (Illustration B).  A sprue and a mold base were added to the model along with waterlines, and this data was passed to a colleague at Cascade Engineering, Tim VanAst, for simulation. 

            The material used for the simulation was Ticona Celcon M90 (unfilled POM) from the database of the molding software.  The process conditions for the simulation were:

Melt Temp:                  182.22
Fill Time:                     2.00 sec
Packing Time:             20.0 sec
Packing Pressure:        80% of Filling Pressure
Inj.+Pack+Cool time:  30.00 Seconds
Coolant Temp:            82.22
Coolant Flow Rate:     4.167 liters/sec

            The measurements of the Mouse Coffin (CAD) are 60.000 X 40.000 X 120.000 (mm).  The orthotropic shrink factors were obtained using the post processing utilities of the molding software as the part was generally rectangular in shape.  The model was then scaled to reflect these shrink rates and to represent a mold cavity that would ideally produce a part that represents the CAD data. 


Presentation of Data & Results


            Based on the results of the first analysis, the orthotropic shrink factors applied to the CAD to generate the mold cavity used in the second run were (0.0156, 0.0123, 0.0152). As such, the calculation made within the post processor for the custom result plot was:

VectorFromScalar( V2.C1+(0.0156*LC0F1.V1.C1)/1.0156 , V2.C2+(0.0123*LC0F1.V1.C2)/1.0123 , V2.C3+(0.0152*LC0F1.V1.C3) / 1.0152)

where V2.Cn represent the warp result from the molding analysis software in degree of freedom (DOF) 1, 2, or 3, and LC0F1.V1.Cn represent the position of the cavity node (dimension - Dcav) in DOF 1, 2, or 3.  EQ8 was originally attempted, but the math parser refused to accept all forms of “1 – …” so EQ7 was used.

The queried results are tabulated and shown on illustration C.  The results are in meters by default.  For the purposes of discussion here, I will convert these to millimeters.

The measurement across the center of the part after molding is 57.863 mm.  This is a deviation of 2.137 mm from the part dimension of 60.000 mm across the span (from node 55905 – node 60363).  The queried warp is 1.071 mm at node 55905, and 1.067 mm at node 60363 for a total deviation of 2.138 across the span. 

A second span was also measured across nodes 55562 and 60420.  This span measured 60.147 mm which deviates by 0.147 mm from the 60.000 mm CAD dimension.  The query shows a deviation of -0.063 mm at node 55562 and 0.084 mm at node 60420.  This makes a deviation of 0.147 mm across the span based on the derived result.

            Along the longer dimension of the part, the measurement from the warp data is 120.561 mm, which is a 0.561 mm deviation from the part as designed (120.000 mm).  The queried results of the same nodes along this axis show 0.2895 mm and -0.2718 mm for a deviation of 0.5613 mm.

            Lastly, along the vertical axis (Y in this case) the vertical height measures 39.961 mm, which is a deviation of 0.039 mm from the part dimension of 40.000 mm.  Querying the data gives 0.4044 mm at node 50434 and 0.4434 at node 55567.  This makes for a total deviation of 0.039 mm (0.4044 – 0.4434 = –0.039 mm).


Interpretation of the Data


            The results of the plot created matched perfectly the theory outlined.  One specific issue arose with the attempted use of EQ8 as the use of, “1 – …” was not handled by the post processing software.  There are a few small numerical rounding errors leading to minor variations of 0.001 mm in a few places, but this seems negligible for the vast majority of injection molded parts. 

The method applied here varied some from the outlined process as the shrink rates were acquired from the mold software’s post processor directly.  This should not significantly affect the results as the part has a generally rectangular shape.


Conclusion(s)


            Because the plot of true warp is calculated as a vector result and the math operation in the post processing software manages this as a vector to produce a new vector result, the method applied is valid.  The data in the results section shows that the new plot almost exactly matches the measurements taken of the warped part based on the raw warp result.

            It is concluded that the plot here represents a true measurement of the warp of a molded part versus the part as designed.  This is a plot with value to the molder as it is a prediction of the quality of the parts as they will eventually be manufactured.  The translation to reality will involve making sure that the properties of the material used in the analysis are properly characterized and that the process conditions developed in the analysis are reasonably followed in the manufacture of the part.  This plot is also extensible to calculating further adjustment to the mold, windage, by multiplying the vector components by -1.

            Next year, hopefully, the subject of my paper will be extending this plot into the optimization of the mold cavity geometry so that an optimal cavity is made where the result is precisely the part as designed with the most efficient and reasonably robust process possible.


Nomenclature


Bifurcation – “When the solutions of a nonlinear system change their qualitative character as a parameter changes.” (2)

POM – lit. Polyoxymethylene.  A Polymer resin commonly known as Acetal.


Acknowledgments


            Special Thanks to James McGuire and BASF for their contribution of the “Mouse Coffin” model to this study.

            Special Thanks also goes to Tim VanAst and Cascade Engineering Inc. for providing analysis results from Moldflow.


References


1.  Drazin, P.G.,  Nonlinear Systems, Cambridge University Press, 1997  pg.17
2.  Drazin, P.G.,  Nonlinear Systems, Cambridge University Press, 1997  pg.2


Illustrations

(A) The Problem – Cavity vs. Molded Part



(B)  Mouse Coffin Cavity Model with Mold



(C)  True Warp Query Results (meters)


(D) Measurements 1 & 2



(E)  Measurement #2 Close-up.

The Un-Ending Search

I'm trying to figure out how I can post a presentation from 2003 (PowerPoint) but I don't see a way to attach it to my blog posts.

Hmmm....   I'll just have to find yet ANOTHER utility so that I can post the thing and then LINK to it.


The search is FAR from over.

Worst-case scenario, I have to take JPG pics of EACH SLIDE and then post them here.