Method of simulating oligomer or polymer growth

By simulating the growth process of oligomers or polymers using a processor, the problem of resource waste in existing technologies is solved, and efficient and accurate simulation growth and performance prediction are achieved.

CN114667571BActive Publication Date: 2025-12-19COVESTRO LLC
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202080080140.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2019-09-20
Filing Date
2020-09-16
Publication Date
2025-12-19
Estimated Expiration
2040-09-16

AI Technical Summary

Technical Problem

Existing technologies require a significant amount of time and resources to simulate the growth of oligomers or polymers, and the experimental results are not always valid, leading to a waste of resources.

Method used

By using a processor to simulate the growth process of oligomers or polymers, the reaction formulation is received, the functional group type and reaction rules are determined, the functional group sequence is randomized, simulated bonding is formed, statistical reaction data is generated, characteristic and expected properties are determined, and reaction conditions are optimized.

Benefits of technology

It reduces the time and resource consumption of laboratory experiments, improves the efficiency and accuracy of simulating oligomer or polymer growth, and can predict their performance properties.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114667571B_ABST
    Figure CN114667571B_ABST
Patent Text Reader

Abstract

A method of simulating oligomer or polymer growth includes receiving a reaction recipe including a plurality of reactive molecules; determining, for each reactive molecule of the plurality of reactive molecules, at least one functional group associated with the reactive molecule; assigning a functional group type to each functional group associated with the plurality of reactive molecules; determining at least one reaction rule associated with each functional group type; simulating, from the plurality of reactive molecules, a plurality of reactions forming oligomers or polymers based on the at least one reaction rule to form a plurality of simulated oligomers or polymers; and determining at least one oligomer or polymer structure associated with a first oligomer or polymer of the plurality of simulated oligomers or polymers.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] BACKGROUND

[0002] 1. TECHNICAL FIELD

[0003] The present disclosure relates to simulating oligomer or polymer growth, and in some non-limiting embodiments aspects, to methods, systems, and computer program products that simulate oligomer or polymer growth.

[0004] 2. TECHNICAL CONSIDERATIONS

[0005] Understanding the resulting structure of an oligomer or polymer based on a series of reactants requires a large amount of laboratory experimentation, which takes a significant amount of time and financial resources. Further, determining performance properties related to the formed oligomer or polymer requires further testing, which results in additional expenditures of time and resources. Not all of these experiments result in oligomers or polymers with useful structures and / or performance properties, meaning that at least some of the experiments and testing are not valuable.

[0006] SUMMARY

[0007] According to some non-limiting embodiments or aspects, a method of simulating oligomer or polymer growth includes: receiving, with at least one processor, a reaction recipe including a plurality of reactive molecules; determining, with at least one processor, for each reactive molecule of the plurality of reactive molecules, at least one functional group associated with the reactive molecule; assigning, with at least one processor, a functional group type to each functional group associated with the plurality of reactive molecules; determining, with at least one processor, at least one reaction rule associated with each functional group type; simulating, with at least one processor, a plurality of reactions forming oligomers or polymers from the plurality of reactive molecules based on the at least one reaction rule to form a plurality of simulated oligomers or polymers; and determining, with at least one processor, at least one oligomer or polymer structure associated with a first oligomer or polymer of the plurality of simulated oligomers or polymers.

[0008] In some non-limiting embodiments or aspects, simulating the plurality of oligomer or polymer-forming reactions can include associating, with at least one processor, at least one functional group associated with the plurality of reactive molecules with at least one other functional group associated with the plurality of reactive molecules. Simulating the plurality of oligomer or polymer-forming reactions can include generating, with at least one processor, a first list of a plurality of first-type reactive functional groups of reactive functional groups associated with the plurality of reactive molecules and a second list of a plurality of second-type reactive functional groups of reactive functional groups associated with the plurality of reactive molecules; randomizing, with at least one processor, an order of the plurality of first-type reactive functional groups in the first list; randomizing, with at least one processor, an order of the plurality of second-type reactive functional groups in the second list; associating, with at least one processor, at least one first-type reactive functional group from the first list with at least one corresponding second reactive functional group from the second list based on the randomized orders to form at least one simulated bond of a first oligomer or polymer. The method can include generating, with at least one processor, statistical reaction data based on the plurality of oligomer or polymer-forming reactions. Simulating the plurality of oligomer or polymer-forming reactions can include associating, with at least one processor, at least one pair of functional groups associated with the plurality of reactive molecules to form a bonding pair based on the at least one reaction rule. The method can include designating, with at least one processor, a bonding group identifier associated with the bonding pair. Simulating the plurality of oligomer or polymer-forming reactions can include associating, with at least one processor, a first pair of functional groups associated with the plurality of reactive molecules to form a first bonding pair based on the at least one reaction rule; and subsequently associating, with at least one processor, a second pair of functional groups associated with the plurality of reactive molecules to form a second bonding pair based on the at least one reaction rule. Simulating the plurality of oligomer or polymer-forming reactions can further include adjusting, with at least one processor, the at least one reaction rule between associating the first pair of functional groups and associating the second pair of functional groups. The method can further include determining, with at least one processor, at least one characteristic associated with the first oligomer or polymer.The at least one characteristic can include at least one of: moles of effective connections per kilogram of oligomer or polymer, moles of effective connections per kilogram of gel component, moles of effective connections per kilogram of core in the gel component, moles of intramolecular loops formed per kilogram of oligomer or polymer, moles of intermolecular loops formed per kilogram of gel component, moles of intermolecular loops formed per kilogram of core in the gel component, crosslink density, moles of crosslink junctions per kilogram of oligomer or polymer, moles of dangler links per kilogram of oligomer or polymer, moles of danglers per kilogram of gel component, weight percent of sol in the gelled oligomer or polymer, weight percent of gel in the gelled oligomer or polymer, weight percent of danglers, weight percent of core gel, number average molecular weight of elastic links, weight average molecular weight of elastic links, number average molecular weight of danglers, weight average molecular weight of danglers, molecular weight of danglers weighted by their percent in the total oligomer or polymer, molecular weight of elastic links weighted by their weight percent in the oligomer or polymer, number average molecular weight, weight average molecular weight, z average molecular weight, degree of polymerization, dispersity of the reaction product, number of ingredient molecules used in the simulation, number of monomers used in the simulation, number of loop closures formed, number of oligomer molecules formed, equivalent ratio of CO / OH of the raw materials, number average OH functionality, number average CO functionality, functional average functionality of CO, weight average functionality of OH, weight average OH functionality, weight average CO functionality, average new bonds formed per oligomer, moles of bonds formed per kilogram of oligomer or polymer, moles of remaining OH groups per kilogram of oligomer or polymer, moles of remaining CO groups per kilogram of oligomer or polymer, number of OH, acid value in the case where CO is a carboxylic acid, weight percent of isocyanate groups in the product, percent of isocyanate in the product with any isocyanate monomers removed, extent of reaction, weight percent of unreacted monomers, number average molecular weight of hard segment, average number of monomers per hard segment, molecular weight of danglers attached to hard segment, and average number of monomers per soft segment. The method can further include determining, with at least one processor, at least one expected property related to the first oligomer or polymer based on the determined at least one characteristic related to the first oligomer or polymer. The at least one expected property can include at least one of: a mechanical test property, a physical test property, a thermal test property, a rheological test property, a barrier test property, a weatherability and / or chemical resistance test property, an adhesion test property, a flammability test property, an optical test property, and an electrical test property.

[0009] In some non-limiting embodiments or aspects, simulating the plurality of reactions forming oligomers or polymers can comprise determining, with at least one processor, a degree of reaction associated with the plurality of reactions forming simulated oligomers or polymers. The at least one reaction rule can comprise a relative reactivity of at least one functional group type. The at least one reaction rule can comprise that a first functional group type is capable of reacting with a second functional group type. A reaction recipe can comprise an initial plurality of reactive molecules and a subsequent plurality of reactive molecules, wherein simulating the plurality of reactions forming oligomers or polymers can comprise simulating, with at least one processor, reactions forming oligomers or polymers from the initial plurality of reactive molecules based on the at least one reaction rule, wherein the method can further comprise simulating, with at least one processor, a plurality of reactions forming subsequent oligomers or polymers from the plurality of subsequent reactive molecules and molecules and / or oligomers and / or polymers formed by the plurality of reactions forming oligomers or polymers based on the at least one reaction rule. The method can further comprise generating, with at least one processor, reaction instructions for forming a first oligomer or polymer. The method can further comprise communicating, with at least one processor, reaction instructions to a reactor to cause the reactor to begin production of the first oligomer or polymer. Determining the at least one oligomer or polymer structure associated with the first oligomer or polymer can comprise determining a simulated pendant, sol, and elastomeric connection. Determining the at least one expected property can comprise analyzing the at least one feature based on historical data associated with oligomers or polymers. Analyzing the at least one feature based on historical data can comprise generating the at least one expected property using a machine learning algorithm. The method can further comprise storing, with at least one processor, historical simulation data associated with the plurality of simulated oligomers or polymers; receiving, with at least one processor, a suggestion request, wherein the suggestion request can comprise at least one target physical property associated with an oligomer or polymer to be produced; querying, with at least one processor, the stored historical simulation data; and generating, with at least one processor, a suggestion response comprising reaction instructions for forming an oligomer or polymer having the at least one target physical property based on the historical simulation data. Determining the at least one oligomer or polymer structure associated with the first oligomer or polymer can comprise identifying the at least one oligomer or polymer structure associated with the first oligomer or polymer based on a component search algorithm.

[0010] In some non-limiting embodiments or aspects, the first oligomer or polymer can include a cured thermoset oligomer or polymer. Determining the at least one oligomer or polymer structure associated with the first oligomer or polymer can include at least one of: identifying, with the at least one processor, soft segments of the first oligomer or polymer and / or hard segments of the first oligomer or polymer; and analyzing, with the at least one processor, the soft segments of the first oligomer or polymer and / or the hard segments of the first oligomer or polymer. The method can further include: storing, with the at least one processor, historical simulation data associated with the plurality of simulated oligomers or polymers; receiving, with the at least one processor, a message from the reactor, the message including at least one property associated with a material being produced in the reactor; determining, with the at least one processor, at least one reactor adjustment based on the message and the historical simulation data; and communicating, with the at least one processor, a reply message to the reactor to cause the reactor to begin the reactor adjustment.

[0011] According to some non-limiting embodiments or aspects, a system for simulating oligomer or polymer growth can include at least one processor programmed or configured to: receive a reaction recipe including a plurality of reactive molecules; for each reactive molecule of the plurality of reactive molecules, determine at least one functional group associated with the reactive molecule; assign a functional group type to each functional group associated with the plurality of reactive molecules; determine at least one reaction rule associated with each functional group type; simulate, from the plurality of reactive molecules, a plurality of oligomer or polymer forming reactions based on the at least one reaction rule to form a plurality of simulated oligomers or polymers; and determine at least one oligomer or polymer structure associated with a first oligomer or polymer of the plurality of simulated oligomers or polymers.

