Graph Network Surrogate Model for Optimizing the Placement of Horizontal Injection Wells for CO2 Storage
<|reference_start|>Graph Network Surrogate Model for Optimizing the Placement of Horizontal Injection Wells for CO2 Storage: Optimizing the locations of multiple CO2 injection wells will be essential as we proceed from demonstration-scale to large-scale carbon storage operations. Well placement optimization is, however, a computationally intensive task because the flow responses associated with many potential configurations must be evaluated. There is thus a need for efficient surrogate models for this application. In this work we develop and apply a graph network surrogate model (GNSM) to predict the global pressure and CO2 saturation fields in 3D geological models for arbitrary configurations of four horizontal wells. The GNSM uses an encoding-processing-decoding framework where the problem is represented in terms of computational graphs. Separate networks are applied for pressure and saturation predictions, and a multilayer perceptron is used to provide bottom-hole pressure (BHP) for each well at each time step. The GNSM is shown to achieve median relative errors of 4\% for pressure and 6\% for saturation over a test set involving very different plume shapes and dynamics. Speedup is about a factor of $120\times$ relative to high-fidelity simulation. The GNSM is applied for optimization using a differential evolution algorithm, where the goal is to minimize the CO2 footprint subject to constraints on the well configuration, plume location and well BHPs. Optimization results using the GNSM are shown to be comparable to those achieved using (much more expensive) high-fidelity simulation.<|reference_end|>
@article{tang2024graph,
    title={Graph Network Surrogate Model for Optimizing the Placement of Horizontal
  Injection Wells for CO2 Storage},
    author={Haoyu Tang, Louis J. Durlofsky},
    journal={arXiv preprint arXiv:2410.07142},
    year={2024},
    archivePrefix={arXiv},
    eprint={2410.07142},
    primaryClass={cs.CE}
}