Skip to main content

Coupled Process Modeling of Flow and Transport Phenomena in LCM Processing


In Liquid Composite Molding (LCM) processes, dry fabric preforms are impregnated with a thermoset resin in a closed mold to fabricate a composite. The resin impregnation process is usually accompanied by other phenomena. In this work, we concentrate on transport phenomena such as convection of heat, cure and volatiles that impact the filling process and/or the quality of the manufactured part. Conventional approach to modeling such a flow is to integrate all the involved physics into the numerical solver. The complexity of integrated computational models will increase the computational time and complicate modification of transport and retention models once implemented. The latter particularly complicates the exploratory modeling attempts to uncover additional physics that require fast and easy code modification. We propose and provide an implementation methodology to separately couple transport and flow models. With this approach, one can couple flow simulation using highly specialized simulation tools with associated transport phenomena that use separate implementation. The emphasis is on transport of volatiles, both discrete bubbles and dissolved solvents, but it is equally applicable to other problems, such as particle transport and filtration or cure propagation. The challenge of this approach is to (1) formulate proper models and implement them and (2) solve the communication between models efficiently. In our case, the distinct models can be coupled through data exchange, via standardized message passing interface (MPI). A well-tested and optimized flow simulation tool LIMS (Liquid Injection Molding Simulation) is used to implement the coupled simulation processes and transfer the simulation state in an efficient manner to model other transport phenomena. Coupled models to track distinct particles and/or bubbles of volatiles and implement convected/diffused dissolved volatiles. The results are presented highlighting the feasibility and utility of this methodology.