[0012] In some non-limiting embodiments or aspects, simulating the plurality of oligomer or polymer-forming reactions can include programming or configuring the at least one processor to associate at least one functional group associated with the plurality of reactive molecules with at least one other functional group associated with the plurality of reactive molecules. Simulating the plurality of oligomer or polymer-forming reactions can include programming or configuring the at least one processor to generate a first list of a plurality of first-type reactive functional groups of reactive functional groups associated with the plurality of reactive molecules and a second list of a plurality of second-type reactive functional groups of reactive functional groups associated with the plurality of reactive molecules; randomize an order of the plurality of first-type reactive functional groups in the first list; randomize an order of the plurality of second-type reactive functional groups in the second list; associate at least one first-type reactive functional group from the first list with at least one corresponding second reactive functional group from the second list based on the randomized orders to form at least one simulated bond of a first oligomer or polymer. The at least one processor can be programmed or configured to generate statistical reaction data based on the plurality of oligomer or polymer-forming reactions. Simulating the plurality of oligomer or polymer-forming reactions can include programming or configuring the at least one processor to associate at least one pair of functional groups associated with the plurality of reactive molecules to form a bonding pair based on the at least one reaction rule. The at least one processor can be programmed or configured to assign a bonding group identifier associated with the bonding pair. Simulating the plurality of oligomer or polymer-forming reactions can include programming or configuring the at least one processor to associate a first pair of functional groups associated with the plurality of reactive molecules to form a first bonding pair based on the at least one reaction rule; and subsequently associate a second pair of functional groups associated with the plurality of reactive molecules to form a second bonding pair based on the at least one reaction rule. Simulating the plurality of oligomer or polymer-forming reactions can include programming or configuring the at least one processor to adjust the at least one reaction rule between associating the first pair of functional groups and associating the second pair of functional groups. The at least one processor can be programmed or configured to determine at least one characteristic associated with the first oligomer or polymer.The at least one characteristic can include at least one of: moles of effective connections per kilogram of oligomer or polymer, moles of effective connections per kilogram of gel component, moles of effective connections per kilogram of core in the gel component, moles of intramolecular loops formed per kilogram of oligomer or polymer, moles of intermolecular loops formed per kilogram of gel component, moles of intermolecular loops formed per kilogram of core in the gel component, crosslinking density, moles of crosslinking junctions per kilogram of oligomer or polymer, moles of dangling connections per kilogram of oligomer or polymer, moles of dangling moieties per kilogram of gel component, weight percent of sol in the gelled oligomer or polymer, weight percent of gel in the gelled oligomer or polymer, weight percent of dangling moieties, weight percent of core gel, number average molecular weight of elastomeric connections, weight average molecular weight of elastomeric connections, number average molecular weight of dangling moieties, weight average molecular weight of dangling moieties, molecular weight of dangling moieties weighted by its percentage in the total oligomer or polymer, molecular weight of elastomeric connections weighted by its weight percent in the oligomer or polymer, number average molecular weight, weight average molecular weight, z average molecular weight, degree of polymerization, dispersity of the reaction product, number of ingredient molecules used in the simulation, number of monomers used in the simulation, number of loop closures formed, number of oligomer molecules formed, equivalent ratio of CO / OH of the raw materials, number average OH functionality, number average CO functionality, functional average functionality of CO, weight average functionality of OH, weight average OH functionality, weight average CO functionality, average new bonds formed per oligomer, moles of bonds formed per kilogram of oligomer or polymer, moles of remaining OH groups per kilogram of oligomer or polymer, moles of remaining CO groups per kilogram of oligomer or polymer, number of OH groups, acid value in the case where CO is a carboxylic acid, weight percent of isocyanate groups in the product, percent of isocyanate in the product with any isocyanate monomers removed, extent of reaction, weight percent of unreacted monomers, number average molecular weight of hard segments, average number of monomers per hard segment, molecular weight of dangling moieties attached to hard segments, and average number of monomers per soft segment. The at least one processor can be programmed or configured to determine at least one expected property related to the first oligomer or polymer based on the determined at least one characteristic related to the first oligomer or polymer. The at least one expected property can include at least one of: a mechanical test property, a physical test property, a thermal test property, a rheological test property, a barrier test property, a weatherability and / or chemical resistance test property, an adhesion test property, a flammability test property, an optical test property, and an electrical test property.

[0013] In some non-limiting embodiments or aspects, simulating the plurality of reactions forming oligomers or polymers can include programming or configuring the at least one processor to: determine a degree of reaction associated with the plurality of reactions forming simulated oligomers or polymers. The at least one reaction rule can include a relative reactivity of at least one functional group type. The at least one reaction rule can include that a first functional group type is capable of reacting with a second functional group type. A reaction recipe can include an initial plurality of reactive molecules and a subsequent plurality of reactive molecules, where simulating the plurality of reactions forming oligomers or polymers can include simulating reactions forming oligomers or polymers from the initial plurality of reactive molecules based on the at least one reaction rule, where the at least one processor is programmed or configured to simulate a plurality of reactions forming subsequent oligomers or polymers from the plurality of subsequent reactive molecules and molecules and / or oligomers and / or polymers formed by the plurality of reactions forming oligomers or polymers based on the at least one reaction rule. The at least one processor can be programmed or configured to: generate reaction instructions for forming a first oligomer or polymer. The at least one processor can be programmed or configured to: communicate reaction instructions to a reactor to cause the reactor to begin production of the first oligomer or polymer. Determining the at least one oligomer or polymer structure associated with the first oligomer or polymer can include determining a simulated pendant, sol, and elastomeric connection. Determining the at least one expected property can include analyzing the at least one feature based on historical data associated with oligomers or polymers. Analyzing the at least one feature based on historical data can include generating the at least one expected property using a machine learning algorithm. The at least one processor can be programmed or configured to: store historical simulation data associated with the plurality of simulated oligomers or polymers; receive a suggestion request, where the suggestion request can include at least one target physical property associated with an oligomer or polymer to be produced; query the stored historical simulation data; and generate a suggestion response including reaction instructions for forming an oligomer or polymer having the at least one target physical property based on the historical simulation data. Determining the at least one oligomer or polymer structure associated with the first oligomer or polymer can include identifying the at least one oligomer or polymer structure associated with the first oligomer or polymer based on a component search algorithm.

[0014] In some non-limiting embodiments or aspects, the first oligomer or polymer can include a cured thermoset oligomer or polymer. Determining the at least one oligomer or polymer structure related to the first oligomer or polymer can include the at least one processor programmed or configured to: identify soft segments of the first oligomer or polymer and / or hard segments of the first oligomer or polymer; and analyze the soft segments of the first oligomer or polymer and / or the hard segments of the first oligomer or polymer. The at least one processor can be programmed or configured to: store historical simulation data related to the plurality of simulated oligomers or polymers; receive a message from a reactor, the message including at least one property related to a material being produced in the reactor; determine at least one reactor adjustment based on the message and the historical simulation data; and communicate a reply message to the reactor to cause the reactor to begin making the reactor adjustment.

[0015] According to some non-limiting embodiments or aspects, a computer program product for simulating oligomer or polymer growth includes at least one non-transitory computer-readable medium including one or more instructions that, when executed by at least one processor, cause the at least one processor to: receive a reaction recipe including a plurality of reactive molecules; for each reactive molecule of the plurality of reactive molecules, determine at least one functional group related to the reactive molecule; assign a functional group type to each functional group related to the plurality of reactive molecules; determine at least one reaction rule related to each functional group type; simulate a plurality of oligomer or polymer forming reactions from the plurality of reactive molecules based on the at least one reaction rule to form a plurality of simulated oligomers or polymers; and determine at least one oligomer or polymer structure related to a first oligomer or polymer of the plurality of simulated oligomers or polymers.

[0016] In some non-limiting embodiments or aspects, simulating the plurality of oligomer or polymer-forming reactions can include the one or more instructions causing the at least one processor to: associate at least one functional group associated with the plurality of reactive molecules with at least one other functional group associated with the plurality of reactive molecules. Simulating the plurality of oligomer or polymer-forming reactions can include the one or more instructions causing the at least one processor to: generate a first list of a plurality of first type reactive functional groups of reactive functional groups associated with the plurality of reactive molecules and a second list of a plurality of second type reactive functional groups of reactive functional groups associated with the plurality of reactive molecules; randomize an order of the plurality of first type reactive functional groups in the first list; randomize an order of the plurality of second type reactive functional groups in the second list; associate at least one first type reactive functional group from the first list with at least one corresponding second reactive functional group from the second list based on the randomized orders to form at least one simulated bond of a first oligomer or polymer. The one or more instructions can cause the at least one processor to: generate statistical reaction data based on the plurality of oligomer or polymer-forming reactions. Simulating the plurality of oligomer or polymer-forming reactions can include the one or more instructions causing the at least one processor to: associate at least one pair of functional groups associated with the plurality of reactive molecules to form a bonding pair based on the at least one reaction rule. The one or more instructions can cause the at least one processor to: specify a bonding group identifier associated with the bonding pair. Simulating the plurality of oligomer or polymer-forming reactions can include the one or more instructions causing the at least one processor to: associate a first pair of functional groups associated with the plurality of reactive molecules to form a first bonding pair based on the at least one reaction rule; and subsequently associate a second pair of functional groups associated with the plurality of reactive molecules to form a second bonding pair based on the at least one reaction rule. Simulating the plurality of oligomer or polymer-forming reactions can include the one or more instructions causing the at least one processor to: adjust the at least one reaction rule between associating the first pair of functional groups and associating the second pair of functional groups. The one or more instructions can cause the at least one processor to: determine at least one characteristic associated with a first oligomer or polymer.The at least one characteristic can include at least one of: moles of effective connections per kilogram of oligomer or polymer, moles of effective connections per kilogram of gel component, moles of effective connections per kilogram of core in the gel component, moles of intramolecular loops formed per kilogram of oligomer or polymer, moles of intermolecular loops formed per kilogram of gel component, moles of intermolecular loops formed per kilogram of core in the gel component, crosslinking density, moles of crosslinking junctions per kilogram of oligomer or polymer, moles of dangling connections per kilogram of oligomer or polymer, moles of dangling portions per kilogram of gel component, weight percent of sol in the gelled oligomer or polymer, weight percent of gel in the gelled oligomer or polymer, weight percent of dangling portions, weight percent of core gel, number average molecular weight of elastomeric connections, weight average molecular weight of elastomeric connections, number average molecular weight of dangling portions, weight average molecular weight of dangling portions, molecular weight of dangling portions weighted by its percentage in the total oligomer or polymer, molecular weight of elastomeric connections weighted by its weight percent in the oligomer or polymer, number average molecular weight, weight average molecular weight, z average molecular weight, degree of polymerization, dispersity of the reaction product, number of ingredient molecules used in the simulation, number of monomers used in the simulation, number of loop closures formed, number of oligomer molecules formed, equivalent ratio of CO / OH of the raw materials, number average OH functionality, number average CO functionality, functional average functionality of CO, weight average functionality of OH, weight average OH functionality, weight average CO functionality, average new bonds formed per oligomer, moles of bonds formed per kilogram of oligomer or polymer, moles of remaining OH groups per kilogram of oligomer or polymer, moles of remaining CO groups per kilogram of oligomer or polymer, number of OH, acid value in the case where CO is carboxylic acid, weight percent of isocyanate groups in the product, percent of isocyanate in the product with any isocyanate monomers removed, extent of reaction, weight percent of unreacted monomers, number average molecular weight of hard segments, average number of monomers per hard segment, molecular weight of dangling portions attached to hard segments, and average number of monomers per soft segment. The one or more instructions can cause the at least one processor to determine at least one expected property related to the first oligomer or polymer based on the determined at least one characteristic related to the first oligomer or polymer. The at least one expected property can include at least one of: a mechanical test property, a physical test property, a thermal test property, a rheological test property, a barrier test property, a weatherability and / or chemical resistance test property, an adhesion test property, a flammability test property, an optical test property, and an electrical test property.

[0017] In some non-limiting embodiments or aspects, simulating the plurality of reactions forming oligomers or polymers can include the one or more instructions causing the at least one processor to: determine a degree of reaction associated with the plurality of reactions forming simulated oligomers or polymers. The at least one reaction rule can include a relative reactivity of at least one functional group type. The at least one reaction rule can include that a first functional group type is capable of reacting with a second functional group type. A reaction recipe can include an initial plurality of reactive molecules and a subsequent plurality of reactive molecules, where simulating the plurality of reactions forming oligomers or polymers can include simulating reactions forming oligomers or polymers from the initial plurality of reactive molecules based on the at least one reaction rule, where the one or more instructions cause the at least one processor to: simulate a plurality of reactions forming subsequent oligomers or polymers from the plurality of subsequent reactive molecules and molecules and / or oligomers and / or polymers formed by the plurality of reactions forming oligomers or polymers based on the at least one reaction rule. The one or more instructions can cause the at least one processor to: generate reaction instructions for forming a first oligomer or polymer. The one or more instructions can cause the at least one processor to: communicate the reaction instructions to a reactor to cause the reactor to begin preparation of the first oligomer or polymer. Determining the at least one oligomer or polymer structure associated with the first oligomer or polymer can include determining a simulated pendant, sol, and elastomeric connection. Determining the at least one expected property can include analyzing the at least one feature based on historical data analysis associated with oligomers or polymers. Analyzing the at least one feature based on historical data analysis can include generating the at least one expected property using a machine learning algorithm. The one or more instructions can cause the at least one processor to: store historical simulation data associated with the plurality of simulated oligomers or polymers; receive a suggestion request, where the suggestion request can include at least one target physical property associated with an oligomer or polymer to be produced; query the stored historical simulation data; and generate a suggestion response including reaction instructions for forming an oligomer or polymer having the at least one target physical property based on the historical simulation data. Determining the at least one oligomer or polymer structure associated with the first oligomer or polymer can include identifying the at least one oligomer or polymer structure associated with the first oligomer or polymer based on a component search algorithm.

[0018] In some non-limiting embodiments or aspects, the first oligomer or polymer can include a cured thermoset oligomer or polymer. Determining the at least one oligomer or polymer structure related to the first oligomer or polymer can include the one or more instructions causing the at least one processor to: identify soft segments of the first oligomer or polymer and / or hard segments of the first oligomer or polymer; and analyze the soft segments of the first oligomer or polymer and / or the hard segments of the first oligomer or polymer. The one or more instructions can cause the at least one processor to: store historical simulation data related to the plurality of simulated oligomers or polymers; receive a message from a reactor, the message including at least one property related to a material being produced in the reactor; determine at least one reactor adjustment based on the message and the historical simulation data; and communicate a reply message to the reactor to cause the reactor to begin making the reactor adjustment.

