100 likes | 236 Views
Fluid and Nutrient Transport in 3D Porous Scaffolds PI: Dimitrios Papavassiliou GS: Roman Voronov. Raghu Reddy PSC. Research Problem. Flow through porous scaffolds PI: Dimitrios Papavassiliou, U of OK Roman Voronov, GS Tissue engineering Bone growth depends on Flow induced shear stress
E N D
Fluid and Nutrient Transport in 3D Porous ScaffoldsPI: Dimitrios PapavassiliouGS: Roman Voronov Raghu Reddy PSC
Research Problem • Flow through porous scaffolds • PI: Dimitrios Papavassiliou, U of OK • Roman Voronov, GS • Tissue engineering • Bone growth depends on • Flow induced shear stress • Nutrient flow • Concurrent experimental investigation done by another research group
Simulation Codes • Codes: Currently two separate codes • LBM for fluid flow • 3D simulation • Micro-CT scan data used for structure • Lagrangian Scalar Tracking (LST) • In development • Plan is to integrate the two codes
Current Status • Currently running LBM on 32 MPI tasks • Debugging detour • Unexpected errors on OPEN • Seemed to indicate possible memory corruption • Currently working around this problem • But can use some code clean up • Profiling runs
TAU (Call-Path) STREAM_BC MPI_Sendrecv
Relative Importance Called repeatedly: STREAM_BC MPI_Sendrecv RHOVEL
Things to be done • Clean up code a little • Too many Allocate/Deallocate ops • MPI_Sendrecv calls • IO being done by all tasks • Need to rethink STREAM_BC • No floating point ops!
Need a better way to do this: (4 DO loops deep) In each of the directions X, Y, Z: KK=K+INT(Ciz(Shift_Number)) IF (KK.GT.global_z_max_ghost) THEN KK=global_z_min_ghost ELSEIF (KK.LT.global_z_min_ghost) THEN KK=global_z_max_ghost ENDIF At the 4th do loop level: IF(…) THEN IF (.NOT.local_walls(I,J,K).AND..NOT.local_walls(II,JJ,KK)) THEN f_temp(Shift_Number,II,JJ,KK ) = f_local(Shift_Number,I,J,K) ELSEIF(.NOT.local_walls(I,J,K).AND.local_walls(II,JJ,KK)) THEN f_temp(Mirror_Shift_Direction(Shift_Number),II,JJ,KK ) = f_local(Shift_Number,I,J,K) ELSEIF(local_walls(I,J,K).AND..NOT.local_walls(II,JJ,KK)) THEN f_temp(Shift_Number,II,JJ,KK ) = f_local(Shift_Number,I,J,K) ENDIF END IF
Questions? • Thank you!