This is a preview of subscription content, access via your institution.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13


  1. Hieber CA, Shen SF (1980) A finite element/finite difference simulation of the injection mold filling process. J Non-Newtonian Fluid Mech 7:1–31

    CAS  Article  Google Scholar 

  2. Bruschke M, Advani SG (1990) Finite element/control volume approach to mold filling in anisotropic porous media. Polym Compos 11:398–405

    CAS  Article  Google Scholar 

  3. Voller VR, Chen YF (1996) Prediction of filling times of porous cavities. Int J Numer Methods 23(7):661–672

    CAS  Article  Google Scholar 

  4. Trochu F, Gauvin R, Gao D-M (1993) Numerical analysis of the resin transfer molding process by the finite element method. Adv Polym Technol 12(4):329–342

    CAS  Article  Google Scholar 

  5. Phelan FR (1997) Simulation of the injection process in resin transfer molding. Process Polymer Composites 18:460–476

    CAS  Article  Google Scholar 

  6. Mathur R, Fink BK, Advani SG (1999) Use of genetic algorithms to optimize gate and vent locations for the resin transfer molding process. Polym Compos 2:167–178

    Article  Google Scholar 

  7. Minaie B, Chen YF, Mescher MA (2002) A methodology to obtaina desired pattern during resin transfer molding. J Comp Mater 14:1677–1692

    Article  Google Scholar 

  8. Nielsen DR, Pitchumani R (2002) Closed-loop flow control in resin transfer molding using real-time numerical process simulation. Comp Sci Technol 2:283–298

    Article  Google Scholar 

  9. Ngo NG, Mohan RV, Chung PW, Tamma KK (1998) Recent developments encompassing non-isothermal/isothermal liquid composite molding process modeling/analysis: physically accurate, computationally effective, and affordable simulations and validations. J Thermoplast Compos Mater 6:493–532

    Article  Google Scholar 

  10. Trochu F, Ruiz E, Achim V, Soukane S (2006) Advanced numerical simulation of liquid composite molding for process analysis and optimization. Composites Part A 37:890–902

    Article  Google Scholar 

  11. Chebil N, Deléglise-Lagardère M, Park CH (2019) Efficient numerical simulation method for three dimensional resin flow in laminated preform during liquid composite molding processes. Composites Part A 125:2154–2163.

  12. Park CH, Lebel A, Saouab A, Bréard J, Lee WI (2011) Modeling and simulation of voids and saturation in liquid composite molding processes. Composites Part A 42:658–668

    Article  Google Scholar 

  13. Lefevre D, Comas-Cardona S, Binétruy C, Krawczak P (2007) Modelling the flow of particle-filled resin through a fibrous preform in liquid composite molding technologies. Composites Part A 38:2154–2163

    Article  Google Scholar 

  14. Abliz D, Berg DC, Ziegmann G (2019) Flow of quasi-spherical nanoparticles in liquid composite molding processes. Part II: Modeling and simulation. Composites Part A 125:105562.

  15. Simacek P, Advani SG (2004) Desirable features in mold filling simulations for liquid composite molding processes. Polymer Comp 25(4):355–367.

  16. Maier RS, Rohaly TF, Advani SG, Fickie KD (1996) A fast numerical method for isothermal resin transfer mold filling. Int J Numer Methods Eng 39

  17. Simacek P, Advani SG (2006) Role of acceleration forces in numerical simulation of mold filling processes in fibrous porous media. Composites Part A 37(11)

  18. Simacek P, Advani SG (2018) Resin flow modeling in compliant porous media: an efficient approach for liquid composite molding. Int J Mater Form 11(4):503–515

    Article  Google Scholar 

  19. Bruschke MV, Advani SG (1994) A numerical approach to model non-isothermal viscous flow through fibrous media with free surfaces. Int J Numer Methods Fluids 19:575–603.

  20. Tucker III CL, Dessenberger RB (1994) Governing equations for flow and heat transfer in stationary fiber beds, In: SG Advani (eds) Flow and rheology in polymer composites manufacturing, Elsevier

  21. Maldonado J, Louis B, Klunker F, Ermanni P (2012) Reactive flow of thermosetting resins: implications to lcm processing, In: Eleventh international conference on flow processes in composite materials (FPCM-11), Auckland, New Zealand

  22. Aydil T, Taniab H, Erdal M (2014) Resin transfer molding of particle-filled, continuous-fiber rein forced composites, In: Proceedings of the american society for composites - 29th technical conference, ASC

  23. Gangloff JJ, Hwang WR, Advani SG (2014) Characterization of bubble mobility in channel flow with fibrous porous media walls. Int J Multiph Flow 60:76–86

    CAS  Article  Google Scholar 

  24. Simacek P, Advani SG (2003) A numerical model to predict fiber tow saturation during liquid composite molding. Comp Sci Technol 63(12):1725–1736.

  25. Modi D, Simacek P, Advani SG (2003) Influence of injection gate definition on the flow-front approximation in numerical simulations of mold-filling processes. Int J Numer Methods Fluids 42(11)

  26. Niknafs Kermani N, Simacek P, Advani S (2020) bond-line porosity model that integrates fillet shape and prepreg facesheet consolidation during equilibrated co-cure of sandwich composite structures. Composites Part A 139:106071.

  27. Bickerton S, Stadtfeld HC, Steiner KV, Advani SG (2001) Design and application of actively controlled injection schemes for resin-transfer molding. Compos Sci Technol 61(11):1625–1637

    Article  Google Scholar 

  28. Sozer EM, Bickerton S, Advani SG (2000) On-line strategic control of liquid composite mould filling process. Composites Part A 31(12):1383–1394

    Article  Google Scholar 

Download references


The present work is funded by NSF Award No.2023323 which is gratefully acknowledged by the authors.

Author information

Authors and Affiliations


Corresponding author

Correspondence to Pavel Simacek.

Ethics declarations

Conflict of interest

Authors declare that they have no financial interest or personal relationship that could appear to influence this work.

Additional information

Publisher's Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

Appendix A: Implementation Details

Appendix A: Implementation Details

Previous LIMS Architecture for Communication with External Applications

In our previous work, the LIMS flow simulation was already coupled with additional programs. Primarily, this has been used for integrating the simulation into other software [19] and for optimization and control [19, 20, 27, 28]. The communication interface is shown in Fig. 

Fig. 14
figure 14

LIMS communication interface through Windows shared memory

14. This is used to pass the commands and communicate through textual printed lines through shared memory under Windows (used by LIMS interface (LimsUI) or, for example, Matlab through dynamic link library).

Additionally, there is available and tested extension that allowed passing of entire simulation state in the same way. It is not particularly efficient and is not currently supported in standard LIMS distribution. Note that this mechanism was used to couple the master program (LIMS or other programs) with other LIMS used as the worker process. There was no coupling with different simulation engine(s), although such steps were feasible. All the significant coupled physics model (dual scale flow [24], compliant reinforcement flow [18]) were implemented as LIMS scripts and ran within the simulation without a need for external communication.

Proposed Model Coupling Scheme(s)

