Topographic steering of waves and currents is one of the most important issues of the general ocean circulation. Its representation in ocean models depends on the spatial discretization, which heavily influences the ocean circulation even on the global scale. Models capable of working on unstructured grids allow to represent topography and coastlines continuously and to refine mesh locally. Finite Element Ocean circulation Model (FEOM) belongs to this class of ocean general circulation models. Its discretization is based on unstructured triangular meshes on the surface and prismatic elements in the volume. The model uses continuous linear representation for the horizontal velocity, surface elevation, temperature and salinity, and solves the standard set of hydrostatic primitive equations. The method to stabilize the numerical pressure modes and the implementation of hybrid vertical grids are discussed. The model supports hybrid vertical grids including z and σ grids and their combination within the same numerical kernel. A method for calculating pressure gradient forces is introduced to reduce pressure gradient errors on inclined computational surfaces. Its performance is assessed via numerical experiments. The influence of different vertical discretization is illustrated using a seamount configuration. The model is MPI parallelized and has the functionality required for ocean general circulation modeling. It can be used as an efficient and versatile numerical tool for regional and global oceanographic applications and climate studies.