Computer-Aided Design of Customized Cellular Lattice Cores Based on Material Properties

Through the iterative process of computer-aided design systems, the design of cell lattice cores is optimized by using the genome engine and prediction engine to optimize the design of cell lattice cores, and the problem of difficult to customize cell lattice cores in the existing technology is solved, achieving rapid convergence to optimized core design and meeting the needs of target material properties.

CN113196274BActive Publication Date: 2025-06-13SIMENS INDASTRI SOFTVEAR INK
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN201980073002.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2018-09-10
Filing Date
2019-09-06
Publication Date
2025-06-13
Estimated Expiration
2039-09-06

AI Technical Summary

Technical Problem

The prior art is difficult to generate cellular lattice cores with custom material properties through topological optimization, and cannot effectively meet the desired material properties requirements.

Method used

Using a computer-aided design system, a custom cell lattice core with target material properties is generated through the iterative process of the genome engine, prediction engine, lattice simulator and fitness evaluator. The system uses the topological and geometric features of the genome to represent the core, and optimizes the core design through machine learning prediction models and lattice simulations.

Benefits of technology

A rapid convergence to optimized core design is achieved, and a custom cellular lattice core with predicted material properties can be generated to meet the needs of target material properties.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN113196274B_ABST
    Figure CN113196274B_ABST
Patent Text Reader

Abstract

The present invention discloses methods and systems for generating cellular lattice nuclei, which are optimized by a plurality of highly specific target attributes for geometry and topology, rather than relying on prior art methods of a predetermined nucleus library. Using the characterization of virtual nucleus features, approximations from virtual nuclei can be used to predict bulk material properties without solely relying on experimental finite element simulations of lattice structures.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to computer-aided design. More specifically, this application relates to optimizing the design of custom cellular materials for geometry and topology.

[0002] Statement Regarding Federally Sponsored Research or Development

[0003] This invention was made with government support and is awarded Government Premium Award No. HR0011-17-2-0015 by the Defense Advanced Research Projects Agency (DARPA) of the United States Department of Defense. The government has certain rights in this invention. Background Art

[0004] Cellular lattice materials are an attractive class of materials that facilitate the construction of ultra-light solid components, for example, through additive manufacturing processes. In addition to greatly reducing the use and weight of materials, cellular lattices also have the advantage of being tunable because their shape is independent of their internal structure. Cellular lattice structures are typically designed based on a given set of material properties.

[0005] In the computer-aided design process of cellular lattices, a kernel is the basic unit of the lattice that defines its topology. A virtual lattice can be generated, which consists of many instances of the kernel tessellated in space in a consistent manner.

[0006] Current practice in engineering lattice materials involves selecting a kernel from a small library of predefined lattice kernels while focusing on optimizing geometric parameters (e.g., truss diameter and node position) rather than topology. Some limited-range topology optimizations have been developed, but they do not provide lattice kernels customized according to desired material properties. Summary of the Invention

[0007] The present invention discloses a method and system for computer-aided design of cellular lattice cores, where the cellular lattice cores are optimized through multi-objectives for highly specific target attributes of geometry and topology, rather than relying on prior art methods that depend on a predefined core library. In one aspect, a computer-aided design system for generating custom cellular lattice cores includes a memory storing a plurality of application modules, and a processor for executing the application modules. These modules include a genome engine that defines a genome characterizing the features of a nuclear space volume unit composed of nodes and rods interconnected in geometric directions and having a topology. The genome is represented by binary code and is configured to define an initial genome sequence. The genome engine includes a transformation module that generates a nuclear candidate from the genome, where the nuclear candidate includes features based on a Boolean transformation of the activated genome features. A plurality of new nuclear candidates are generated from corresponding new genome sequences, and each new nuclear candidate is generated in a new nuclear generation iteration. These modules also include a prediction engine that runs a machine learning-based prediction model for each nuclear candidate to produce an approximate prediction of the lattice structure properties for the unconstructed lattice of each nuclear candidate. The prediction engine includes a characterization module that generates a characterization of each nuclear candidate as a unique quantitative description of the geometric and topological measurements of each nuclear candidate, where the approximate prediction of the lattice structure properties is a function of the characterization. These modules also include a fitness evaluator having an evaluation module that generates an evaluation score of the prediction model based on the difference between the target attribute value and the predicted attribute value, where the fitness of each nuclear candidate is evaluated by ranking the evaluation score with respect to the evaluation scores associated with the nuclear candidates of the previous nuclear generation iteration. BRIEF DESCRIPTION OF THE DRAWINGS

