Why is there apparently no general notion of structure-homomorphism? In model theory, one typically defines only embeddings of structures and isomorphisms, but I haven't seen a definition of general structure homomorphisms. Is there some particular reason behind that? Of course, there are a lot of theories whose typical homomorphisms of their respective models don't provide well behaved categories (for example the category of fields), but at least in some special cases (maybe in universally axiomatized theories), it should be possible to apply category-theoretic constructions to the models, which might benefit the theory.
 A: I'm aware of two notions of homomorphism (former I've encountered in my introductory classes to logic and model theory, the latter I've seen in a logic textbook).
The usual one, which I've seen called also strong homomorphism, is a function $\Phi\colon M\to N$ between two structures of the same signature such that:


*

*For any constant symbol $c$ we have $\Phi(c^M)=c^N$.

*For any function symbol $f$ we have $f^N(\Phi(x))=\Phi(f^M(x))$ for all tuples $x$ of suitable length.

*For any relation symbol $r$ we have $r^N(\Phi(x))\iff r^M(x)$ for all tuples $x$ of suitable length.


Then you can define a monomorphism, epimorphism, and isomorphism in the usual manner, and the range of a homomorphism will always be a substructure, and for monomorphisms, the structure will be isomorphic with the initial one. Elementary embedding is just a monomorphism whose range is an elementary submodel.
The other one (weak homomorphism) is where in the third point you only ask for $r^M(x)\implies r^N(\Phi(x))$ (and not the other way around). For algebraic structures those two coincide, of course.
Of course, arbitrary homomorphisms don't preserve first-order properties in general, so they're rarely considered in general model theory, and are not really the natural notion of morphism from pure model-theoretical viewpoint. On the other hand, a monomorphism from a structure to an (elementarily equivalent) structure with quantifier elimination will automatically be an elementary embedding.
Instead, there's the notion of elementary embedding, and maybe more importantly elementary partial function. You probably could define the notion of partial homomorphism, but that would be a rather complicated, recursive definition and I doubt it would really get us closer to elementary functions in general context.
That said, it makes sense to consider the category of models of a given complete theory with elementary maps as morphisms. See for example this article by Lascar.