[0019] Further embodiments or aspects are set forth in the following numbered clauses:

[0020] Clause 1 : A method of simulating oligomer or polymer growth, comprising: receiving, with at least one processor, a reaction recipe including a plurality of reactive molecules; determining, with at least one processor, for each reactive molecule of the plurality of reactive molecules, at least one functional group related to the reactive molecule; assigning, with at least one processor, each functional group related to the plurality of reactive molecules a functional group type; determining, with at least one processor, at least one reaction rule related to each functional group type; simulating, with at least one processor, a plurality of oligomer or polymer forming reactions from the plurality of reactive molecules based on the at least one reaction rule to form a plurality of simulated oligomers or polymers; and determining, with at least one processor, at least one oligomer or polymer structure related to a first oligomer or polymer of the plurality of simulated oligomers or polymers.

[0021] Clause 2: The method of clause 1, wherein simulating the plurality of oligomer or polymer forming reactions includes: associating, with at least one processor, at least one functional group related to the plurality of reactive molecules with at least one other functional group related to the plurality of reactive molecules.

[0022] Clause 3: The method of clause 1 or 2, wherein simulating the plurality of oligomer or polymer-forming reactions comprises: generating, with the at least one processor, a first list of a plurality of first-type reactive functional groups of reactive functional groups associated with the plurality of reactive molecules and a second list of a plurality of second-type reactive functional groups of reactive functional groups associated with the plurality of reactive molecules; randomizing, with the at least one processor, an order of the plurality of first-type reactive functional groups in the first list; randomizing, with the at least one processor, an order of the plurality of second-type reactive functional groups in the second list; associating, with the at least one processor, at least one first-type reactive functional group from the first list with at least one corresponding second reactive functional group from the second list based on the randomized orders to form at least one simulated bond of a first oligomer or polymer.

[0023] Clause 4: The method of any one of clauses 1-3, further comprising: generating, with the at least one processor, statistical reaction data based on the plurality of oligomer or polymer-forming reactions.

[0024] Clause 5: The method of any one of clauses 1-4, wherein simulating the plurality of oligomer or polymer-forming reactions comprises: associating, with the at least one processor, at least one pair of functional groups associated with the plurality of reactive molecules to form a bonding pair based on the at least one reaction rule.

[0025] Clause 6: The method of clause 5, further comprising: assigning, with the at least one processor, a bonding group identifier associated with the bonding pair.

[0026] Clause 7: The method of any one of clauses 1-6, wherein simulating the plurality of oligomer or polymer-forming reactions comprises: associating, with the at least one processor, a first pair of functional groups associated with the plurality of reactive molecules to form a first bonding pair based on the at least one reaction rule; and subsequently associating, with the at least one processor, a second pair of functional groups associated with the plurality of reactive molecules to form a second bonding pair based on the at least one reaction rule.

[0027] Clause 8: The method of clause 7, wherein simulating the plurality of oligomer or polymer-forming reactions further comprises: adjusting, with the at least one processor, the at least one reaction rule between associating the first pair of functional groups and associating the second pair of functional groups.

[0028] Clause 9: The method of any one of clauses 1-8, further comprising: determining, with the at least one processor, at least one characteristic associated with the first oligomer or polymer.

[0029] Clause 10: The method of clause 9, wherein the at least one characteristic comprises at least one of: moles of effective connections per kilogram of oligomer or polymer, moles of effective connections per kilogram of gel component, moles of effective connections per kilogram of core in the gel component, moles of intramolecular loops formed per kilogram of oligomer or polymer, moles of intermolecular loops formed per kilogram of gel component, moles of intermolecular loops formed per kilogram of core in the gel component, crosslinking density, moles of crosslinking junctions per kilogram of oligomer or polymer, moles of dangling connections per kilogram of oligomer or polymer, moles of dangling portions per kilogram of gel component, weight percent of sol in the gelled oligomer or polymer, weight percent of gel in the gelled oligomer or polymer, weight percent of dangling portions, weight percent of core gel, number average molecular weight of elastomeric connections, weight average molecular weight of elastomeric connections, number average molecular weight of dangling portions, weight average molecular weight of dangling portions, molecular weight of dangling portions weighted by its percentage in the total oligomer or polymer, molecular weight of elastomeric connections weighted by its weight percentage in the oligomer or polymer, number average molecular weight, weight average molecular weight, z average molecular weight, degree of polymerization, dispersity of the reaction product, number of ingredient molecules used in the simulation, number of monomers used in the simulation, number of loop closures formed, number of oligomer molecules formed, equivalent ratio of CO / OH of the raw materials, number average OH functionality, number average CO functionality, functional average functionality of CO, weight average functionality of OH, weight average OH functionality, weight average CO functionality, average new bonds formed per oligomer, moles of bonds formed per kilogram of oligomer or polymer, moles of remaining OH groups per kilogram of oligomer or polymer, moles of remaining CO groups per kilogram of oligomer or polymer, number of OH, acid value in case CO is carboxylic acid, weight percent of isocyanate groups in the product, percent of isocyanate in the product excluding any isocyanate monomers, extent of reaction, weight percent of unreacted monomers, number average molecular weight of hard segments, average number of monomers per hard segment, molecular weight of dangling portions attached to hard segments, and average number of monomers per soft segment.

[0030] Clause 11: The method of clause 9 or 10, further comprising: determining, with at least one processor, at least one expected property related to the first oligomer or polymer based on the determined at least one characteristic related to the first oligomer or polymer.

[0031] Clause 12: The method of clause 11, wherein the at least one expected property comprises at least one of: a mechanical test property, a physical test property, a thermal test property, a rheological test property, a barrier test property, a weather and / or chemical resistance test property, an adhesion test property, a flammability test property, an optical test property, and an electrical test property.

[0032] Clause 13: The method of any one of clauses 1-12, wherein simulating the plurality of reactions forming oligomers or polymers comprises determining, with the at least one processor, a degree of reaction associated with the plurality of reactions forming simulated oligomers or polymers.

[0033] Clause 14: The method of any one of clauses 1-13, wherein the at least one reaction rule comprises a relative reactivity of at least one functional group type.

[0034] Clause 15: The method of any one of clauses 1-14, wherein the at least one reaction rule comprises that a first functional group type is capable of reacting with a second functional group type.

[0035] Clause 16: The method of any one of clauses 1-15, wherein the reaction formulation comprises an initial plurality of reactive molecules and a subsequent plurality of reactive molecules, wherein simulating the plurality of reactions forming oligomers or polymers comprises simulating, with the at least one processor, reactions forming oligomers or polymers from the initial plurality of reactive molecules based on the at least one reaction rule, wherein the method further comprises simulating, with the at least one processor, a plurality of reactions forming subsequent oligomers or polymers from the plurality of subsequent reactive molecules and molecules and / or oligomers and / or polymers formed by the plurality of reactions forming oligomers or polymers based on the at least one reaction rule.

[0036] Clause 17: The method of any one of clauses 1-16, further comprising generating, with the at least one processor, reaction instructions for forming a first oligomer or polymer.

[0037] Clause 18: The method of clause 17, further comprising communicating, with the at least one processor, the reaction instructions to a reactor to cause the reactor to begin production of the first oligomer or polymer.

[0038] Clause 19: The method of any one of clauses 1-18, wherein determining the at least one oligomer or polymer structure associated with the first oligomer or polymer comprises determining simulated pendent, sol and elastomeric linkages.

[0039] Clause 20: The method of any one of clauses 11-19, wherein determining the at least one expected property comprises analyzing the at least one feature based on historical data associated with oligomers or polymers.

[0040] Clause 21: The method of clause 20, wherein analyzing the at least one feature based on historical data comprises generating the at least one expected property using a machine learning algorithm.

[0041] Clause 22: The method of any of clauses 1-21, further comprising: storing, with the at least one processor, historical simulation data related to the plurality of simulated oligomers or polymers; receiving, with the at least one processor, a suggestion request, wherein the suggestion request includes at least one target physical property related to an oligomer or polymer to be produced; querying, with the at least one processor, the stored historical simulation data; and generating, with the at least one processor, a suggestion response including reaction instructions for forming an oligomer or polymer having the at least one target physical property based on the historical simulation data.

[0042] Clause 23: The method of any of clauses 1-22, wherein determining the at least one oligomer or polymer structure related to the first oligomer or polymer includes identifying, based on a component search algorithm, the at least one oligomer or polymer structure related to the first oligomer or polymer.

[0043] Clause 24: The method of any of clauses 1-23, wherein the first oligomer or polymer includes a cured thermoset oligomer or polymer.

[0044] Clause 25: The method of any of clauses 1-24, wherein determining the at least one oligomer or polymer structure related to the first oligomer or polymer includes at least one of: identifying, with the at least one processor, soft segments of the first oligomer or polymer and / or hard segments of the first oligomer or polymer; and analyzing, with the at least one processor, the soft segments of the first oligomer or polymer and / or the hard segments of the first oligomer or polymer.

[0045] Clause 26: The method of any of clauses 1-25, further comprising: storing, with the at least one processor, historical simulation data related to the plurality of simulated oligomers or polymers; receiving, with the at least one processor, a message from a reactor, the message including at least one property related to a material being produced in the reactor; determining, with the at least one processor, at least one reactor adjustment based on the message and the historical simulation data; and communicating, with the at least one processor, a reply message to the reactor to cause the reactor to begin the reactor adjustment.

[0046] Clause 27: A system for simulating oligomer or polymer growth, comprising at least one processor programmed or configured to: receive a reaction recipe comprising a plurality of reactive molecules; for each reactive molecule of the plurality of reactive molecules, determine at least one functional group associated with the reactive molecule; assign a functional group type to each functional group associated with the plurality of reactive molecules; determine at least one reaction rule associated with each functional group type; simulate a plurality of oligomer or polymer-forming reactions from the plurality of reactive molecules based on the at least one reaction rule to form a plurality of simulated oligomers or polymers; and determine at least one oligomer or polymer structure associated with a first oligomer or polymer of the plurality of simulated oligomers or polymers.

[0047] Clause 28: The system of clause 27, wherein simulating the plurality of oligomer or polymer-forming reactions comprises programming or configuring the at least one processor to: associate at least one functional group associated with the plurality of reactive molecules with at least one other functional group associated with the plurality of reactive molecules.

[0048] Clause 29: The system of clause 27 or 28, wherein simulating the plurality of oligomer or polymer-forming reactions comprises programming or configuring the at least one processor to: generate a first list of a plurality of first type reactive functional groups of reactive functional groups associated with the plurality of reactive molecules and a second list of a plurality of second type reactive functional groups of reactive functional groups associated with the plurality of reactive molecules; randomize an order of the plurality of first type reactive functional groups in the first list; randomize an order of the plurality of second type reactive functional groups in the second list; associate at least one first type reactive functional group from the first list with at least one corresponding second reactive functional group from the second list based on the randomized orders to form at least one simulated bond of the first oligomer or polymer.

[0049] Clause 30: The system of any one of clauses 27-29, wherein the at least one processor is programmed or configured to: generate statistical reaction data based on the plurality of oligomer or polymer-forming reactions.

[0050] Clause 31: The system of any one of clauses 27-30, wherein simulating the plurality of oligomer or polymer-forming reactions comprises programming or configuring the at least one processor to: associate at least one pair of functional groups associated with the plurality of reactive molecules based on the at least one reaction rule to form a bonding pair.

[0051] Clause 32: The system of clause 31, wherein the at least one processor is programmed or configured to: assign a bonding group identifier associated with the bonding pair.

[0052] Clause 33: The system of any one of clauses 27-32, wherein simulating the plurality of oligomer or polymer-forming reactions comprises programming or configuring the at least one processor to: associate a first pair of functional groups associated with the plurality of reactive molecules to form a first bonded pair based on the at least one reaction rule; and subsequently associate a second pair of functional groups associated with the plurality of reactive molecules to form a second bonded pair based on the at least one reaction rule.

[0053] Clause 34: The system of clause 33, wherein simulating the plurality of oligomer or polymer-forming reactions comprises programming or configuring the at least one processor to: adjust the at least one reaction rule between associating the first pair of functional groups and associating the second pair of functional groups.

[0054] Clause 35: The system of any one of clauses 27-34, wherein the at least one processor is programmed or configured to: determine at least one characteristic associated with a first oligomer or polymer.

