Code-coupling strategy for efficient development of computer software in multiscale and multiphysics nonlinear evolution problems in computational mechanics
In this work we seek to provide an efficient approach to development of software computational platform for the currently very active research domain of multiphysics and multiscale analysis in fully nonlinear setting. The typical problem to be solved is nonlinear evolution problem, with different scales in space and time. We show here that a successful solution to such a problem requires gathering the sound theoretical formulation, the most appropriate discrete approximation and the efficient numerical implementation. We show in particular that the most efficient numerical implementation is obtained by reusing the existing codes, in order to accelerate the code development and validation. The key element that makes such an approach possible is the Component Template Library (CTL), presented in this work. We show that the CTL allows to seamlessly merge the existing software products into a single code at compilation time, regardless of their heterogeneities in terms of programming language or redundancy in use of local variables. A couple of illustrative problems of fluidstructure interaction and multiscale nonlinear analysis are presented in order to confirm the advantage of the proposed approach.
multiscale multiphysics nonlinear evolution problem software development code coupling monolithic code at linkage time