The memory sharing scheme for commands was fairly successful in 1990s, but (1) It is based on low-level 32-bit windows implementation that is obsolete and (2) It never provided options to control other programs other than LIMS. The additional physics models run as scripts are feasible but inefficient hence the communication routines to standard MPI (Message Passing Interface) runtime were preferred and implemented. The necessary functionality to implement coupling as in Fig. 14 was obtained in simple, system-independent fashion by utilizing MPI to handle any shared buffers. For single CPU system it will likely be through shared memory as in the old implementation, but it should work over networks on clusters as well. New, more efficient way to pass the simulation state through the same interface was also implemented.

This approach allows LIMS to control other simulation processes including different instance(s) of LIMS, or to be executed and controlled by other executables. The messages passed through MPI simply replace the text typed on command line or in a script file.

Implementation Based on Basic MPI Functions

The implementation of coupling mechanism allows execution of all three possibilities in Fig. 

Fig. 15
figure 15

LIMS communication interface through MPI. a LIMS used to control other LIMS programs(s), for example, for multi-scenario simulation and optimization. Either LIMS can run simulation and simulation state can be sent as needed. b Use of LIMS to simulate the flow and to control coupled simulation models, for example transport. This is the layout used in this paper. c Use other programs to control LIMS. LIMS simulates the flow, the master program may aggregate data from LIMS to simulate something else

15. Of these scenarios, (b) is the one we used to simulate additional transport phenomena. LIMS scripting is used to control the entire modeling and input/output sequence. The scenario (a) is more useful for process optimizations and development as it can run multiple flow simulations on multiple cores—option available on every modern workstation. Scenario (c) passes the control to a non-LIMS executable. It allows as much flexibility as the master program offers. As a part of its execution, master will request the flow simulation results as needed. This can work for both optimization and transport modeling, but it requires more coding unless the master program is MPI-enabled platform like Python.

Modified LIMS program can be executed as master, worker or both. It is executed through MPIrun or MPIexec and it is able to detect whether it runs as master (ID zero) or worker (ID 1 and higher).

When being executed as a master, LIMS reads its commands as self-standing and does print its output in the standard way. It can run as a self-standing flow simulation as well. However, it offers several commands in its scripting language to control the execution of workers. It can determine how many workers are available. It can communicate with its workers at any time with a line of text (as commands). Finally, it can determine if any worker sends a response and act accordingly.

If LIMS finds itself in worker’s role, there are no additions for control. It receives commands transparently from the MPI runtime when the master issues them. The output is delivered to the master. For other worker programs, such as the transport simulations presented above, the control communication involves receiving and sending MPI messages in plain text format. For transport modeling, C +  + skeleton file (template) was built to:

  • Take care of the communication and synchronization details

  • Read LIMS simulation state at the beginning of each step

  • Evaluate some additional resin flow data, such as velocities, which are not evaluated within LIMS and are missing in its state

  • Evaluate geometry that is necessary for convective/conductive transfer

  • Create connectivity links to allow solution of equations such as Eq. (4) or (7) on element-by-element basis

The simulations presented were built using this template.

The state data exchange is straightforward but (for the sake of efficiency) it requires binary compatibility between programs. Regardless of whether LIMS acts as a master or worker, the simulation state can be sent to other processes (master or worker) and retrieved from them by a single function call from the script or the command line. LIMS will use its current state to export and update its current state on import. This uses several large binary blocks of data and it is quite efficient compared to the older approaches that transferred data based on node by node, element by element fashion even if in binary form.

There are several MPI calls needed to import the state, as size information must precede the entity blocks. The other simulation programs need to read and write a proper sequence of messages starting with counts and followed by blocks of nodal, elemental and inlet data. They will need to understand LIMS data structures to decode these. This approach puts some limitations on executables and architecture—essentially, all executables should be built with the same compiler and settings. However, it avoids the need to reformat and re-code large data structures which may be extremely slow compared to the actual solution of Eq. (8). Note that the skeleton file built for the transport models already contains this code and the same skeleton may be used for other conceivable transport problems.

Rights and permissions

Reprints and Permissions

About this article

Verify currency and authenticity via CrossMark

Cite this article

Simacek, P., Niknafs Kermani, N. & Advani, S.G. Coupled Process Modeling of Flow and Transport Phenomena in LCM Processing. Integr Mater Manuf Innov 11, 363–381 (2022).

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI:


  • Liquid composite molding
  • Resin infusion
  • Numerical simulation
  • Volatiles
  • Porosity