[0055] Clause 36: The system of clause 35, wherein the at least one characteristic comprises at least one of: moles of effective connections per kg of oligomer or polymer, moles of effective connections per kg of gel component, moles of effective connections per kg of core in the gel component, moles of intramolecular loops formed per kg of oligomer or polymer, moles of intermolecular loops formed per kg of gel component, moles of intermolecular loops formed per kg of core of the gel component, crosslinking density, moles of crosslinking junctions per kg of oligomer or polymer, moles of dangling connections per kg of oligomer or polymer, moles of dangling per kg of gel component, weight percent of sol in the gelled oligomer or polymer, weight percent of gel in the gelled oligomer or polymer, weight percent of dangling, weight percent of core gel, number average molecular weight of elastic connections, weight average molecular weight of elastic connections, number average molecular weight of dangling, weight average molecular weight of dangling, molecular weight of dangling weighted by its percentage in the total oligomer or polymer, molecular weight of elastic connections weighted by its weight percent in the oligomer or polymer, number average molecular weight, weight average molecular weight, z average molecular weight, degree of polymerization, dispersity of the reaction product, number of ingredient molecules used in the simulation, number of monomers used in the simulation, number of loop closures formed, number of oligomer molecules formed, equivalent ratio of CO / OH of the raw materials, number average OH functionality, number average CO functionality, functional average functionality of CO, weight average functionality of OH, weight average OH functionality, weight average CO functionality, average new bonds formed per oligomer, moles of bonds formed per kg of oligomer or polymer, moles of remaining OH groups per kg of oligomer or polymer, moles of remaining CO groups per kg of oligomer or polymer, number of OH, acid value in case CO is carboxylic acid, weight percent of isocyanate groups in the product, percent of isocyanate in the product excluding any isocyanate monomers, degree of reaction, weight percent of unreacted monomers, number average molecular weight of hard segment, average number of monomers per hard segment, molecular weight of dangling attached to hard segment, and average number of monomers per soft segment.

[0056] Clause 37: The system of clause 35 or 36, wherein the at least one processor is programmed or configured to determine at least one expected property related to the first oligomer or polymer based on the determined at least one characteristic related to the first oligomer or polymer.

[0057] Clause 38: The system of clause 37, wherein the at least one expected property comprises at least one of: a mechanical test property, a physical test property, a thermal test property, a rheological test property, a barrier test property, a weather and / or chemical resistance test property, an adhesion test property, a flammability test property, an optical test property, and an electrical test property.

[0058] Clause 39: The system of any of clauses 27-38, wherein simulating the plurality of reactions forming oligomers or polymers comprises programming or configuring the at least one processor to determine a degree of reaction associated with the plurality of reactions forming simulated oligomers or polymers.

[0059] Clause 40: The system of any of clauses 27-39, wherein the at least one reaction rule comprises a relative reactivity of at least one functional group type.

[0060] Clause 41: The system of any of clauses 27-40, wherein the at least one reaction rule comprises that a first functional group type is capable of reacting with a second functional group type.

[0061] Clause 42: The system of any of clauses 27-41, wherein the reaction recipe comprises an initial plurality of reactive molecules and a subsequent plurality of reactive molecules, wherein simulating the plurality of reactions forming oligomers or polymers comprises simulating reactions forming oligomers or polymers from the initial plurality of reactive molecules based on the at least one reaction rule, wherein the at least one processor is programmed or configured to simulate a plurality of reactions forming subsequent oligomers or polymers from the plurality of subsequent reactive molecules and molecules and / or oligomers and / or polymers formed by the plurality of reactions forming oligomers or polymers based on the at least one reaction rule.

[0062] Clause 43: The system of any of clauses 27-42, wherein the at least one processor is programmed or configured to generate reaction instructions for forming a first oligomer or polymer.

[0063] Clause 44: The system of clause 43, wherein the at least one processor is programmed or configured to communicate the reaction instructions to a reactor to cause the reactor to begin preparation of the first oligomer or polymer.

[0064] Clause 45: The system of any of clauses 27-44, wherein determining the at least one oligomer or polymer structure associated with the first oligomer or polymer comprises determining simulated pendent, sol and elastomeric linkages.

[0065] Clause 46: The system of any of clauses 37-45, wherein determining the at least one expected property comprises analyzing the at least one feature based on historical data associated with oligomers or polymers.

[0066] Clause 47: The system of clause 46, wherein analyzing the at least one feature based on historical data comprises generating the at least one expected property using a machine learning algorithm.

[0067] Clause 48: The system of any of clauses 27-47, wherein the at least one processor is programmed or configured to: store historical simulation data related to the plurality of simulated oligomers or polymers; receive a suggestion request, wherein the suggestion request includes at least one target physical property related to an oligomer or polymer to be produced; query the stored historical simulation data; and generate a suggestion response including reaction instructions for forming an oligomer or polymer having the at least one target physical property based on the historical simulation data.

[0068] Clause 49: The system of any of clauses 27-48, wherein determining the at least one oligomer or polymer structure related to the first oligomer or polymer includes identifying the at least one oligomer or polymer structure related to the first oligomer or polymer based on a component search algorithm.

[0069] Clause 50: The system of any of clauses 27-49, wherein the first oligomer or polymer includes a cured thermoset oligomer or polymer.

[0070] Clause 51 : The system of any of clauses 27-50, wherein determining the at least one oligomer or polymer structure related to the first oligomer or polymer includes the at least one processor being programmed or configured to: identify soft segments of the first oligomer or polymer and / or hard segments of the first oligomer or polymer; and analyze the soft segments of the first oligomer or polymer and / or the hard segments of the first oligomer or polymer.

[0071] Clause 52: The system of any of clauses 27-51, wherein the at least one processor is programmed or configured to: store historical simulation data related to the plurality of simulated oligomers or polymers; receive a message from a reactor, the message including at least one property related to a material being made in the reactor; determine at least one reactor adjustment based on the message and the historical simulation data; and communicate a reply message to the reactor to cause the reactor to begin making the reactor adjustment.

[0072] Clause 53: A computer program product for simulating oligomer or polymer growth, the computer program product comprising at least one non-transitory computer-readable medium comprising one or more instructions that, when executed by at least one processor, cause the at least one processor to: receive a reaction recipe comprising a plurality of reactive molecules; for each reactive molecule of the plurality of reactive molecules, determine at least one functional group associated with the reactive molecule; assign a functional group type to each functional group associated with the plurality of reactive molecules; determine at least one reaction rule associated with each functional group type; simulate a plurality of oligomer or polymer-forming reactions from the plurality of reactive molecules based on the at least one reaction rule to form a plurality of simulated oligomers or polymers; and determine at least one oligomer or polymer structure associated with a first oligomer or polymer of the plurality of simulated oligomers or polymers.

[0073] Clause 54: The computer program product of clause 53, wherein simulating the plurality of oligomer or polymer-forming reactions comprises the one or more instructions causing the at least one processor to: associate at least one functional group associated with the plurality of reactive molecules with at least one other functional group associated with the plurality of reactive molecules.

[0074] Clause 55: The computer program product of clause 53 or 54, wherein simulating the plurality of oligomer or polymer-forming reactions comprises the one or more instructions causing the at least one processor to: generate a first list of a plurality of first type reactive functional groups of reactive functional groups associated with the plurality of reactive molecules and a second list of a plurality of second type reactive functional groups of reactive functional groups associated with the plurality of reactive molecules; randomize an order of the plurality of first type reactive functional groups in the first list; randomize an order of the plurality of second type reactive functional groups in the second list; associate at least one first type reactive functional group from the first list with at least one corresponding second reactive functional group from the second list based on the randomized orders to form at least one simulated bond of the first oligomer or polymer.

[0075] Clause 56: The computer program product of any one of clauses 53-55, wherein the one or more instructions cause the at least one processor to: generate statistical reaction data based on the plurality of oligomer or polymer-forming reactions.

[0076] Clause 57: The computer program product of any one of clauses 53-56, wherein simulating the plurality of oligomer or polymer-forming reactions comprises the one or more instructions causing the at least one processor to: associate at least one pair of functional groups associated with the plurality of reactive molecules based on the at least one reaction rule to form a bonding pair.

[0077] Clause 58: The computer program product of clause 57, wherein the one or more instructions cause the at least one processor to: designate a bonding group identifier associated with the bonding pair.

[0078] Clause 59: The computer program product of any one of clauses 53-58, wherein simulating the plurality of reactions to form the oligomer or polymer comprises the one or more instructions causing the at least one processor to: associate a first pair of functional groups associated with the plurality of reactive molecules to form a first bonding pair based on the at least one reaction rule; and subsequently associate a second pair of functional groups associated with the plurality of reactive molecules to form a second bonding pair based on the at least one reaction rule.

[0079] Clause 60: The computer program product of clause 59, wherein simulating the plurality of reactions to form the oligomer or polymer comprises the one or more instructions causing the at least one processor to: adjust the at least one reaction rule between associating the first pair of functional groups and associating the second pair of functional groups.

[0080] Clause 61 : The computer program product of any one of clauses 53-60, wherein the one or more instructions cause the at least one processor to: determine at least one characteristic associated with the first oligomer or polymer.

[0081] Clause 62: The computer program product of clause 61, wherein the at least one characteristic comprises at least one of: moles of effective connections per kg of oligomer or polymer, moles of effective connections per kg of gel component, moles of effective connections per kg of core in the gel component, moles of intramolecular loops formed per kg of oligomer or polymer, moles of intermolecular loops formed per kg of gel component, moles of intermolecular loops formed per kg of core of the gel component, crosslinking density, moles of crosslinking junctions per kg of oligomer or polymer, moles of dangling connections per kg of oligomer or polymer, moles of dangling per kg of gel component, weight percent of sol in the gelled oligomer or polymer, weight percent of gel in the gelled oligomer or polymer, weight percent of dangling, weight percent of core gel, number average molecular weight of elastic connections, weight average molecular weight of elastic connections, number average molecular weight of dangling, weight average molecular weight of dangling, molecular weight of dangling weighted by its percentage in the total oligomer or polymer, molecular weight of elastic connections weighted by its weight percent in the oligomer or polymer, number average molecular weight, weight average molecular weight, z average molecular weight, degree of polymerization, dispersity of the reaction product, number of ingredient molecules used in the simulation, number of monomers used in the simulation, number of loop closures formed, number of oligomer molecules formed, equivalent ratio of CO / OH of the raw materials, number average OH functionality, number average CO functionality, functional average functionality of CO, weight average functionality of OH, weight average OH functionality, weight average CO functionality, average new bonds formed per oligomer, moles of bonds formed per kg of oligomer or polymer, moles of remaining OH groups per kg of oligomer or polymer, moles of remaining CO groups per kg of oligomer or polymer, number of OH, acid value in case CO is carboxylic acid, weight percent of isocyanate groups in the product, percent of isocyanate in the product excluding any isocyanate monomers, degree of reaction, weight percent of unreacted monomers, number average molecular weight of hard segment, average number of monomers per hard segment, molecular weight of dangling attached to hard segment, and average number of monomers per soft segment.

[0082] Clause 63: The computer program product of clause 61 or 62, wherein the one or more instructions cause the at least one processor to: determine at least one expected property related to the first oligomer or polymer based on the determined at least one characteristic related to the first oligomer or polymer.

[0083] Clause 64: The computer program product of clause 63, wherein the at least one expected property comprises at least one of: a mechanical test property, a physical test property, a thermal test property, a rheological test property, a barrier test property, a weather and / or chemical resistance test property, an adhesion test property, a flammability test property, an optical test property, and an electrical test property.

[0084] Clause 65: The computer program product of any of clauses 53-64, wherein simulating the plurality of reactions to form oligomers or polymers comprises the one or more instructions causing the at least one processor to: determine a degree of reaction associated with the plurality of reactions to form simulated oligomers or polymers.

[0085] Clause 66: The computer program product of any of clauses 53-65, wherein the at least one reaction rule comprises a relative reactivity of at least one functional group type.

[0086] Clause 67: The computer program product of any of clauses 53-66, wherein the at least one reaction rule comprises that a first functional group type is capable of reacting with a second functional group type.

[0087] Clause 68: The computer program product of any of clauses 53-67, wherein the reaction recipe comprises an initial plurality of reactive molecules and a subsequent plurality of reactive molecules, wherein simulating the plurality of reactions to form oligomers or polymers comprises simulating reactions to form oligomers or polymers from the initial plurality of reactive molecules based on the at least one reaction rule, wherein the one or more instructions cause the at least one processor to: simulate a plurality of reactions to form subsequent oligomers or polymers from the plurality of subsequent reactive molecules and molecules and / or oligomers and / or polymers formed by the plurality of reactions to form oligomers or polymers based on the at least one reaction rule.

[0088] Clause 69: The computer program product of any of clauses 53-68, wherein the one or more instructions cause the at least one processor to: generate reaction instructions for forming a first oligomer or polymer.

[0089] Clause 70: The computer program product of clause 69, wherein the one or more instructions cause the at least one processor to: communicate the reaction instructions to a reactor to cause the reactor to begin preparation of the first oligomer or polymer.

