Features are used in computer aided geometric modeling to encapsulate primitive and lower-abstraction entities to compose higher-level complex entities in order to support faster modeling, consistent data structures between features within the model, and feature-level reasoning that extends beyond reasoning supported by the primitives. In this paper, this idea is extended to computer-aided function modeling. Four function modeling features, which mainly operate on material flows but also involved energy flows, are formally defined. These features are: (1) Convergize_EM, (2) Handover_E, (3) Change_M, and (4) Changeover_EM. Each feature is composed of formerly established functional primitives that are formally defined, and by connecting those primitives in a controlled topology enforced by a feature-level grammar. The ability of these features to support consistent function modeling and model-based reasoning is illustrated using applications, both at the device level (simpler models) and at the system level (more complex models).