def excitation_force(w, z1, z2, diameter, Cm=2): """Calculate the excitation force. Specific for now to vertical cylinders of varying diameter. ``z1``, ``z2``: coordinates of ends of element ``diameter``: array (2 x Npoints) diameter at each z value """ config = { 'end1': [0, 0, z1], 'end2': [0, 0, z2], 'diameter': diameter, 'strip width': 1.0, } Morison_model = ViscousDragModel({ 'inertia coefficient': Cm, 'members': [config], }) X = Morison_model.Morison_inertial_force(w) return X