[0090] Clause 71: The computer program product of any of clauses 53-70, wherein determining the at least one oligomer or polymer structure associated with the first oligomer or polymer comprises determining a simulated pendant, sol, and elastomeric connection.

[0091] Clause 72: The computer program product of any of clauses 63-71, wherein determining the at least one expected property comprises analyzing the at least one feature based on historical data associated with oligomers or polymers.

[0092] Clause 73: The computer program product of clause 72, wherein analyzing the at least one feature based on historical data comprises generating the at least one expected property using a machine learning algorithm.

[0093] Clause 74: The computer program product of any of clauses 53-73, wherein the one or more instructions cause the at least one processor to: store historical simulation data related to the plurality of simulated oligomers or polymers; receive a suggestion request, wherein the suggestion request includes at least one target physical property related to an oligomer or polymer to be produced; query the stored historical simulation data; and generate a suggestion response including reaction instructions for forming an oligomer or polymer having the at least one target physical property based on the historical simulation data.

[0094] Clause 75: The computer program product of any of clauses 53-74, wherein determining the at least one oligomer or polymer structure related to the first oligomer or polymer includes identifying the at least one oligomer or polymer structure related to the first oligomer or polymer based on a component search algorithm.

[0095] Clause 76: The computer program product of any of clauses 53-75, wherein the first oligomer or polymer includes a cured thermoset oligomer or polymer.

[0096] Clause 77: The computer program product of any of clauses 53-76, wherein determining the at least one oligomer or polymer structure related to the first oligomer or polymer includes the one or more instructions causing the at least one processor to: identify soft segments of the first oligomer or polymer and / or hard segments of the first oligomer or polymer; and analyze the soft segments of the first oligomer or polymer and / or the hard segments of the first oligomer or polymer.

[0097] Clause 78: The computer program product of any of clauses 53-77, wherein the one or more instructions cause the at least one processor to: store historical simulation data related to the plurality of simulated oligomers or polymers; receive a message from a reactor, the message including at least one property related to a material being produced in the reactor; determine at least one reactor adjustment based on the message and the historical simulation data; and communicate a reply message to the reactor to cause the reactor to begin making the reactor adjustment.

[0098] These and other elements and features of the application will become more fully apparent and the operational nature of the same will be understood later upon consideration of the following description and appended claims with reference to the accompanying drawings, in which like reference numerals designate corresponding parts throughout the several views, and wherein: BRIEF DESCRIPTION OF DRAWINGS

[0100] FIG. 1 Display of reaction recipes according to some non-limiting embodiments or aspects;

[0101] FIG. 2 Display of list of molecules and functional group identifiers according to some non-limiting embodiments or aspects;

[0102] FIG. 3 Display of list of randomization and associated functional group identifiers according to some non-limiting embodiments or aspects;

[0103] FIG. 4 Display of list of bond identifiers associated with simulated bonds formed by FIG. 3 functional group identifiers according to some non-limiting embodiments or aspects;

[0104] FIG. 5 Display of simulated reaction mixture with unreacted monomers according to some non-limiting embodiments or aspects;

[0105] FIG. 6 Display of simulated reaction mixture with simulated bonds between certain functional groups according to some non-limiting embodiments or aspects; FIG. 5

[0106] FIG. 7 Display of simulated reaction mixture of FIG. 6 according to some non-limiting embodiments or aspects showing resulting oligomer / polymer structure formed from simulation;

[0107] FIG. 8 Display of simulated oligomer or polymer structure according to some non-limiting embodiments or aspects;

[0108] FIG. 9 Display of predictive property model generated according to some non-limiting embodiments or aspects; and

[0109] FIG. 10 Display of system for simulating oligomer or polymer growth according to some non-limiting embodiments or aspects.

[0110] DETAILED DESCRIPTION

[0111] ​For the following description, the terms "end," "upper," "lower," "right," "left," "vertical," "horizontal," "top," "bottom," "lateral," "longitudinal," and derivatives thereof shall relate to the application as oriented in the drawing figures. However, it is to be understood that the application can assume various alternative orientations and step sequences, except where expressly specified to the contrary. It is also to be understood that the specific devices and processes illustrated in the attached drawings, and described in the following specification are simply exemplary embodiments or aspects. Hence, specific dimensions and other physical characteristics relating to the embodiments or aspects disclosed herein are not to be considered as limiting, unless the contrary is expressly stated.

[0112] As used herein, the term "application programming interface" (API) can refer to computer code that allows communication between different systems or components of systems (hardware and / or software). For example, an API can include function calls, functions, subroutines, communication protocols, domains, and / or the like that can be used and / or accessed by other systems or components of systems (hardware and / or software).

[0113] As used herein, the terms "communicate" and "communicating" can refer to the reception, ingress, transmission, transfer, provision, and / or the like of information (e.g., data, signals, messages, indications, commands, and / or the like). For one unit (e.g., a device, a system, a component of a device or system, combinations thereof, and / or the like) to be in communication with another unit means that the one unit is capable of either directly or indirectly receiving information from and / or transmitting information to the other unit. This can refer to a direct or indirect connection (e.g., direct communication connection, indirect communication connection, and / or the like) that can be wired and / or wireless in nature. Additionally, two units can be in communication with each other even though the information transmitted can be modified, processed, relayed, and / or routed between the first and second unit. For example, a first unit can be in communication with a second unit even though the first unit passively receives information and does not actively transmit information to the second unit. As another example, a first unit can be in communication with a second unit if at least one intermediary unit (e.g., a third unit positioned between the first and second units) processes information received from the first unit and communicates the processed information to the second unit. In some non-limiting embodiments, a message can refer to a network packet (e.g., data packet and / or the like) that includes data. It is recognized that many other arrangements are possible.

[0114] The term "computing device" as used herein can refer to one or more electronic devices configured to process data. A computing device can include, in some instances, the necessary components to receive, process, and output data, such as a processor, a display, a memory, an input device, a network interface, and / or the like. A computing device can be a mobile device. As one example, a mobile device can include a cellular phone (e.g., a smartphone or a standard cellular phone), a portable computer, a wearable device (e.g., a watch, glasses, lenses, clothing, and / or the like), a personal digital assistant (PDA), and / or other similar devices. A computing device can also be a desktop computer, a server, or other form of non-mobile computer.

[0115] The term "machine learning algorithm" as used herein can refer to an algorithm for applying at least one predictive model to a data set. A machine learning algorithm can extend the data set to train the at least one predictive model by continually or intermittently updating the data set with results of instances of an industrial process. Examples of machine learning algorithms can include supervised and / or unsupervised techniques such as decision trees, gradient boosting, logistic regression, artificial neural networks, Bayesian statistics, learning automata, hidden Markov modeling, linear classifiers, quadratic classifiers, association rule learning, and the like. The term "machine learning model" as used herein can refer to a predictive model generated at least in part by a machine learning algorithm.

[0116] The term "polymer" as used herein refers to a molecule comprising multiple repeating units derived from smaller molecules called monomers. The term "oligomer" refers to a low molecular weight polymer.

[0117] The term "user interface" or "graphical user interface" as used herein refers to a generated display such as one or more graphical user interfaces (GUIs) with which a user can interact directly or indirectly (e.g., through a keyboard, mouse, touch screen, etc.).

[0118] Non-limiting embodiments or aspects of the present disclosure relate to methods, systems, and computer program products for simulating oligomer or polymer growth. Non-limiting embodiments or aspects enable a user to simulate oligomer or polymer growth and determine the resulting simulated oligomer or polymer structure and / or characteristics associated with the oligomer or polymer and / or expected properties associated with the oligomer or polymer using a computing device. Simulating oligomer or polymer growth enables a user to determine the expected product (resulting oligomer or polymer) associated with a proposed reaction formulation without actually performing the reaction, thereby saving both time and materials. Non-limiting embodiments or aspects can utilize graph theory analysis to determine the structure and / or characteristics associated with the oligomer or polymer. Non-limiting embodiments or aspects can utilize historical data and / or machine learning algorithms to determine the expected properties associated with the oligomer or polymer. Non-limiting embodiments or aspects can simulate oligomer or polymer growth by simultaneously forming all simulated bonds, thereby improving the speed and efficiency with which a user can simulate large oligomer or polymer growth.

[0119] A method of simulating oligomer or polymer growth can include receiving, with at least one processor, a reaction formulation including a plurality of reactive molecules; determining, with at least one processor, for each reactive molecule of the plurality of reactive molecules, at least one functional group associated with the reactive molecule; assigning, with at least one processor, a functional group type to each functional group associated with the plurality of reactive molecules; determining, with at least one processor, at least one reaction rule associated with each functional group type; simulating, with at least one processor, a plurality of oligomer or polymer-forming reactions from the plurality of reactive molecules based on the at least one reaction rule to form a plurality of simulated oligomer or polymers; and determining, with at least one processor, at least one oligomer or polymer structure associated with a first oligomer or polymer of the plurality of simulated oligomer or polymers.

[0120] Reference is made to FIG. 1 A reaction formulation 10 for simulating oligomer or polymer growth is shown in FIG. 1. The oligomer or polymer to be simulated can include a thermoplastic polymer, a thermoset polymer, or some combination thereof. The reaction formulation 10 can specify a plurality of reactive molecules 12 included in the simulated reaction. FIG. 1 The example reaction formulation 10 shown in FIG. 1 includes two reactive molecules 12 (isocyanate and polyol); however, the reaction formulation 10 can include more than two reactive molecules 12. The reaction formulation 10 can further include non-reactive components, such as additives, catalysts, etc., that do not necessarily react to form an oligomer or polymer. The reaction formulation 10 can further include an amount 14 associated with each component (e.g., reactive molecule 12) in the reaction formulation 10. The amount can include a weight percent, a mole percent, a weight fraction, a mole fraction (e.g., FIG. 1Xm 16) shown in FIG. 1, weight, number of moles, and / or the like.

[0121] Reaction recipe 10 can further include process instructions related to simulating oligomer or polymer growth. For example, process instructions can include an order of execution of steps, a temperature for simulating a reaction, a time for simulating agitation of a reaction mixture, settings related to agitation, and the like.

[0122] Reaction recipe 10 can further include characteristics related to each component. Characteristics related to a component can include, but are not limited to, a molecular weight related to the component, a functionality related to each component (e.g., a number of free hydroxyl groups, a number of free acid groups, a number of free isocyanate groups, and the like), a relative reactivity of each component, characteristics from which a molecular weight and functionality can be derived, and the like.

[0123] In some non-limiting embodiments or aspects, simulating oligomer or polymer growth can include including all components in reaction recipe 10 in a simulated reaction mixture at the same time to effect a simulated reaction. In other non-limiting embodiments or aspects, simulating oligomer or polymer growth can include initially including certain components in reaction recipe in a simulated reaction mixture and reacting together, followed by the addition of additional reactive molecules 12 to continue the simulated reaction (e.g., a multi-step reaction). Reaction recipe 10 can indicate such a scenario by including an order of addition related to each component in reaction recipe 10.

[0124] Referring to FIG. 10 , a system 50 for simulating oligomer or polymer growth is shown. System 50 can include a computing device 52 associated with a user. Computing device 52 can be in communication with a simulation processor 54 configured to simulate oligomer or polymer growth. Simulation processor 54 can be in communication with a database 56 of historical data for storing historical data related to previous simulations and for storing data related to known products (e.g., oligomers or polymers), such as characteristics and properties related to known products. Simulation processor 54 can be in communication with a controller 60 configured to control a reactor 58 and a supply of monomers, which can be in communication with reactor 58 to add monomers and other components to reactor 58.

[0125] Computing device 52 can communicate reaction recipe 10 to simulation processor 54 to initiate a simulation of oligomer or polymer growth. A user can specify reaction recipe 10 by inputting or specifying data on a user interface displayed on computing device 52.

[0126] Referring to FIG. 2 and 10 , simulation processor 54 can determine, in response to received reaction recipe 10, a number and / or types of molecules related to a simulation of reaction recipe 10 (e.g., a number of monomers, a number of dimers, a number of trimers, and the like). Simulation processor 54 can determine, in response to received reaction recipe 10, a number and / or types of molecules related to a simulation of reaction recipe 10 (e.g., a number of monomers, a number of dimers, a number of trimers, and the like). FIG. 2the number of molecules of isocyanate and polyol in the reaction formulation. The number of molecules can be determined from the amounts 14 of the components specified in the reaction formulation 10. Each molecule can be assigned a unique molecule identifier 18 by the simulation processor 54.