[0008] The foregoing and other aspects of the present invention can be best understood from the following detailed description when read in conjunction with the accompanying drawings. For purposes of illustration of the present invention, the presently preferred embodiments are shown in the drawings, however, it should be understood that the present invention is not limited to the specific means disclosed. The following drawings are included in the drawings:

[0009] Figure 1 A flowchart showing an example of a computer-aided design system according to an embodiment of the present disclosure that performs custom cellular lattice core generation with target material properties;

[0010] Figure 2 An example showing the transformation from genome to nucleus according to an embodiment of the present disclosure;

[0011] Figure 3 An example set showing quantitative measurements of characterizations for predicting the bulk material properties of lattice instances according to an embodiment of the present disclosure;

[0012] Figure 4 An example showing the simulation of lattice structure construction and testing according to an embodiment of the present disclosure; and

[0013] Figure 5 An example of a computing environment in which embodiments of the present disclosure may be implemented is shown. Detailed implementation manners

[0014] Methods and systems for generating a virtual nucleus of a simulated cellular lattice through an iterative process using a genomic engine, a prediction engine, a lattice simulator, and a fitness evaluator to predict whether a nucleus can construct a simulated lattice having target material properties (e.g., specific stiffness and Poisson's ratio) are disclosed. The iterative process progressively finds more suitable candidates for the nucleus (i.e., the nucleus that provides successively better approximations of the target properties). Different from conventional nucleus generation simulators that extract from a small library of predefined nuclei, the process disclosed in the present invention deploys a genome defined by more than 100 features of the nucleus space, which are hybridized and mutated in each iteration to generate child (offspring) nucleus candidates. The prediction engine approximation of the target properties allows for faster convergence to an optimized nucleus by bypassing full-scale lattice simulations for each iteration after the initial iteration.

[0015] Figure 1 A flowchart showing an example of a computer-aided design system according to an embodiment of the present disclosure that performs custom cellular lattice nucleus generation with target material properties. The custom nucleus generation process is executed by a computer-aided design system 100, which includes a genomic engine 111, a prediction engine 121, a lattice simulation engine 131, and a fitness evaluator 141.

[0016] A genome is a set of predefined independent features for constructing a virtual lattice nucleus. When designing a nucleus, the task may be to find a genome for constructing a lattice having material properties described by target properties. The genomic engine 111 defines an initial genomic sequence G_1 of a genome {G}, which is defined as a set of independent basic features f, where the feature f is a geometric or topological element of a primitive lattice unit:

[0017] {G} = {f1, f2, f3, f4..., fn}

[0018] The initial genomic sequence can be obtained by random generation or selected from a library of previously generated genomes using the methods described in the present invention. The genomic engine 111 includes a transformation module 101, which is configured to generate a set of nucleus candidates according to the genome, and each nucleus candidate includes features according to a Boolean transformation of the activated genomic features. For example, a Boolean true value (fn = 1) will be transformed into an activated feature of the nucleus.

[0019] Figure 2An example of genome-to-nucleus transformation according to an embodiment of the present disclosure is shown. In an embodiment, each genome sequence (G_1, G_2,... G_N) is a binary code, where each code element represents the activation or deactivation of a genomic feature in a candidate nucleus (K_1, K_2, K_3... K_N). During multiple iterations, the genome {G} evolves to converge to a set of features fn that satisfy the target material properties. The features of the nucleus {K} are the transformation of the genome {G}, which is defined as the connection node elements of candidate features 202 within the nuclear space volume unit 201 (e.g., the cell unit of a simulated lattice). To improve efficiency, each feature fn only represents the connection node element e defined by [1 < e < E] (i.e., excluding elements that are not connected nodes individually as candidate features). In an embodiment, the limit E of the feature node element is E = 6. The function of the nucleus {K} can be expressed as:

[0020] K(G) = {f ∈ G}

[0021] The prediction engine 121 receives the current nuclear candidate (e.g., K_1) and the characterization module 102 generates a characterization {X} for the nuclear candidate, which is a unique quantitative description of the geometric and topological measurements of the nuclear candidate. These measurements are used to reduce the complexity of the prediction task because different nuclei can produce the same lattice configuration.

[0022] Figure 3 An example set of quantitative measurements of a characterization for predicting the bulk material properties of a lattice instance according to an embodiment of the present disclosure is shown. The characterization {X} may include a set of geometric measurements, which may be based on spherical harmonics 301, which is a basis function for the bond order that describes the angular dependence between adjacent nodes. The spherical harmonics 301 can be used to quantify the symmetry and relative orientation of each rod in the lattice instance, which is inherently associated with the bulk lattice properties. The characterization {X} may include multiple sets of topological measurements that may be consistent with a set of defined subgraphs 302. The topological description is obtained by counting the occurrences of each subgraph 302 induced in the graphical representation of the lattice nucleus. The characterization {X} may be a histogram of geometric and topological measurements, which provides a basis for comparing the properties of nuclei.

[0023] For at least the first iteration of process 100, the lattice simulation engine 131 uses the construction module 104 to generate a simulated lattice structure L using the nuclear candidate {K} according to a known simulation algorithm. In subsequent iterations of the nuclear generation process, if the prediction engine 121 performs a reliability test 103, where the approximation M{X} has a reliability score greater than a threshold, the lattice simulation engine 131 can be bypassed. After lattice construction, the test module 105 simulates the stress on the lattice structure L in order to predict the properties of the lattice configuration of the candidate nucleus. The predicted property vector {P} = {p 1 、p 2 、p 3...p n} Describe the property measurement results obtained by the test module 105 for the simulated lattice L. In an embodiment, each value p i consists of the key-value pair p i = (q, r), where the key q represents the measurement type and the value r represents the measurement result.

[0024] Figure 4 Illustrate an example of the construction and testing of a simulated lattice structure according to an embodiment of the present disclosure. A vertical stress load 401 is simulated on the lattice structure 410. The test module 105 includes an algorithm for performing an analysis on the structure to predict the bulk material properties. Although the additive manufacturing of an object or component having a lattice structure typically involves the printing or extrusion of one or two materials, even a single material can produce many different bulk properties required for the produced object or component. The test can be performed by applying stress on the lattice through standard finite element simulation according to one or more defined test protocols (e.g., for calculating deformation). In Figure 4 the example shown, the calculated value 422 is obtained with a Poisson's ratio of 0.103 (i.e., p(q, r) = (v, 0.103)). Various other forms of stress loads can be applied by the test module 105 to calculate additional property key-value pairs.

[0025] Return Figure 1 , the prediction engine 121 is configured to operate the machine learning-based prediction model M{X} of the candidate nucleus, which provides an approximation of the lattice properties based on the characterization {X}. The output of the prediction model M{X} can be related to a lattice instance that defines an approximation of the large-scale full-size lattice for a smaller finite size (e.g., a lattice instance with fewer than five nuclei in dimension, or a 3x3x3 nucleus lattice instance). If, according to the reliability score threshold at 103, the approximation is reliable (e.g., after one or more iterations of the nucleus generation process 100), then an approximate prediction of the lattice material properties is generated by the model M{X} prediction module 107 without having to simulate the lattice structure (i.e., generate a model-based property prediction for an unconstructed lattice structure). The approximate prediction of the lattice material properties is a purely data-driven task and has no direct connection with the simulation. Instead, the prediction model M{X} only learns to copy the property {P} from {X} by observing the trend of historical values. The set of approximate prediction properties includes approximate property values, each property value consisting of a key-value pair where the key represents the measurement type and the value represents the measurement result.

[0026] At 106, a prediction model M{X} is trained by predicting the {P} vector based on the properties of previous lattice simulations, and the reliability score RS of the prediction model M{X} is tracked, which increases as more iterations of the lattice simulation are performed during the kernel generation iteration. If the prediction model M{X} is unreliable based on the current reliability score RS being below a threshold in the reliability test 103, the candidate kernel is sent to the lattice simulation engine 131 for a simulation-based property prediction {P} based on the lattice simulation as described above. Under the condition that the prediction model M{X} fails the reliability test 103, this property prediction {P} can be used to train the prediction model M{X} at 106. After one or more iterations of the lattice simulation and training of the prediction model M{X} on one or more corresponding custom kernel candidate generation iterations, the reliability of the prediction model M{X} is increased to the point where approximate property predictions can be used to replace the predicted property {P} of the high-cost lattice simulation. The prediction engine 121 can apply regression techniques based on supervised learning (e.g., random forest regression or multi-layer perceptron) to generate the prediction model M{X}. For example, the regression can occur in a high-dimensional space defined by a large number of eigenvalue features (e.g., N geometric features and Q topological features as a vector of approximately 150 values), where the prediction model M{X} can generate approximate property predictions from this large number of eigenvalue features

[0027] The fitness evaluator 141 includes an evaluation module 108 for generating an evaluation score {S} of the prediction model based on the difference between the value of the target property {T} and the predicted property {P} or the approximate prediction value, regardless of which prediction occurs in the current iteration. In an embodiment, this evaluation score is ranked against the evaluation scores associated with previously evaluated kernel candidates.

[0028] Under the condition that the evaluation score at 109 meets a satisfactory threshold (i.e., when the predicted property {P} or approximate predicted property of a certain lattice instance When close enough to the target property {T}, the genomic sequence of the candidate nucleus is stored in the memory 112, and the optimal nucleus design is achieved. Further iterations of nucleus generation are optional, otherwise the custom nucleus generation process can be terminated. If the evaluation score is below a satisfactory threshold, the crossover and mutation module 110 of the genomic engine 111 selects two or more genomic sequences of previous iterations and performs crossover and mutation operations to derive an evolved genomic sequence (i.e., the sub-genomic sequence {G’}) for the next iteration of the custom nucleus generation process. The selection of the genomic sequences for crossover and mutation can be made proportionally according to fitness. The next nucleus candidate is transformed from the sub-genomic sequence and processed as described above for model prediction and fitness evaluation, based on which further iterations can be performed as needed until a sufficient fitness test 109 is achieved.

[0029] Figure 5 An example of a computing environment in which embodiments of the present disclosure can be implemented is shown. The computing environment 500 includes a computer system 510, which can include a communication mechanism such as a system bus 521 or other communication mechanisms for transferring information within the computer system 510. The computer system 510 also includes one or more processors 520 coupled to the system bus 521 for processing information. In an embodiment, the computing environment 500 corresponds to a CAD system, where the computer system 510 relates to the computer described in more detail below.

[0030] The processor 520 may include one or more central processing units (CPUs), graphics processing units (GPUs), or any other processors known in the art. More generally, the processors described in the present invention are devices for executing machine-readable instructions stored on a computer-readable medium for performing tasks and may include any one or a combination of hardware and firmware. The processor may also include a memory storing machine-readable instructions executable for performing tasks. The processor acts on information by manipulating, analyzing, modifying, transforming, or transmitting information used by an executable program or information device, and / or by routing information to an output device. For example, the processor may use or include the capabilities of a computer, a controller, or a microprocessor and may be regulated using executable instructions to perform specialized functions not performed by a general-purpose computer. The processor may include any type of suitable processing unit, including but not limited to a central processing unit, a microprocessor, a reduced instruction set computer (RISC) microprocessor, a complex instruction set computer (CISC) microprocessor, a microcontroller, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a system on a chip (SoC), a digital signal processor (DSP), etc. Additionally, the (one or more) processors 520 may have any suitable microarchitecture design, which includes any number of constituent components, such as registers, multiplexers, arithmetic logic units, cache controllers for controlling read / write operations to cache memory, branch predictors, etc. The microarchitecture design of the processor may be capable of supporting any one of a plurality of instruction sets. The processor may be coupled (electrically coupled and / or including executable components) to any other processor capable of interacting and / or communicating therewith. A user interface processor or generator is a known element that includes a combination of electronic circuitry or software or both for generating a display image or a portion thereof. The user interface includes one or more display images that enable a user to interact with the processor or other device.

[0031] The system bus 521 may include at least one of a system bus, a memory bus, an address bus, or a message bus and may permit the exchange of information (e.g., data (including computer-executable code), signaling, etc.) between the various components of the computer system 510. The system bus 521 may include but is not limited to a memory bus or memory controller, a peripheral bus, an accelerated graphics port, etc. The system bus 521 may be associated with any suitable bus architecture, including but not limited to an Industry Standard Architecture (ISA), a Micro Channel Architecture (MCA), an Enhanced ISA (EISA), a Video Electronics Standards Association (VESA) architecture, an Accelerated Graphics Port (AGP) architecture, a Peripheral Component Interconnect (PCI) architecture, a PCI-Express architecture, a Personal Computer Memory Card International Association (PCMCIA) architecture, a Universal Serial Bus (USB) architecture, etc.

[0032] Continue to refer Figure 5 , the computer system 510 may also include a system memory 530 coupled to the system bus 521 for storing information and instructions executed by the processor 520. The system memory 530 may include computer-readable storage media in the form of volatile and / or non-volatile memory, such as read-only memory (ROM) 531 and / or random access memory (RAM) 532. RAM 532 may include (one or more) other dynamic storage devices (e.g., dynamic RAM, static RAM, and synchronous DRAM). ROM 531 may include (one or more) other static storage devices (e.g., programmable ROM, erasable PROM, and electrically erasable PROM). In addition, the system memory 530 may be used to store temporary variables or other intermediate information during the execution of instructions by the processor 520. The basic input / output system 533 (BIOS), including basic routines that help transfer information between elements within the computer system 510, such as during startup, may be stored in ROM 531. RAM 532 may include data and / or program modules that the processor 520 can access immediately and / or is currently operating on. System memory 530 may further include, for example, an operating system 534, an application module 535, and other program modules 536. Application module 535 may include a Figure 1 The aforementioned modules described may also include a user portal for developing applications, allowing input parameters to be entered and modified as needed.

[0033] The operating system 534 may be loaded into the memory 530 and may provide an interface between other application software executed on the computer system 510 and the hardware resources of the computer system 510. More specifically, the operating system 534 may include a set of computer executable instructions for managing the hardware resources of the computer system 510 and for providing common services to other applications (e.g., managing memory allocations between various applications). In certain exemplary embodiments, the operating system 534 may control the execution of one or more program modules described as being stored in the data memory 540. The operating system 534 may include any operating system now known or that may be developed in the future, including but not limited to any server operating system, any mainframe operating system, or any other proprietary or non-proprietary operating system.

[0034] The computer system 510 may also include a disk / media controller 543 coupled to the system bus 521 to control one or more storage devices for storing information and instructions, such as a magnetic hard disk 541 and / or a removable media drive 542 (e.g., a floppy disk drive, a compact disc drive, a tape drive, a flash drive, and / or a solid state drive). Storage devices 540 may be added to the computer system 510 using an appropriate device interface (e.g., Small Computer System Interface (SCSI), Integrated Device Electronics (IDE), Universal Serial Bus (USB), or FireWire). Storage devices 541, 542 may be external to the computer system 510.

[0035] The computer system 510 may include a user input interface or a graphical user interface (GUI) 561, which may include one or more input devices, such as a keyboard, a touch screen, a tablet computer, and / or a pointing device, to interact with a computer user and provide information to the processor 520.

[0036] In response to the processor 520 executing one or more sequences of one or more instructions contained in a memory such as the system memory 530, the computer system 510 may perform some or all of the processing steps of embodiments of the present invention. Such instructions may be read into the system memory 530 from another computer-readable medium of the storage device 540 (e.g., the magnetic hard disk 541 or the removable media drive 542). The magnetic hard disk 541 and / or the removable media drive 542 may contain one or more data stores and data files used by embodiments of the present disclosure. The data store 540 may include, but is not limited to, databases (e.g., relational databases, object-oriented databases, etc.), file systems, flat files, distributed data stores where data is stored on more than one node of a computer network, peer-to-peer network data stores, etc. The data store contents and data files may be encrypted to enhance security. The processor 520 may also be employed in a multiprocessing arrangement to execute one or more sequences of instructions contained in the system memory 530. In alternative embodiments, hardwired circuitry may be used in place of or in combination with software instructions. Accordingly, embodiments are not limited to any specific combination of hardware circuitry and software.

[0037] As described above, computer system 510 may include at least one computer-readable medium or memory for storing programmed instructions in accordance with embodiments of the present invention and for containing data structures, tables, records, or other data described in the present invention. The term "computer-readable medium" as used in the present invention refers to any medium that participates in providing instructions to processor 520 for execution. The computer-readable medium may take many forms, including but not limited to non-transitory, non-volatile media, volatile media, and transmission media. Non-limiting examples of non-volatile media include optical discs, solid state drives, magnetic disks, and magneto-optical discs, such as magnetic hard disk 541 or removable media drive 542. Non-limiting examples of volatile media include dynamic memory, such as system memory 530. Non-limiting examples of transmission media include coaxial cables, copper wire, and fiber optics, including the wires that make up system bus 521. The transmission media may also take the form of acoustic or light waves, such as those generated during radio wave and infrared data communications.

[0038] Computer-readable medium instructions for performing the operations of the present disclosure may be assembly instructions, instruction set architecture (ISA) instructions, machine instructions, machine-related instructions, microcode, firmware instructions, state-setting data, or source code or object code written in any combination of one or more programming languages, including object-oriented programming languages such as Smalltalk, C++, etc., and traditional procedural programming languages such as the "C" programming language or similar programming languages. The computer-readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer, or entirely on the remote computer or server. In the latter case, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or may be connected to an external computer (e.g., through the Internet using an Internet service provider). In some embodiments, an electronic circuit, including, for example, a programmable logic circuit, a field-programmable gate array (FPGA), or a programmable logic array (PLA), may be personalized by utilizing the state information of the computer-readable program instructions to execute the computer-readable program instructions in order to perform aspects of the present disclosure.

[0039] Aspects of the present disclosure are described herein with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the present disclosure. It should be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer-readable medium instructions.

[0040] The computing environment 500 may further include a computer system 510 that operates in a networked environment using logical connections to one or more remote computers, such as remote computing device 580 and remote agent 581. The network interface 570 may enable communication, for example, with other remote devices 580 or systems and / or storage devices 541, 542 via the network 571. The remote computing device 580 may be a personal computer (laptop or desktop), a mobile device, a server, a router, a network PC, a peer device, or other common network node and typically includes many or all of the elements described above with respect to the computer system 510. When used in a networked environment, the computer system 510 may include a modem 572 for establishing communications over a network 571 such as the Internet. The modem 572 may be connected to the system bus 521 via the user network interface 570 or via another suitable mechanism.

[0041] The network 571 may be any network or system known in the art, including the Internet, an intranet, a local area network (LAN), a wide area network (WAN), a metropolitan area network (MAN), a direct connection, or a series of connections, a cellular telephone network, or any other network or medium capable of facilitating communication between the computer system 510 and other computers (e.g., remote computing device 580). The network 571 may be wired, wireless, or a combination thereof. The wired connection may be implemented using Ethernet, Universal Serial Bus (USB), RJ-6, or any other wired connection known in the art. The wireless connection may be implemented using Wi-Fi, WiMAX, and Bluetooth, infrared, cellular network, satellite, or any other wireless connection method known in the art. Additionally, several networks may work alone or communicate with each other to facilitate communication in the network 571.

[0042] It should be understood that Figure 5 the program modules, applications, computer-executable instructions, code, etc. described as stored in the system memory 530 are illustrative only and not exhaustive, and the processing described as being supported by any particular module may alternatively be distributed among multiple modules or performed by different modules. Additionally, various program modules, scripts, plugins, application programming interfaces (APIs), or any other suitable computer-executable code locally hosted on the computer system 510, remote device 580, and / or hosted on one or more other computing devices accessible via one or more networks 571 may be provided to support the functions and / or additional or alternative functions provided by Figure 5 the program modules, applications, or computer-executable code shown. Further, the functionality may be modularized differently such that the processing described as being performed by Figure 5The processing jointly supported by the set of program modules shown can be performed by fewer or more modules, or the functionality described as being supported by any particular module can be at least partially supported by another module. Additionally, the program modules that support the functionality described in this disclosure can form part of one or more applications executable on any number of systems or devices according to any suitable computing model (e.g., client-server model, peer-to-peer model, etc.). Further, any functionality described as being supported by Figure 5 any of the program modules shown can be implemented at least in part in hardware and / or firmware on any number of devices.

[0043] It should also be understood that, without departing from the scope of this disclosure, computer system 510 can include alternative and / or additional hardware, software, or firmware components in addition to those described or depicted. More specifically, it should be understood that the software, firmware, or hardware components depicted as forming part of computer system 510 are illustrative only, and in various embodiments some components may be absent or additional components may be provided. Although various illustrative program modules have been depicted and described as software modules stored in system memory 530, it should be understood that the functionality described as being supported by the program modules can be implemented by any combination of hardware, software, and / or firmware. It should also be understood that in various embodiments, each of the above modules can represent a logical partitioning of the supported functionality. This logical partitioning is described for ease of explaining the functionality and may not represent the structure of the software, hardware, and / or firmware used to implement that functionality. Thus, it should be understood that in various embodiments, the functionality described as being provided by a particular module can be at least partially provided by one or more other modules. Additionally, in certain embodiments one or more of the depicted modules may be absent, while in other embodiments, additional modules not depicted may be present and can support at least a portion of the described functionality and / or additional functionality. Further, although certain modules may be depicted and described as sub-modules of another module, in certain embodiments, these modules can be provided as stand-alone modules or as sub-modules of other modules.

[0044] Although specific embodiments of the present disclosure have been described, those of ordinary skill in the art will recognize that many other modifications and alternative embodiments are within the scope of the present disclosure. For example, any functionality or processing capabilities described with respect to a particular device or component can be performed by any other device or component. Additionally, although various exemplary implementations and architectures have been described in accordance with embodiments of the present disclosure, those of ordinary skill in the art will understand that many other modifications to the exemplary implementations and architectures described herein are also within the scope of the present disclosure. Further, any operation, element, component, data, etc. described herein as being based on another operation, element, component, data, etc. can additionally be based on one or more other operations, elements, components, data, etc. Accordingly, the phrase "based on" or variations thereof should be interpreted as "at least partially based on".

[0045] The flowcharts and block diagrams in the figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present disclosure. In this regard, each block in the flowchart or block diagram may represent a module, segment, or portion of instructions, which includes one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the blocks may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. Each block and combination of blocks in the figures can be implemented by a system based on dedicated hardware that performs the specified functions or actions or a combination of dedicated hardware and computer instructions.

Claims

1. A computer-aided design system for generating a custom cellular lattice core, comprising: a memory on which a plurality of application modules are stored; a processor for executing the application modules, including: a genome engine configured to define a genome characterizing a nuclear space volume unit composed of nodes and rods interconnected in geometric directions and having a topological configuration, wherein the genome is represented by binary code and is configured to define an initial genome sequence, and the genome is defined by more than 100 prescribed independent characteristics of the nuclear space, which are hybridized and mutated in each iteration to generate sub-nuclear candidates, and the genome engine includes: a transformation module configured to generate nuclear candidates from the genome, the nuclear candidates including characteristics transformed by Boolean transformation according to the activated genome characteristics, wherein a plurality of new nuclear candidates are generated from the corresponding new genome sequences, and each new nuclear candidate is generated in a new nuclear generation iteration; a prediction engine configured to run a machine learning-based prediction model for each nuclear candidate to produce an approximate prediction of the lattice structure properties for the unconstructed lattice of each nuclear candidate without simulating the lattice structure, and the prediction engine includes: a characterization module configured to generate a characterization of each nuclear candidate, wherein the characterization is a unique quantitative description of the geometric and topological measurements of each nuclear candidate; wherein the approximate prediction of the lattice structure properties is a function of the characterization; and a fitness evaluator including an evaluation module configured to generate an evaluation score of the prediction model based on the difference between the target property value and the predicted property value, wherein the fitness of each nuclear candidate is evaluated by sorting the evaluation score with respect to the evaluation scores associated with the nuclear candidates of the previous nuclear generation iteration, so as to predict whether the cellular lattice core can construct a simulated lattice having target material properties including specific stiffness and Poisson's ratio.

2. The system according to claim 1, wherein the prediction model applies random forest regression to produce the prediction model.

3. The system according to claim 1, wherein the genome engine further includes a crossover and mutation module configured to perform crossover and mutation on the genome characteristics of two or more genomes associated with the nuclear candidates selected by fitness-proportional selection under the condition that the fitness engine determines that the evaluation score is lower than a satisfactory value, so as to generate a new genome sequence for the next iteration of nuclear generation and evaluation.

4. The system according to claim 1, further comprising: a lattice simulation module configured to: construct a simulated lattice structure from the candidate nuclei under the condition that the reliability score of the prediction model is lower than a threshold, and simulate the stress on the simulated lattice structure to generate an attribute vector including a key-value pair of a set of measured attributes; wherein under the condition that the reliability score of the prediction model is lower than the threshold, the attribute vector is used as a training input for the prediction model.

5. The system according to claim 1, wherein each feature of the nuclear candidate features represents only a connection node element e defined by [1 < e < E], where the limit E of the node element is E = 6.

6. The system according to claim 1, wherein the characterization comprises a set of geometric measurements based on spherical harmonics, which are basis functions of the bond order describing the angular dependence between adjacent nodes.

7. The system according to claim 1, wherein the characterization comprises multiple sets of topological measurements according to a defined set of subgraphs, and the topological description is obtained by counting the occurrences of each subgraph induced in the graph representation of the nuclear candidate.

8. The system according to claim 1, wherein the output of the prediction model is related to a lattice instance defined for a finite size as an approximation of the full-size lattice, where the finite size is a dimension with fewer than five nuclei.

9. A computer-implemented method for generating a custom unit cell lattice nucleus, the method comprising: defining a genome of features for a nuclear space volume unit composed of nodes and rods interconnected in geometric directions and having a topological configuration, where the genome is represented by binary code and is configured to define an initial genome sequence, and the genome is defined by more than 100 specified independent features of the nuclear space, and these features are hybridized and mutated in each iteration to generate sub-nuclear candidates; generating nuclear candidates from the genome, the nuclear candidates comprising features according to a Boolean transformation of the activated genome features, where multiple new nuclear candidates are generated from the corresponding new genome sequences, and each new nuclear candidate is generated in a new nuclear generation iteration; running a machine learning-based prediction model for each nuclear candidate to produce an approximate prediction of the lattice structure properties for the unconstructed lattice of each nuclear candidate without simulating the lattice structure; generating a characterization of each nuclear candidate, where the characterization is a unique quantitative description of the geometric and topological measurements of each nuclear candidate, and the approximate prediction of the lattice structure properties is a function of the characterization; and generating an evaluation score of the prediction model based on the difference between the target property value and the predicted property value, and evaluating the fitness of each nuclear candidate by ranking the evaluation score with respect to the evaluation scores associated with the nuclear candidates of the previous nuclear generation iteration, so as to predict whether the unit cell lattice nucleus can construct a simulated lattice with target material properties including specific stiffness and Poisson's ratio.

10. The method according to claim 9, wherein the prediction model applies random forest regression to produce the prediction model.

11. The method according to claim 9, further comprising: performing crossover and mutation on the genome features of two or more genomes associated with the nuclear candidates selected by fitness-proportional selection under the condition that the fitness engine determines that the evaluation score is lower than a satisfactory value to generate a new genome sequence for the next iteration of nuclear generation and evaluation.

12. The method according to claim 9, further comprising: constructing a simulated lattice structure from the candidate nuclei under the condition that the reliability score of the prediction model is lower than a threshold, and Simulate the stress on the simulated lattice structure to generate an attribute vector including key-value pairs of a set of measured attributes; wherein, under the condition that the reliability score of the prediction model is lower than the threshold, the attribute vector is used as the training input of the prediction model.

13. The method according to claim 9, wherein each feature of the kernel candidate features only represents a connecting node element e defined by [1 < e < E], where the limit E of the node element is E = 6.

14. The method according to claim 9, wherein the characterization includes a set of geometric measurements based on spherical harmonics, and the spherical harmonics are basis functions of the bond order describing the angular dependence between adjacent nodes.

15. The method according to claim 9, wherein the characterization includes multiple sets of topological measurements according to a set of defined subgraphs, and the topological description is obtained by counting the occurrences of each subgraph caused in the graph representation of the kernel candidate.

Citation Information

Patent Citations

  • Material generation apparatus and material generation method

    US20180018408A1