if subunit_charges is None:
            for subunit in self.subunits:
                if subunit.get_charge() is None:
                    raise ValueError('Not all subunits have defined charge')
                charge += subunit.get_charge()