I once wrote a puzzle book full of Hexadecimal Sudoku puzzles. I was a bit hasty in my publication of this book, and as a result, I had a large number of "non-linear" puzzles. These are puzzles with more than one valid solution. Since that time I've worked, as the question re-emerged in my mind again and again, to find a proper algorithm for detecting these divergent puzzles.
I nearly resorted to creating an " automatic puzzle solver" in Prolog as intuition tells me that it should be simple to test the puzzle as being "valid" or "invalid." This is because Prolog is EXCEPTIONALLY good at performing logical operations (symbolic logic). This language is a philosophy student's DREAM proof-maker. It does "truth-trees" in nothing flat, and goal-oriented programming is very intuitive. It may take a little "getting used to" when it comes to the syntax versus other programs, but once you're going, it does game-play, predator-prey modeling, and other AI operations quite well.
Before I invested too much time in making this program, I went back to VB where I started this application originally and started on a new algorithm for making the puzzles based on some of the examples I was seeing in the 9X9 puzzle-generating codes freely available and found that those generators were often prone to the same pitfalls mine were. I started a few fully-random solution generator methods and was exceedingly disappointed at the 100% rate of painting themselves into corners by 60%. BUT the traversing methods I was playing with exposed a test method (or a few) that I could use to identify the signs of non-linearity in the puzzle and thus fit it.
SO... I've included a puzzle here and if I see quick propagation of this message then I will initiate a new blog page for Hexadecimal Sudoku Puzzles.
I'll post today's solution next week Monday.
Feel free to leave comments if you enjoy puzzles like this.
Monday, March 24, 2014
Wednesday, May 22, 2013
If I Could Describe my Dream-Car...
When I was a teenager I always dreamed of designing and making my own car... You know, like Ferruccio Lamborghini. I had drawings, mechanical, artistic and drafting, complete with all views. The thing is, unlike the Lamborghini, I always dreamed of an ultra-quiet, ultra-efficient, sporty looking, high performance electric or hybrid car. Yes, I'm sure MANY people thought of making hybrids years before they made their way into our world as manufactured vehicles. The thing is, when gas was at $1.00 / gallon there wasn't much motivation to develop such vehicles. Today, on the other hand, I see the vehicles of my dreams being made in a way I thought I'd never see in my lifetime.
...But I digress...
Yesterday at the SAE, Noise,Vibration & Harshness (NVH) conference in Grand Rapids, Michigan I had the pleasure of looking over an AWESOME electric car. I highly recommend it. I just wish I could afford one. Here... Have a silent walk around with me... because it left me speechless.
...But I digress...
Yesterday at the SAE, Noise,Vibration & Harshness (NVH) conference in Grand Rapids, Michigan I had the pleasure of looking over an AWESOME electric car. I highly recommend it. I just wish I could afford one. Here... Have a silent walk around with me... because it left me speechless.
Tuesday, May 14, 2013
Commentary on Yahoo Careers
I scanned through this Yahoo Post and had to wonder who the yahoo was that compiled their information. Being as there was no place to leave a comment, I felt the need to then post my thoughts here. I get the logic behind suggesting to NOT take a major in certain fields if your goal of getting the degree is to be hired into A job (regardless of personal interests). Their suggestions, per the usual, seem to leave out some VERY relevant and important fields... Engineering, being one of those near and dear to my heart.
There are many fields of Engineering and a great deal of need in the world for well trained engineers. So why is it that our popular media seems to (aside from making intelligent people the butt of their jokes - i.e. The Big Bang Theory) ignore and even denounce science and engineering?
Here is one place where I feel the NEED to make an unsolicited plug for FIRST ROBOTICS. This is an organization that has made popular the application of science and the principles of engineering to many teenagers. Perhaps it's finally time for our media to grow up and catch on to what's happening here in America and around the world. FIRST is an international competition that spans the globe. I have mentored 2 different teams in various years and I strongly encourage any professional engineer to (if they've never before) seek out a team and be a part of the movement.
Let's all make it a point to help our kids find the fun and excitement that there is in learning how the machines of today work, and in discovering and developing how machines of tomorrow WILL work.
Going back to my initial point, I think that anyone seeking to go to college should pursue what he or she LOVES, and in doing so he or she will excel in his or her chosen field. The degree you earn has some bearing on your future, but WHAT YOU DO with that degree has a far cry greater influence on your success.
Sunday, April 28, 2013
Update on the Demo Part Search
I've updated the Demo Part Search
<CLICK HERE>
I plan to have a series of images posted here this week (hopefully by 5/1) to describe the process used for that demo and images of the results.
Until then...
<CLICK HERE>
I plan to have a series of images posted here this week (hopefully by 5/1) to describe the process used for that demo and images of the results.
Until then...
Thursday, April 25, 2013
Plastics Classification - Chemical Classifications
Types:
So, in the continuing discussion of how we classify polymers, we now need to talk about their chemical classification. For the purposes of this blog and for the time being I will restrict the discussion of polymer chemistry to thermoplastics, and those most typically used in injection molding; although many of these are also made in specific grades meant for other processes such as Thermoforming, Extrusion, Rotational Molding, etc.
Polymers, being organic compounds created via reactions of other organic monomers and reactants with 2 or more active sites on the molecule, are classified by the chemical groups that make up the repeating segments of the polymer chain.
The following is a list of polymer chemical classes:
1) Polyolefins
2) Polystyrenes
3) Polyesters
4) Polyethers
5) Polyamides
6) Polyimides
7) Poly-Aldehydes (i.e. Polyoxymethylene - polymerized formaldehyde)
8) Poly-Acrylates
The next several blog posts will be devoted to discussing these and other various polymer chemical groups, the type of polymerization reaction involved in the making of those specific polymers, typical uses and properties for those polymers.
Common Polymerization Reactions:
Polymerization reactions include the following common processes as well as others: Linear Step, Non-Linear Step, Free Radical, Ionic, Cationic, Anionic Polymerization.
Step Polymerization - The combining of a monomer as a whole unit into chains, step-by-step.
Linear step polymerization (i.e. condensation polymerization) is where a monomer will maintain it's structure but become chemically linked into chains, covalently bonded, of varying length. Polyethylene is one example of this. Ethane is catalyzed and the molecules link together to form longer hydrocarbon chains. In this way, octane, heptane, decane, and other hydrocarbons might be looked at as being linked in family with polyethylene. The term "linear" means that it will yield a thermoplastic material as there 2 and only 2 active sites on the monomer chain.
Non-Linear Step Polymerization is essentially just like the linear except that there are 3 or more active sites on the monomer and thus a thermoset is formed. The pint where the first side chain is formed is referenced as the "gel point." Essentially, these lead to network polymers.
Living Polymerization -A Living polymer is one where there is no termination to the polymerization reaction. These polymers can "self-heal" but the trade-off is that they're not safe for food or drug applications.
Free Radical Polymerization - The monomer has Pi-bonds (double and/or triple bonds) that are broken via the introduction of a source of free radicals. This then opens the active sites and allows for the formation of the polymer chain and with its creation, the free radicals are recovered like a catalyst. Typically, free radicals are introduced in the form of peroxides, and can be excited (activated) by heat or UV light. Polystyrene is the most common example of free radical polymerization.
Ionic Polymerization - Chain polymerization that uses active centers with an ionic charge. This is done with olyfinic monomers. There are two types:
Cationic Polymerization - The active centers are positively charged. It has a defined termination process.
Anionic Polymerization - The active centers are negatively charged. Lacks a termination process. Instead, there is a chain transfer stage. Polystyrene formed in liquid ammonia was one of the first applications for this process.
Ring Opening Polymerization - Polymers with a structure that looks like: -[R-Z]n- (the linking group is Z) can be polymerized by step polymerization. In the case of a cyclic monomer, the ring can be broken in order to facilitate polymerization. The primary mechanism that drives this is either the relief of bond angle strain or steric repulsions.
Solid State Polymerization - Polymerization of a monomer that exists in the solid and crystals are formed by adding heat or ultraviolet radiation. These tend to yield highly oriented polymers.
Group Transfer Polymerization - Generally used for acrylic and methacrylic monomers (i.e. methacrylates - PMMA), this type of polymerization propagates by way of reacting a terminal silyl ketene acetal with some monomer by addition thus transferring the group to the monomer and creating a new terminal silyl ketene acetal group on the growing polymer. It is initiated with monomers containing 2 or more silyl ketene acetal sites, and is catalysed by anions.
Homopolymers versus Copolymers (and Terpolymers):
The term homopolymer refers to a polymer comprised of a single repeating monomer. Copolymers have two different monomer links that are connected, perhaps alternating, along the polymer chain. Examples of co-polymers include Styrene-Acrylonitrile, Butadiene-Styrene (aka High Impact Polystyrene or HIPS).
Terpolymers are, as one might now imagine, polymers comprised of three monomer units that alternate along the polymer chain. The most common example of a terpolymer is Acrylonitrile-Butadiene-Styrene (ABS - It's NOT the break system in your car).
So, in the continuing discussion of how we classify polymers, we now need to talk about their chemical classification. For the purposes of this blog and for the time being I will restrict the discussion of polymer chemistry to thermoplastics, and those most typically used in injection molding; although many of these are also made in specific grades meant for other processes such as Thermoforming, Extrusion, Rotational Molding, etc.
Polymers, being organic compounds created via reactions of other organic monomers and reactants with 2 or more active sites on the molecule, are classified by the chemical groups that make up the repeating segments of the polymer chain.
The following is a list of polymer chemical classes:
1) Polyolefins
2) Polystyrenes
3) Polyesters
4) Polyethers
5) Polyamides
6) Polyimides
7) Poly-Aldehydes (i.e. Polyoxymethylene - polymerized formaldehyde)
8) Poly-Acrylates
The next several blog posts will be devoted to discussing these and other various polymer chemical groups, the type of polymerization reaction involved in the making of those specific polymers, typical uses and properties for those polymers.
Common Polymerization Reactions:
Polymerization reactions include the following common processes as well as others: Linear Step, Non-Linear Step, Free Radical, Ionic, Cationic, Anionic Polymerization.
Step Polymerization - The combining of a monomer as a whole unit into chains, step-by-step.
Linear step polymerization (i.e. condensation polymerization) is where a monomer will maintain it's structure but become chemically linked into chains, covalently bonded, of varying length. Polyethylene is one example of this. Ethane is catalyzed and the molecules link together to form longer hydrocarbon chains. In this way, octane, heptane, decane, and other hydrocarbons might be looked at as being linked in family with polyethylene. The term "linear" means that it will yield a thermoplastic material as there 2 and only 2 active sites on the monomer chain.
Non-Linear Step Polymerization is essentially just like the linear except that there are 3 or more active sites on the monomer and thus a thermoset is formed. The pint where the first side chain is formed is referenced as the "gel point." Essentially, these lead to network polymers.
Living Polymerization -A Living polymer is one where there is no termination to the polymerization reaction. These polymers can "self-heal" but the trade-off is that they're not safe for food or drug applications.
Free Radical Polymerization - The monomer has Pi-bonds (double and/or triple bonds) that are broken via the introduction of a source of free radicals. This then opens the active sites and allows for the formation of the polymer chain and with its creation, the free radicals are recovered like a catalyst. Typically, free radicals are introduced in the form of peroxides, and can be excited (activated) by heat or UV light. Polystyrene is the most common example of free radical polymerization.
Ionic Polymerization - Chain polymerization that uses active centers with an ionic charge. This is done with olyfinic monomers. There are two types:
Cationic Polymerization - The active centers are positively charged. It has a defined termination process.
Anionic Polymerization - The active centers are negatively charged. Lacks a termination process. Instead, there is a chain transfer stage. Polystyrene formed in liquid ammonia was one of the first applications for this process.
Ring Opening Polymerization - Polymers with a structure that looks like: -[R-Z]n- (the linking group is Z) can be polymerized by step polymerization. In the case of a cyclic monomer, the ring can be broken in order to facilitate polymerization. The primary mechanism that drives this is either the relief of bond angle strain or steric repulsions.
Solid State Polymerization - Polymerization of a monomer that exists in the solid and crystals are formed by adding heat or ultraviolet radiation. These tend to yield highly oriented polymers.
Group Transfer Polymerization - Generally used for acrylic and methacrylic monomers (i.e. methacrylates - PMMA), this type of polymerization propagates by way of reacting a terminal silyl ketene acetal with some monomer by addition thus transferring the group to the monomer and creating a new terminal silyl ketene acetal group on the growing polymer. It is initiated with monomers containing 2 or more silyl ketene acetal sites, and is catalysed by anions.
Homopolymers versus Copolymers (and Terpolymers):
The term homopolymer refers to a polymer comprised of a single repeating monomer. Copolymers have two different monomer links that are connected, perhaps alternating, along the polymer chain. Examples of co-polymers include Styrene-Acrylonitrile, Butadiene-Styrene (aka High Impact Polystyrene or HIPS).
Terpolymers are, as one might now imagine, polymers comprised of three monomer units that alternate along the polymer chain. The most common example of a terpolymer is Acrylonitrile-Butadiene-Styrene (ABS - It's NOT the break system in your car).
Monday, April 8, 2013
Polymer Classification - Morphology
This is a continuation of the discussion started last Wednesday. Once we determine whether our polymer is thermoplastic or thermoset, then we want to know some things about something called, "morphology." The term morphology refers to the structure of the molecules as they make up the polymer matrix. This is more relevant to thermoplastics, but there are some thermosets where the morphology plays a role in the properties of the resin. The two primary morphological states of interest to us, as engineers, are crystalline and amorphous. Well, crystalline is a relative term as polymers tend to be more "semi-crystalline" than truly crystalline the way a metal is.
If one were to imagine a pile of sticks. Pulling on one of the sticks will lead the puller to the conclusion that the pieces are entangled. The same is true of amorphous materials such a polycarbonate. The side-chains on the molecules create entanglements that help add to the strength of the polymer where crystallinity is lacking and would otherwise provide strength. Also like the stick pile, the molecules in an amorphous material are porous on the molecular level. This tends to make them especially susceptible to chemical attack. Clear polymers are generally known for being especially sensitive to solvents when under stress - and more sensitive to tensile stress than compressive. Some amorphous materials are known for being brittle (i.e. Polystyrene) while others are known for their toughness (i.e. Polycarbonate). This is generally due to the differences in intermolecular forces (i.e. van der Waals forces).
Some examples of amorphous materials are: Polycarbonate, Polystyrene, Polymethylmethacrilate (PMMA - Acrylic), Acrilonitrile Alloys (SAN, ABS, etc), Polyvinylchloride (PVC), Transparent Nylon 12, and many others.
On the other hand, if one were to imagine the image of a plate of spaghetti, we have an image that's more descriptive of a crystalline material. The polymer chains are narrow and long. Now if we imagine that our strands of spaghetti were made of tiny little magnetic balls, then we might get a mental image of how they would want to fold and form crystals as they cool. When it comes to the flow of a polymer, crystalline polymers tend to align and then flow very freely past one another where amorphous polymers tend to be thicker with a less distinct fluid transition. The morphology of crystalline polymers is affected by the shear history during flow. The higher the shear rate, the more nuclei that will form and thus the greater number of crystals of smaller size. Also, the rate of cooling will secondarily affect the crystalline morphology of polymers. The slower the cooling, the larger the crystals. Because of this, crystalline polymers tend to be more dense than amorphous polymers and the appearance of crystalline polymers without colorants will generally be a milky translucent white, and never clear at room temperature as opposed to amorphous polymers which can (as natural, uncolored resins) be clear at room temperature.
Some examples of crystalline polymers are: Polyethylene (PE) - including LDPE, HDPE, & UHMWPE, Polypropylene (PP), Polyoxymethylene (POM - Acetal - Celcon, Celstran, Delrin), Polyamide (Nylon 6, 6/6, etc), Polyethersulphone (PES), Polyesters (PBT, PET, PCT), Syndiotactic Polystyrene, etc.
So when you're thinking about crystalline and amorphous polymers the analogy to a pile of sticks or a plate of spaghetti works well in thinking about the differences in their physical properties and their flow behaviors.
If one were to imagine a pile of sticks. Pulling on one of the sticks will lead the puller to the conclusion that the pieces are entangled. The same is true of amorphous materials such a polycarbonate. The side-chains on the molecules create entanglements that help add to the strength of the polymer where crystallinity is lacking and would otherwise provide strength. Also like the stick pile, the molecules in an amorphous material are porous on the molecular level. This tends to make them especially susceptible to chemical attack. Clear polymers are generally known for being especially sensitive to solvents when under stress - and more sensitive to tensile stress than compressive. Some amorphous materials are known for being brittle (i.e. Polystyrene) while others are known for their toughness (i.e. Polycarbonate). This is generally due to the differences in intermolecular forces (i.e. van der Waals forces).
Some examples of amorphous materials are: Polycarbonate, Polystyrene, Polymethylmethacrilate (PMMA - Acrylic), Acrilonitrile Alloys (SAN, ABS, etc), Polyvinylchloride (PVC), Transparent Nylon 12, and many others.
On the other hand, if one were to imagine the image of a plate of spaghetti, we have an image that's more descriptive of a crystalline material. The polymer chains are narrow and long. Now if we imagine that our strands of spaghetti were made of tiny little magnetic balls, then we might get a mental image of how they would want to fold and form crystals as they cool. When it comes to the flow of a polymer, crystalline polymers tend to align and then flow very freely past one another where amorphous polymers tend to be thicker with a less distinct fluid transition. The morphology of crystalline polymers is affected by the shear history during flow. The higher the shear rate, the more nuclei that will form and thus the greater number of crystals of smaller size. Also, the rate of cooling will secondarily affect the crystalline morphology of polymers. The slower the cooling, the larger the crystals. Because of this, crystalline polymers tend to be more dense than amorphous polymers and the appearance of crystalline polymers without colorants will generally be a milky translucent white, and never clear at room temperature as opposed to amorphous polymers which can (as natural, uncolored resins) be clear at room temperature.
Some examples of crystalline polymers are: Polyethylene (PE) - including LDPE, HDPE, & UHMWPE, Polypropylene (PP), Polyoxymethylene (POM - Acetal - Celcon, Celstran, Delrin), Polyamide (Nylon 6, 6/6, etc), Polyethersulphone (PES), Polyesters (PBT, PET, PCT), Syndiotactic Polystyrene, etc.
So when you're thinking about crystalline and amorphous polymers the analogy to a pile of sticks or a plate of spaghetti works well in thinking about the differences in their physical properties and their flow behaviors.
Wednesday, April 3, 2013
Classification of Polymers - Thermoplastics and Thermosets
I know a few students out there who are taking classes in polymer science this term at Kettering University and I thought I would provide some study materials. Of course I'm happy to take suggestions or answer questions from students as they arise.
On the topic of polymer classification, this is one of the first things that students should be learning about polymers. This of course assumes that we all are of the understanding that polymers are chemically based materials comprised of long chains of carbon atoms that may also have side-chains that affect the properties of the material as a whole. Polymers are created via chemical reaction of a monomer or a mix of reactants each with at least two active sites on the molecules. During the reaction, the chains grow until there is little or no monomer (or reactant) available to continue the reaction. The size of the chain determines the molecular weight of the polymer.
The first thing everyone should know about any polymer is whether it's a thermoplastic or a thermoset. Thermoplastics, as the name suggests, are polymers that can be melted and reformed again and again. This is like candle wax, butter, or chocolate. Thermosets, as the name suggests, set with heat and do NOT remelt. Think of an egg; once it's cooked, it's done. There's no remelting an egg once cooked. This is because the reaction involves cross-linking between polymer chains. Heating the set polymer will cause expansion of the molecules but the cross linking will prevent the chains from slipping past one another. Thermoplastics are polymerized from monomers with two and ONLY two active sites on the molecules. Thermosets are formed from monomers and reactants with three or more active sites on the molecules.
SO...
When it comes to recycling, Thermoplastics have many uses after recycling where-as thermosets are good for little more than road asphalt filler.
On the topic of polymer classification, this is one of the first things that students should be learning about polymers. This of course assumes that we all are of the understanding that polymers are chemically based materials comprised of long chains of carbon atoms that may also have side-chains that affect the properties of the material as a whole. Polymers are created via chemical reaction of a monomer or a mix of reactants each with at least two active sites on the molecules. During the reaction, the chains grow until there is little or no monomer (or reactant) available to continue the reaction. The size of the chain determines the molecular weight of the polymer.
The first thing everyone should know about any polymer is whether it's a thermoplastic or a thermoset. Thermoplastics, as the name suggests, are polymers that can be melted and reformed again and again. This is like candle wax, butter, or chocolate. Thermosets, as the name suggests, set with heat and do NOT remelt. Think of an egg; once it's cooked, it's done. There's no remelting an egg once cooked. This is because the reaction involves cross-linking between polymer chains. Heating the set polymer will cause expansion of the molecules but the cross linking will prevent the chains from slipping past one another. Thermoplastics are polymerized from monomers with two and ONLY two active sites on the molecules. Thermosets are formed from monomers and reactants with three or more active sites on the molecules.
SO...
When it comes to recycling, Thermoplastics have many uses after recycling where-as thermosets are good for little more than road asphalt filler.
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.

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.
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.
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 = <Sfac∙Dx, Sfac∙Dy, Sfac∙Dz>
EQ3b: Sfac ∙ Dprt
= <Sx∙Dx,
Sy∙Dy,
Sz∙Dz>
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
– ((Dcav – ∆Dw)∕(1+Sfac))
Once again
this can be inserted into EQ1 replacing Sapplied to get:
EQ13: [W]
= [R]–[Dcav–((Dcav–∆Dw)∕(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.
Subscribe to:
Posts (Atom)



































