The paper describes the development and validation of a coupled code for nuclear power systems. It involves the best-estimate system thermal-hydraulic code – TRACE and an open-source CFD code – TrioCFD - based on a standardized interface called ICoCo (Interface for Code Coupling). It is a typical server-client system coordinated by a newly developed C++ supervisor. TRACE is now equipped with a unique ICoCo module, with which, TRACE is subdivided into several functional components and several meshes are developed for the 3D vessel component of TRACE. The coupled code adopts a domain-overlapping approach for the spatial coupling. A 3rd-party library named MEDCoupling handles the mesh interpolation and field mapping. A novel DIAS method (Dynamic-Implicit-Additional-Source) was developed to defines the principles of properly using the translated data from one code to the other. An explicit OS (Operator Splitter) method was developed for the temporal coupling to control the data synchronization during time advancement. The coupled code was validated against a VVER-1000 3D coolant-mixing problem. The temperature distributions at the vessel hot-legs and the core outlet predicted by the coupled code were compared with the TRACE predictions and the measured data as well. The comparison shows that the selected parameters predicted by the coupled code are closer to the experimental data than that of TRACE standalone.