[0127] With continuing reference to FIG. 2 and 10 The simulation processor 54 can determine at least one functional group associated with each reactive molecule 12 in response to the received reaction formulation 10. For example, the simulation processor 54 can analyze the reactive molecules 12 of the reaction formulation 10 to determine the functional groups associated with each reactive molecule 12. For example, the simulation processor 54 can determine the functional groups associated with each reactive molecule 12 based on data included in the reaction formulation 10 specifying the functional groups associated with the reactive molecules 12. The simulation processor 54 can assign each functional group on each reactive molecule 12 a functional group type (e.g., the functional group types include hydroxyl, acid, isocyanate group, etc.). The simulation processor 54 can assign each functional group of the reactive molecules 12 a unique functional group identifier 20.

[0128] Referring to FIG. 2 a list is displayed based on the reaction formulation from FIG. 1 The list includes a list of each functional group included in the reaction formulation, categorized based on the reactive molecules 12. At the top of the list, the isocyanate reactive molecules 12 are listed. Since the particular isocyanate used in this non-limiting example has two isocyanate functional groups per molecule, the same isocyanate molecule is listed in two separate rows (mi in the 1st and 2nd rows of the list are associated with the same isocyanate molecule because they have the same molecule identifier 18). However, these two rows for the isocyanate each have a different functional group identifier 20 because the two isocyanate functional groups of the isocyanate reactive molecule 12 each get a different functional group identifier 20. At the bottom of the list, the polyol reactive molecules 12 are listed. Since the particular polyol used in this non-limiting example has three functional groups per molecule, the same polyol molecule is listed in three separate rows (mi 1000 in the 2398-2400 rows of the list are associated with the same polyol molecule because they have the same molecule identifier 18). However, these three rows for the polyol each have a different functional group identifier 20 because the three hydroxyl functional groups of the polyol reactive molecule 12 each get a different functional group identifier 20.

[0129] In this way, for any reaction formulation 10 received, the simulation processor 54 can identify each molecule and its functional groups in the simulated reaction so that the structure of the simulated oligomer or polymer can be determined after the simulated reaction.

[0130] The simulation processor 54 can determine at least one reaction rule associated with each reactive molecule and / or functional group type. The at least one reaction rule can specify which functional group types can react with other functional groups, as in the example shown in FIG. 2 that isocyanate groups can react with hydroxyl groups. The at least one reaction rule can specify which functional group types cannot react, as in the example shown in FIG. 2 that isocyanate groups cannot react with other isocyanate groups and that hydroxyl groups cannot react with other hydroxyl groups. Reaction rules can specify the relative reactivity of at least one functional group type compared to another functional group type, one reactive molecule 12 compared to another reactive molecule 12, one functional group within a reactive molecule 12 compared to another functional group within the same reactive molecule 12, and the like. The simulation processor 54 can utilize these reaction rules in the simulation process to determine which bonds are more likely to form in the simulated reaction.

[0131] The simulation processor 54 can determine reaction rules based on data contained in the reaction recipe associated with the reactivity of the reactive molecules 12 and / or functional groups, data from the database 56 of historical data, or other data received by or programmed in the simulation processor 54.

[0132] Referring to FIGS. 3-4 , the simulation processor 54 can simulate a plurality of reactions of the reactive molecules 12 to form oligomers or polymers based on the reaction rules to form a plurality of simulated oligomers or polymers. The simulation processor 54 can perform at least one Monte Carlo type simulation to determine the reactions that occur between the functional groups to form at least one oligomer or polymer. Multiple simulations can be run to determine different potential oligomers or polymers that can be formed by the reaction recipe 10 and the likelihood that an oligomer or polymer having a particular structure or characteristic can be formed.

[0133] A simulated bond can be formed by associating at least one functional group of a reactive molecule 12 with at least one functional group of another reactive molecule 12 to form a bond pair during the simulation of the reaction. This association can occur in one or more data structures. The simulated bond can be formed based on the reaction rules. As shown in FIG. 4 , a unique bond identifier 22 can be assigned to the bond pair to identify the bond pair. For example, as shown in FIG. 4 , line 1, monomer m211 and monomer m713 (their functional groups) are simulated to form a bond pair with bond identifier 22 of bl.0001. The particular functional group having the functional group identifier 20 can also be identified as the functional group of the monomer that forms the simulated bond (see FIG. 3 ).

[0134] Referring again to FIG. 3simulating the formation of the oligomer or polymer can include generating a first list of a plurality of first type reactive functional groups associated with the reactive molecules 12 (see the list of isocyanate functional groups on the left side of the list) and a second list of a plurality of second type reactive functional groups associated with the reactive molecules 12 (see the list of hydroxyl functional groups on the right side of the list). The order of the first list can be randomized such that the molecule identifiers 18 and the functional group identifiers 20 are not necessarily in numerical order. The order of the second list can be randomized such that the molecule identifiers 18 and the functional group identifiers 20 are not necessarily in numerical order. Based on the randomized order, at least one first type reactive functional group from the first list and at least one corresponding second reactive functional group from the second list can be associated to form at least one simulated bond of a first oligomer or polymer. This association is shown in FIG. 3 by arrows pairing the isocyanate monomers in a row of the table with the polyol monomers in the same row. The simulation processor 54 can associate the corresponding functional groups from the first and second lists simultaneously (e.g., in parallel or substantially in parallel) such that all of the simulated bonds are formed substantially simultaneously and / or in the same step of the simulated reaction.

[0135] In some non-limiting embodiments or aspects, the simulation processor 54 can not be able to form all of the simulated bonds simultaneously. The simulation processor 54 can associate a first pair of functional groups associated with the plurality of reactive molecules 12 to form a first bonded pair based on the at least one reaction rule. Subsequently, the simulation processor can associate a second pair of functional groups associated with the plurality of reactive molecules 12 to form a second bonded pair based on the at least one reaction rule. At least one of the reaction rules can be adjusted between the formation of the first bonded pair and the second bonded pair. For example, the reaction rules can be adjusted based on previously formed simulated bonds to reflect changes in the relative reactivity of monomers and / or functional groups (e.g., a functional group on a monomer has lower reactivity due to another functional group on the same monomer having already formed a simulated bond).

[0136] In some non-limiting embodiments or aspects, the reaction to be simulated can include a plurality of reaction steps (e.g., a multi-step reaction). The reaction recipe 10 can include an initial plurality of reactive molecules and a subsequent plurality of reactive molecules. Simulating the plurality of reactions that form the oligomer or polymer can include simulating the formation of the oligomer or polymer from the initial plurality of reactive molecules based on the at least one reaction rule. Subsequently, the simulation processor 54 can simulate a plurality of reactions that form a subsequent oligomer or polymer from the plurality of subsequent reactive molecules and the molecules and / or oligomers and / or polymers formed by the plurality of reactions that form the oligomer or polymer (the initial reactions) based on the at least one reaction rule.

[0137] In some non-limiting embodiments or aspects, the simulation can run until all functional groups have reacted and / or the reaction rules dictate that no additional functional groups can react (e.g., include an excess of a reactive component such that there are no functional groups to react with). In this manner, the simulation can run until the reaction degree of the simulated reaction is 100%. In some non-limiting embodiments or aspects, the simulation can run to a reaction degree of less than 100%. The reaction degree to which the simulation runs can be specified in the reaction recipe 10. The simulation processor 54 can determine the reaction degree to which the reaction is to run.

[0138] Based on the simulated reactions performed by the simulation processor 54, the simulation processor 54 can determine at least one oligomer or polymer structure associated with the oligomer or polymer formed from the plurality of simulated oligomers or polymers. As mentioned above, multiple simulations can be run to determine different oligomer or polymer structures that can be formed and the likelihood of forming a particular structure. Statistical reaction data can be generated based on the plurality of simulations. The statistical reaction data can be analyzed to determine the likelihood of a particular oligomer or polymer structure occurring.

[0139] Determining the oligomer or polymer structure can include determining dangling, sol, and elastic connections in the simulated oligomer or polymer. FIG. 8 A non-limiting example of a simulated structure 32 of a simulated oligomer or polymer is shown. The simulated structure 32 can include a gel region 34 that includes elastic connections to make up the gel region. The simulated structure 32 can include a dangling 36 that is a pendant group connected to the gel region 34. The simulated structure 32 can include a sol 38 that is an oligomer that is not connected to the gel region 34. Each of these regions can be identified based on the structure formed by the simulation.

[0140] The simulated structure 32 of the oligomer or polymer formed during the simulation can be generated by using a program that uses graph theory analysis, such as igraph or NetworkX. The graph theory analysis can cause the simulated structure 32 to be displayed on the computing device 52 so that a user can view the simulated structure 32. The graph theory analysis can include a connected component search algorithm.

[0141] For a simulated oligomer or polymer, at least one characteristic associated with the oligomer or polymer can be determined based on the determined structure thereof. As used herein, the term "characteristic" refers to a feature of the oligomer or polymer that can be directly determined from the simulated structure of the oligomer or polymer itself. Non-limiting examples of characteristics include, but are not limited to: moles of effective connections per kilogram of oligomer or polymer, moles of effective connections per kilogram of gel component, moles of effective connections per kilogram of core in the gel component, moles of intramolecular loops formed per kilogram of oligomer or polymer, moles of intermolecular loops formed per kilogram of gel component, moles of intermolecular loops formed per kilogram of core of the gel component, crosslinking density, moles of crosslink junctions per kilogram of oligomer or polymer, moles of dangling connections per kilogram of oligomer or polymer, moles of dangling moieties per kilogram of gel component, weight percent of sol in the gelled oligomer or polymer, weight percent of gel in the gelled oligomer or polymer, weight percent of dangling moieties, weight percent of core gel, number average molecular weight of the elastic connections, weight average molecular weight of the elastic connections, number average molecular weight of the dangling moieties, weight average molecular weight of the dangling moieties, molecular weight of the dangling moieties weighted by its percentage in the total oligomer or polymer, molecular weight of the elastic connections weighted by its weight percentage in the oligomer or polymer, number average molecular weight, weight average molecular weight, z average molecular weight, degree of polymerization, dispersity of the reaction product, number of ingredient molecules used in the simulation, number of monomers used in the simulation, number of ring closures formed, number of oligomer molecules formed, equivalent ratio of raw materials (CO / OH), number average OH functionality, number average CO functionality, average functionality of CO, weight average functionality of OH, weight average OH functionality, weight average CO functionality, average new bonds formed per oligomer, moles of bonds formed per kilogram of oligomer or polymer, moles of remaining OH groups per kilogram of oligomer or polymer, moles of remaining CO groups per kilogram of oligomer or polymer, number of OH groups, acid value in the case where CO is a carboxylic acid, weight percent of isocyanate groups in the product, percent of isocyanate in the product with any isocyanate monomers removed, extent of reaction, weight percent of unreacted monomers, number average molecular weight of hard segments, average number of monomers per hard segment, molecular weight of dangling moieties attached to hard segments, and average number of monomers per soft segment.

[0142] In some non-limiting embodiments or aspects, determining the oligomer or polymer structure can include identifying soft segments of the oligomer or polymer and / or hard segments of the oligomer or polymer. The hard segments or soft segments of the oligomer or polymer can be determined by the composition of the oligomer or polymer in a particular region of the oligomer or polymer. For example, in a simulated polyurethane, soft segments can be identified based on the presence of a polyether or polyester polyol in a region of the oligomer or polymer, while the presence of a diisocyanate or chain extender in a region of the oligomer or polymer can be identified as a hard segment. In this manner, the identification of the bonds formed in various regions of the simulated structure can be used to determine whether a region of the oligomer or polymer is a hard segment and / or a soft segment. The simulation processor 54 can analyze the soft segments and / or hard segments of the oligomer or polymer. Analyzing the hard segments and / or soft segments can include determining the number average molecular weight of the hard segments and / or soft segments, the average number of monomers per hard segment and / or soft segment, the molecular weight of the pendant attached to the hard segment and / or soft segment, and the like.

[0143] For a simulated oligomer or polymer, at least one expected property associated with the oligomer or polymer can be determined based on at least one determined characteristic of the oligomer or polymer. As used herein, the term "property" refers to a characteristic of the oligomer or polymer that cannot be directly determined from the simulated structure of the oligomer or polymer itself, but is exhibited by that oligomer or polymer and can be measured using at least one test method. Non-limiting examples of properties include, but are not limited to, mechanical test properties (e.g., tensile strength, compressive strength, flexural strength, torsional strength, impact strength, elongation, modulus, Shore hardness (Shore A, Shore D), and the like), physical test properties (density, crystallinity, and the like), thermal test properties (melting point, glass transition temperature (Tg), thermal conductivity, and the like), rheological test properties (viscosity, and the like), barrier test properties (permeability, and the like), weatherability and / or chemical resistance test properties (ultraviolet degradation, and the like), adhesion test properties (adhesion work, and the like), flammability test properties (limiting oxygen index, Underwriters Laboratory (UL 94) testing (e.g., flammability rating), and the like), optical test properties (gloss, clarity, haze, color, surface aspect, refractive index, and the like), and electrical test properties (electrical conductivity, and the like).

