def calculate_elementary_vectors(cobra_model, opts=None, verbose=True,
                                 java_args=None, extra_g=None, extra_h=None):
    """Calculate elementary flux vectors, which capture arbitrary linear
    constraints. Approach as detailed in S. Klamt et al., PLoS Comput Biol. 13,
    e1005409–22 (2017).

    Augmented constraints as a hacky workaround for implementing more
    complicated constraints without using optlang.

    java_args: string
        Extra command-line options to pass to the java virtual machine.
        Eg. '-Xmx1g' will set the heap space to 1 GB.