AMoEBA: the adaptive modeling by evolving blocks algorithm
This dissertation presents AMoEBA, the Adaptive Modeling by Evolving Blocks Algorithm. AMoEBA is an evolutionary technique for automatic decomposition of data fields and solver/descriptor placement. By automatically decomposing a numerical data set, the algorithm is able to solve a variety of problems that are difficult to solve with other techniques. Two key features of the algorithm are its ability to work with discrete data types and its unique geometric representation of the domain. AMoEBA uses genetic programming generated parse trees to define data segregation schemes. These trees also place solver/descriptors in the decomposed regions. Since the segregation trees define the boundaries between the regions, discrete representations of the data set are possible. AMoEBA is versatile and can be applied to many different types of geometries as well as different types of problems. In this thesis, three problems will be used to demonstrate the capabilities of this algorithm. For the first problem, AMoEBA used approximated algebraic expressions to match known profiles representing a steady-state conduction heat transfer problem and the fully-developed laminar flow through a pipe. To further illustrate the versatility of the algorithm, an inverse engineering problem was also solved. For this problem, AMoEBA placed different materials in the segregated regions defined by the trees and compared this to known temperature profiles. The final demonstration illustrates the application of AMoEBA to computational fluid dynamics. In this implementation, AMoEBA segregated an elbow section of pipe and placed numerical solvers in the regions. The resulting solver networks were solved and compared to a known solution. Both the time and accuracy of the networks were compared to determine if a faster solution method can be found with a reasonably accurate solution. Although AMoEBA is adapted for each application, the core algorithm of AMoEBA is unaltered in each application. This illustrates the flexibility of the algorithm.