Created a factory function in the advection base class
Moved the input reading and error handling to the advection class
Implemented the factory function in the diffusion base class
Created factory function for pressure and cleaned up other functions
Implemented the thermo factory
Implemented factory function for the boundary