[0144] The simulation processor 54 can determine an expected property of the simulated oligomer or polymer based at least in part on at least one characteristic determined for the oligomer or polymer. The expected property can be determined based on an analysis of at least one characteristic of the oligomer or polymer based on historical data associated with known oligomers or polymers stored in the database of historical data 56. The properties of the known oligomers or polymers stored in the database of historical data 56 can have been determined by measuring their properties.

[0145] As FIG. 9As shown, a property prediction model 40 can be generated based on data from a database 56 of historical data. The property prediction model 40 can include the relationship between known characteristics of oligomers or polymers and known properties of oligomers or polymers. For example, as... FIG. 9 As shown, property prediction model 40 displays the relationship between known oligomer or polymer properties (Tg) and characteristics associated with that oligomer or polymer (weight of elastic linkages, number of crosslinks per kilogram, number of urethane bonds per kilogram). A fitting equation can be determined by property prediction model 40, which allows the determination of expected properties based on characteristics of any oligomer or polymer (including simulated oligomers or polymers). Regression analysis can be performed to determine the extent to which the fitting equation models the properties based on the determined characteristics. The expected properties of simulated oligomers or polymers can be determined based on at least one characteristic of that oligomer or polymer and how property prediction model 40 correlates that characteristic with relevant properties. Machine learning techniques can also be used to determine the expected properties of oligomers or polymers—by applying a suitable machine learning algorithm to historical data in a database 56 of historical data based on at least one characteristic of the oligomer or polymer—and can be used to generate property prediction model 40. In addition to historical data, machine learning algorithms can use one or more features as input to output expected properties. Examples of machine learning algorithms include, but are not limited to, Random Forest, SVM, xgBoost, elasticNet, neural networks, Gaussian processes, and multiple linear regression.

[0146] refer to FIG. 10 The simulation processor 54 can store historical simulation data related to the simulated oligomers or polymers in a historical data database 56. The historical simulation data may include data related to the reaction formulation 10, statistical reaction data generated, the determined structure of the simulated oligomers or polymers, characteristics related to the simulated oligomers or polymers, and expected properties related to the oligomers or polymers.

[0147] Continue to refer to FIG. 10 The simulation processor 54 can generate reaction instructions for forming simulated oligomers or polymers. The reaction instructions contain at least a portion of the reaction formulation 10. The reaction instructions can be transmitted to a controller 60 configured to control monomer supply 62 and / or reactor 58. The controller 60 can determine the monomer to be added to reactor 58 from monomer supply 62, the time at which the monomer is added to reactor 58, the rate at which the monomer is added to reactor 58, etc. The controller 60 can control the rate of stirring in reactor 58, the temperature of reactor 58, the flow rate at the outlet of reactor 58, etc. The reaction instructions enable reactor 58 to prepare oligomers or polymers.

[0148] Continue to refer to FIG. 10In some non-limiting embodiments or aspects, the computing device 52 can communicate a suggestion request to the simulation processor 54. The suggestion request can include at least one target physical property related to an oligomer or polymer to be produced. The simulation processor 54 can communicate with the database of historical data 56 to query the stored historical simulation data. Based on the query, the simulation processor 54 can generate a suggestion response and communicate the suggestion response to the computing device 52. Based on the historical simulation data, the suggestion response can include a proposed reaction recipe, a recommended oligomer or polymer structure, and / or reaction instructions for forming an oligomer or polymer having the at least one target physical property. Upon a user selecting one of the recommended oligomers or polymers, the simulation processor 54 can communicate with the controller 60 to cause the reactor 58 to produce the selected oligomer or polymer.

[0149] In some non-limiting embodiments or aspects, during production of an oligomer or polymer by the reactor 58, the reactor 58 can communicate a message to the simulation processor 54, which can include at least one property related to the material being produced in the reactor 58. Based on the property of the material included in the message, the simulation processor 54 can determine at least one reactor adjustment based on historical simulation data included in the database of historical data 56. The simulation processor 54 can utilize a machine learning algorithm to determine the reactor adjustment, such as based on effective adjustments made to historically produced oligomers or polymers. The simulation processor 54 can communicate a reply message to the reactor 58 to cause the reactor to begin making the reactor adjustment.

[0150] Reference is made to FIGS. 5-7 representatives of oligomer or polymer growth simulations are shown in accordance with some non-limiting embodiments or aspects. A non-limiting example shows polymer growth related to a reaction between a polyacid having multiple acid functional groups and a polyol having hydroxyl functional groups. The polyacid in this non-limiting example includes a diacid (e.g., adipic acid), but it is to be appreciated that other acids are possible, and other monomers containing different functional groups (non-acid functional groups) are possible. The polyol in this non-limiting example includes a triol (e.g., trimethylolpropane), but it is to be appreciated that other polyols are possible, and other monomers containing different functional groups (non-hydroxyl functional groups) are possible.

[0151] With continued reference to FIGS. 5-7 monomers 24a, 24b are shown. Monomer 24a is a polyacid having two acid functional groups 26a, 26b. Monomer 24b is a polyol having three hydroxyl functional groups 26c, 26d, 26e.

[0152] Reference is made to FIG. 5 A reaction mixture 27 including the monomers 24a, 24b is shown, and the monomers 24a, 24b are not bonded to one another, representing the reaction mixture 27 prior to simulated bonding occurring.

[0153] Reference FIG. 6 , showing only the functional groups 26a-26e of the monomers 24a, 24b of the reaction mixture 27. The simulated bonding has occurred at least in part, because certain functional groups are connected to each other via bonds 30. According to the rules of the reaction in this example, acid functional groups can only form bonds with hydroxyl functional groups, and hydroxyl functional groups can only form bonds with acid functional groups. Based on this simulated bonding, the monomers 24 can be identified, and the formed oligomers or polymers 28 can be identified.

[0154] Reference FIG. 7 , the reaction mixture 27 is the same as the reaction mixture 27 from FIG. 6 , only showing the entirety of the molecules (not just the functional groups) contained in the reaction mixture 27. The simulated structure of the monomers 24 and the oligomers or polymers 28 can be determined based on this illustration.

[0155] In a further non-limiting embodiment or aspect, a computer program product for simulating oligomer or polymer growth comprises at least one non-transitory computer readable medium comprising program instructions, which, when executed by at least one processor, cause the at least one processor to perform one of the above-described methods. The at least one processor can comprise a simulation processor.

[0156] Simulation Example

[0157] The following examples are provided to illustrate embodiments of the systems, methods, and computer program products for simulating oligomer or polymer growth and are not intended to be limiting.

[0158] Example 1

[0159] One-step reaction

[0160] Receive reaction recipe

[0161] A reaction recipe as shown in Table 1 was received by a simulation processor to simulate the growth of an oligomer or polymer.

[0162] Table 1

[0163] Ingredient Mw mol f OH f NCO Relative reactivity Addition order Polyethylene glycol (PEG 1000) 1000 1 2 0 1:1 1 1,6-hexanediol 118 1 2 0 1:1 1 Toluene diisocyanate (TDI) 172 4 0 2 18:1 1

[0164] According to the reaction recipe, all ingredients were added at the same time, based on the order of addition of the components. The relative reactivity of the two isocyanate groups in TDI is different, with one isocyanate group of TDI being 18 times more reactive than the other isocyanate group of TDI. All hydroxyl groups of the polyol have the same relative reactivity. In this example, 12 monomers were simulated, but more than 100,000 monomers can be simulated in other simulations.

[0165] List of generated functional groups

[0166] The reaction handler generates a list of all functional groups in the simulation from the reaction recipe and the number of monomers. The eqld column in Table 2 associates a functional group identifier with each functional group (isocyanate group or hydroxyl group). The generated list of functional groups is shown in Table 2 below.

[0167] Table 2

[0168] eq Id Monomer Id Ingredient n OH n NCO Relative reactivity e01 m01 1,6-hexanediol 1 0 1 e02 m01 1,6-hexanediol 1 0 1 e03 m02 1,6-hexanediol 1 0 1 e04 m02 1,6-hexanediol 1 0 1 e05 m03 PEG 1000 1 0 1 e06 m03 PEG 1000 1 0 1 e07 m04 PEG 1000 1 0 1 e08 m04 PEG 1000 1 0 1 e09 m05 TDI 0 1 18 e10 m05 TDI 0 1 1 e11 m06 TDI 0 1 18 e12 m06 TDI 0 1 1 e13 m07 TDI 0 1 18 e14 m07 TDI 0 1 1 e15 m08 TDI 0 1 18 e16 m08 TDI 0 1 1 e17 m09 TDI 0 1 18 e18 m09 TDI 0 1 1 e19 m10 TDI 0 1 18 e20 m10 TDI 0 1 1 e21 m11 TDI 0 1 18 e22 m11 TDI 0 1 1 e23 m12 TDI 0 1 18 e24 m12 TDI 0 1 1

[0169] Split list into functional group types

[0170] To link the hydroxyl functional groups to the isocyanate functional groups (simulate bonding), the simulation handler splits the list of functional groups, the eqld column from Table 2, into two categories: (1) -OH functional groups: [e01, e02, e03, e04, e05, e06, e07, e08]; (2) -NCO functional groups [e09, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24]. In this example, the length of the list of hydroxyl groups is 8 and the length of the list of isocyanate functional groups is 16.

[0171] Randomize functional group list

[0172] The two lists are randomized, where the randomization has a certain probability that depends on the weights specified in the "relative reactivity" column. After randomizing the two lists, the resulting order is: (1) -OH functional groups: [e06, e01, e04, e07, e03, e05, e02, e08]; (2) -NCO functional groups: [e13, e09, e21, e11, e19, e17, e23, e15, e12, e18, e20, e14, e22, e10, e24, e16].

[0173] Form all simulated bonds

[0174] In this example, the bonds are formed simultaneously in one step by linking the two lists to bond the first hydroxyl functional group to the first isocyanate group, and so on. Each bond that is formed is assigned a unique identifier, shown as chemical bond Id in Tables 3 and 4 below. Two examples of the simulated bonds are shown, where example 1 has a 100% degree of reaction and example 2 has a 87.5% degree of reaction.

[0175] Example 1

[0176] Table 3 shows the reaction proceeding to 100% completion. The unmatched NCO functional groups are those that remain unreacted due to stoichiometric ratios.

[0177] Table 3

[0178] OH groups NCO groups Chemical bond Id Reaction step e06 e13 b1 1 e01 e09 b2 1 e04 e21 b3 1 e07 e11 b4 1 e03 e19 b5 1 e05 e17 b6 1 e02 e23 b7 1 e08 e15 b8 1 - e12 - - - e18 - - - e20 - - - e14 - - - e22 - - - e10 - - - e24 - - - e16 - -

[0179] Example 2

[0180] Table 4 shows the reaction proceeding to 87.5% completion. In this example, due to the lower degree of reaction, one of the seven OH functional groups did not form a bond.

[0181] Table 4

[0182] OH groups NCO groups Chemical bond Id Reaction step e06 e13 b1 1 e01 e09 b2 1 e04 e21 b3 1 e07 e11 b4 1 e03 e19 b5 1 e05 e17 b6 1 e02 e23 b7 1 e08 e15 - - - e12 - - - e18 - - - e20 - - - e14 - - - e22 - - - e10 - - - e24 - - - e16 - -

[0183] Determine simulated structure

[0184] To determine the simulated structure of the resulting prepolymer, the simulation processor used graph theory to reconstruct the lists from Tables 2 and 3 into a graph object. Graph theory is a branch of mathematics that studies nodes (vertices) and connecting lines (edges) that join them. Using this technique, an adjacency list was generated as shown in Table 5. In this example, the nodes and edges were defined in the following ways: (1) chemically bonded functional groups were nodes, and chemical bonds were edges; and (2) the functional group as identified by eqld in Table 2 and the monomer to which it belonged (monomerld in Table 2) were nodes. The functional group belonged to the monomer was an edge.

[0185] Table 5

[0186] Node_a Node_b e06 e13 e01 e09 e04 e21 e07 e11 e03 e19 e05 e17 e02 e23 e08 e15 m01 e01 m01 e02 m02 e03 m02 e04 m03 e05 m03 e06 m04 e07 m04 e08 m05 e09 m05 e10 m06 e11 m06 e12 m07 e13 m07 e14 m08 e15 m08 e16 m09 e17 m09 e18 m10 e19 m10 e20 m11 e21 m11 e22 m12 e23 m12 e24

[0187] A graph theory analysis package, such as igraph, can be used to convert the adjacency list from Table 5 into a graph object that specifies the complete simulated structure.

[0188] Example 2

[0189] Multi-step reaction

[0190] Receive reaction recipe

