3D printed power-generating tubes