Here we describe a typical way a user might use Zoltan2 for partitioning.
Create a Zoltan2::InputAdapter object for your data. This adapter provides a uniform interface to user data for the Zoltan2 library. Adapter interfaces exist for the following classes of data:
Zoltan2::MatrixInput (a row oriented matrix with optional row weights)
Zoltan2::VectorInput (a single or multi-vector with optional weights, also used for geometric coordinates)
Zoltan2::IdentifierInput (simple collection of identifiers)
Zoltan2::MeshInput: available soon.
Create a Teuchos::ParameterList with your Zoltan2 parameters. If you are using a third party library (PT-Scotch, ParMetis) you can include a sublist of parameters for this library. See z2_parameters for a detailed list of parameters.
Create a Zoltan2::PartitioningProblem. It is templated on your Zoltan2::InputAdapter type. The constructor arguments are typically your input adapter and your parameter list.