[0191] A reaction recipe as shown in Table 6 was received by the simulation processor to simulate the growth of an oligomer or polymer. In this example, the simulated reaction was carried out in two steps, which is indicated by the "addition order" column. In this example, 14 monomers were simulated:

[0192] Table 6

[0193] Ingredient Mw mol f OH f NCO Relative reactivity Addition step Addition order PEG 1000 1000 1 2 0 1:1 1 1 1,6-hexanediol 118 1 2 0 1:1 1 1 TDI 172 4 0 2 18:1 1 1 PEG 1000 1000 1 2 0 1:1 2 2

[0194] List of generated functional groups

[0195] The reaction processor generates a list of all functional groups in the simulation from the reaction recipe and the number of monomers. The generated list of functional groups is shown in Table 7 below.

[0196] Table 7

[0197] eq Id Monomer Id Ingredient n OH n NCO Addition order Relative reactivity e01 m01 1,6-hexanediol 1 0 1 1 e02 m01 1,6-hexanediol 1 0 1 1 e03 m02 1,6-hexanediol 1 0 1 1 e04 m02 1,6-hexanediol 1 0 1 1 e05 m03 PEG 1000 1 0 1 1 e06 m03 PEG 1000 1 0 1 1 e07 m04 PEG 1000 1 0 1 1 e08 m04 PEG 1000 1 0 1 1 e09 m05 TDI 0 1 1 18 e10 m05 TDI 0 1 1 1 e11 m06 TDI 0 1 1 18 e12 m06 TDI 0 1 1 1

[0198]

[0199] Split list into functional group types

[0200] For the first reaction step, the simulation processor only considers those functional groups that are added in the first step ("Add Order" column = 1). The simulation processor filters out these rows and splits the eqld column into two lists according to the functional group type: (1) -OH functional groups: [e01, e02, e03, e04, e05, e06, e07, e08]; (2) -NCO functional groups [e09, e10, e11, e12, e13, e14, e15, e16, e17, e18, e19, e20, e21, e22, e23, e24]. In this example, the length of the hydroxyl list is 8 and the length of the isocyanate functional group list is 16.

[0201] Randomize functional group list

[0202] The two lists are randomized, where the randomization has a certain probability that depends on the weights specified in the "Relative Reactivity" column. After randomizing the two lists, the resulting order is: (1) -OH functional groups: [e06, e01, e04, e07, e03, e05, e02, e08]; (2) -NCO functional groups. [e13, e09, e21, e11, e19, e17, e23, e15, e12, e18, e20, e14, e22, e10, e24, e16].

[0203] Form all simulated bonds in step 1

[0204] In this example, the bonds in Step 1 of the reaction are formed simultaneously in one step by joining the two lists to bond the first hydroxyl functional group to the first isocyanate group, and so on. Each bond that is formed is assigned a unique identifier, shown as Bond Id in Table 8 below. The extent of the reaction in this example is 100%.

[0205] Table 8 shows the simulated bonds resulting from Step 1 of the reaction. The unmatched NCO functional groups are those that remain unreacted due to the stoichiometric ratio.

[0206] Table 8

[0207] OH groups NCO groups Chemical bond Id Reaction step e06 e13 b1 1 e01 e09 b2 1 e04 e21 b3 1 e07 e11 b4 1 e03 e19 b5 1 e05 e17 b6 1 e02 e23 b7 1 e08 e15 b8 1 - e12 - - - e18 - - - e20 - - - e14 - - - e22 - - - e10 - - - e24 - - - e16 - -

[0208] Form all simulated bonds in step 2

[0209] Because step 1 of the reaction proceeded to 100% completion, no hydroxyl groups remained unreacted after step 1 of the reaction, and 8 isocyanate groups remained unreacted. As shown in Tables 6 and 7, a polyol (PEG 1000) was added in step 2 of the reaction. Thus, hydroxyl groups e25-e28 were added to the reaction. These hydroxyl groups were first randomized with a weight specified in the "Relative Reactivity" column. After randomizing the list of hydroxyl functional groups added in step 2, the resulting order was: (3) -OH functional groups: [e25, e28, e27, e26].

[0210] Table 9 shows the simulated bonds resulting from step 2 of the reaction. The unmatched NCO functional groups are those that remained unreacted due to stoichiometric ratios.

[0211] Table 9

[0212] OH groups NCO groups Chemical bond Id Reaction step e06 e13 b1 1 e01 e09 b2 1 e04 e21 b3 1 e07 e11 b4 1 e03 e19 b5 1 e05 e17 b6 1 e02 e23 b7 1 e08 e15 b8 1 e25 e12 b9 2 e28 e18 b10 2 e27 e20 b11 2 e26 e14 b12 2 - e22 - - - e10 - - - e24 - - - e16 - -

[0213] Determine simulated structure

[0214] The same procedure described in connection with Example 1 can be used to determine the simulated structure of the oligomer or polymer formed in Example 2.

[0215] While the application has been described in detail with respect to the preferred embodiments thereof, it will be apparent to those skilled in the art that various alterations, modifications, and improvements can be made therein without departing from the spirit and scope of the application. For example, it will be understood that the application contemplates that any or all features of any embodiment can be combined with any or all features of any other embodiment.

Claims

1. A method of simulating oligomer or polymer growth, comprising: receiving, with at least one processor, a reaction recipe comprising a plurality of reactive molecules; determining, with at least one processor, for each reactive molecule of the plurality of reactive molecules, at least one functional group associated with the reactive molecule; designating, with at least one processor, a functional group type for each functional group associated with the plurality of reactive molecules; determining, with at least one processor, at least one reaction rule associated with each functional group type; simulating, with at least one processor, a plurality of oligomer or polymer forming reactions from the plurality of reactive molecules based on the at least one reaction rule to form a plurality of simulated oligomers or polymers; and determining, with at least one processor, at least one oligomer or polymer structure associated with a first oligomer or polymer of the plurality of simulated oligomers or polymers, wherein simulating the plurality of oligomer or polymer forming reactions comprises: generating, with at least one processor, a first list of a plurality of first type reactive functional groups of reactive functional groups associated with the plurality of reactive molecules and a second list of a plurality of second type reactive functional groups of reactive functional groups associated with the plurality of reactive molecules; randomizing, with at least one processor, an order of the plurality of first type reactive functional groups in the first list; randomizing, with at least one processor, an order of the plurality of second type reactive functional groups in the second list; associating, with at least one processor, at least one first type reactive functional group from the first list with at least one corresponding second reactive functional group from the second list based on the randomized orders to form at least one simulated bond of the first oligomer or polymer.

2. The method of claim 1, wherein simulating the plurality of oligomer or polymer forming reactions comprises: associating, with at least one processor, at least one functional group associated with the plurality of reactive molecules with at least one other functional group associated with the plurality of reactive molecules.

3. The method of claim 1, further comprising: generating, with at least one processor, statistical reaction data based on the plurality of oligomer or polymer forming reactions.

4. The method of claim 1, wherein simulating the plurality of oligomer or polymer forming reactions comprises: associating, with at least one processor, at least one pair of functional groups associated with the plurality of reactive molecules based on the at least one reaction rule to form a bonding pair.

5. The method of claim 1, wherein simulating the plurality of oligomer or polymer forming reactions comprises: associating, with at least one processor, a first pair of functional groups associated with the plurality of reactive molecules based on the at least one reaction rule to form a first bonding pair; and subsequently associating, with at least one processor, a second pair of functional groups associated with the plurality of reactive molecules based on the at least one reaction rule to form a second bonding pair.

6. The method of claim 5, wherein simulating the plurality of oligomer or polymer forming reactions further comprises: adjusting, with at least one processor, the at least one reaction rule between associating the first pair of functional groups and associating the second pair of functional groups.

7. The method of claim 1, further comprising: determining, with at least one processor, at least one characteristic related to the first oligomer or polymer.

8. The method of claim 7, wherein the at least one characteristic comprises at least one of: moles of effective linkages per kilogram of oligomer or polymer, moles of effective linkages per kilogram of gel component, moles of effective linkages per kilogram of core in the gel component, moles of intramolecular loops formed per kilogram of oligomer or polymer, moles of intermolecular loops formed per kilogram of gel component, moles of intermolecular loops formed per kilogram of core in the gel component, crosslink density, moles of crosslink junctions per kilogram of oligomer or polymer, moles of dangling linkages per kilogram of oligomer or polymer, moles of dangling portions per kilogram of gel component, weight percent of sol in the gelled oligomer or polymer, weight percent of gel in the gelled oligomer or polymer, weight percent of dangling portions, weight percent of core gel, number average molecular weight of elastomeric linkages, weight average molecular weight of elastomeric linkages, number average molecular weight of dangling portions, weight average molecular weight of dangling portions, molecular weight of dangling portions weighted by its percentage in the total oligomer or polymer, molecular weight of elastomeric linkages weighted by its weight percent in the oligomer or polymer, number average molecular weight, weight average molecular weight, z average molecular weight, degree of polymerization, dispersity of the reaction product, number of ingredient molecules used in the simulation, number of monomers used in the simulation, number of loop closures formed, number of oligomer molecules formed, equivalent ratio of CO / OH of the raw materials, number average OH functionality, number average CO functionality, functional average functionality of CO, weight average functionality of OH, weight average OH functionality, weight average CO functionality, average new bonds formed per oligomer, moles of bonds formed per kilogram of oligomer or polymer, moles of remaining OH groups per kilogram of oligomer or polymer, moles of remaining CO groups per kilogram of oligomer or polymer, number of OH, acid value in the case where CO is carboxylic acid, weight percent of isocyanate groups in the product, percent of isocyanate in the product excluding any isocyanate monomers, extent of reaction, weight percent of unreacted monomers, number average molecular weight of hard segments, average number of monomers per hard segment, molecular weight of dangling portions attached to hard segments, and average number of monomers per soft segment.

9. The method of claim 7, further comprising: determining, with at least one processor, at least one expected property related to the first oligomer or polymer based on the determined at least one characteristic related to the first oligomer or polymer.

10. The method of claim 9, wherein the at least one expected property comprises at least one of: a mechanical test property, a thermal test property, a rheological test property, a barrier test property, a weatherability and / or chemical resistance test property, an adhesion test property, a flammability test property, an optical test property, and an electrical test property.

11. The method of claim 1, wherein simulating the plurality of reactions forming oligomers or polymers comprises: determining, with at least one processor, an extent of reaction related to the plurality of reactions forming the simulated oligomers or polymers.

12. The method of claim 1, wherein the reaction recipe comprises an initial plurality of reactive molecules and a subsequent plurality of reactive molecules, wherein simulating the plurality of oligomer or polymer forming reactions comprises simulating formation of oligomers or polymers from the initial plurality of reactive molecules based on the at least one reaction rule, wherein the method further comprises simulating, with the at least one processor, a plurality of subsequent oligomer or polymer forming reactions from the subsequent plurality of reactive molecules and molecules and / or oligomers and / or polymers formed by the plurality of oligomer or polymer forming reactions based on the at least one reaction rule.

13. The method of claim 1, further comprising: generating, with the at least one processor, reaction instructions for forming the first oligomer or polymer.

14. The method of claim 13, further comprising: communicating, with the at least one processor, the reaction instructions to the reactor to cause the reactor to begin production of the first oligomer or polymer.

15. The method of claim 9, wherein determining the at least one expected property comprises analyzing the at least one feature based on historical data related to oligomers or polymers.

16. The method of claim 1, further comprising: storing, with the at least one processor, historical simulation data related to the plurality of simulated oligomers or polymers; receiving, with the at least one processor, a suggestion request, wherein the suggestion request comprises at least one target physical property related to an oligomer or polymer to be produced; querying, with the at least one processor, the stored historical simulation data; and generating, with the at least one processor, a suggestion response comprising reaction instructions for forming an oligomer or polymer having the at least one target physical property based on the historical simulation data.

17. The method of claim 1, wherein determining the at least one oligomer or polymer structure related to the first oligomer or polymer comprises identifying the at least one oligomer or polymer structure related to the first oligomer or polymer based on a component search algorithm.

18. The method of claim 1, wherein determining the at least one oligomer or polymer structure related to the first oligomer or polymer comprises at least one of: identifying, with the at least one processor, soft segments of the first oligomer or polymer and / or hard segments of the first oligomer or polymer; and analyzing, with the at least one processor, soft segments of the first oligomer or polymer and / or hard segments of the first oligomer or polymer.

19. The method of claim 1, further comprising: storing, with the at least one processor, historical simulation data related to the plurality of simulated oligomers or polymers; receiving, with the at least one processor, a message from the reactor, the message comprising at least one property related to material being produced in the reactor; determining, with the at least one processor, at least one reactor adjustment based on the message and the historical simulation data; and communicating, with the at least one processor, a reply message to the reactor to cause the reactor to begin the reactor adjustment. ​