def get_vdW_settings(self):
        '''Determine the vdW type if using vdW xc functional or correction
        scheme from the input otherwise'''
        xc = self.get_xc_functional().scalars[0].value
        if 'vdw' in xc.lower(): # vdW xc functional
            return Value(scalars=[Scalar(value=xc)])
        else:
            # look for vdw_corr in input
            vdW_dict = {'xdm':'Becke-Johnson XDM', 'ts':
                        'Tkatchenko-Scheffler', 'ts-vdw':
                        'Tkatchenko-Scheffler',
                        'tkatchenko-scheffler':
                        'Tkatchenko-Scheffler', 'grimme-d2': 'Grimme D2', 'dft-d': 'Grimme D2'}
            if self._get_line('vdw_corr', self.inputf, return_string=False, case_sens=False):
                line = self._get_line('vdw_corr', self.inputf, return_string=True, case_sens=False)
                vdwkey = str(line.split('=')[-1].replace("'", "").replace(',', '').lower().rstrip())
                return Value(scalars=[Scalar(value=vdW_dict[vdwkey])])
            return None