<?xml version="1.0" encoding="utf-8"?>
<wsdl:definitions xmlns:s="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://turbulence.pha.jhu.edu/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tm="http://microsoft.com/wsdl/mime/textMatching/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://turbulence.pha.jhu.edu/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
  <wsdl:types>
    <s:schema elementFormDefault="qualified" targetNamespace="http://turbulence.pha.jhu.edu/">
      <s:element name="NullOp">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="authToken" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="points" type="tns:ArrayOfPoint3" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfPoint3">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Point3" type="tns:Point3" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Point3">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="x" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="y" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="z" type="s:float" />
        </s:sequence>
      </s:complexType>
      <s:element name="NullOpResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="NullOpResult" type="tns:ArrayOfVector3" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfVector3">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Vector3" type="tns:Vector3" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Vector3">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="x" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="y" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="z" type="s:float" />
        </s:sequence>
      </s:complexType>
      <s:element name="GetVelocity">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="authToken" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="dataset" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="time" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="spatialInterpolation" type="tns:SpatialInterpolation" />
            <s:element minOccurs="1" maxOccurs="1" name="temporalInterpolation" type="tns:TemporalInterpolation" />
            <s:element minOccurs="0" maxOccurs="1" name="points" type="tns:ArrayOfPoint3" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:simpleType name="SpatialInterpolation">
        <s:restriction base="s:string">
          <s:enumeration value="None" />
          <s:enumeration value="None_Fd4" />
          <s:enumeration value="None_Fd6" />
          <s:enumeration value="None_Fd8" />
          <s:enumeration value="Fd4Lag4" />
          <s:enumeration value="Lag4" />
          <s:enumeration value="Lag6" />
          <s:enumeration value="Lag8" />
        </s:restriction>
      </s:simpleType>
      <s:simpleType name="TemporalInterpolation">
        <s:restriction base="s:string">
          <s:enumeration value="None" />
          <s:enumeration value="PCHIP" />
        </s:restriction>
      </s:simpleType>
      <s:element name="GetVelocityResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetVelocityResult" type="tns:ArrayOfVector3" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetForce">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="authToken" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="dataset" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="time" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="spatialInterpolation" type="tns:SpatialInterpolation" />
            <s:element minOccurs="1" maxOccurs="1" name="temporalInterpolation" type="tns:TemporalInterpolation" />
            <s:element minOccurs="0" maxOccurs="1" name="points" type="tns:ArrayOfPoint3" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetForceResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetForceResult" type="tns:ArrayOfVector3" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetVelocityAndPressure">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="authToken" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="dataset" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="time" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="spatialInterpolation" type="tns:SpatialInterpolation" />
            <s:element minOccurs="1" maxOccurs="1" name="temporalInterpolation" type="tns:TemporalInterpolation" />
            <s:element minOccurs="0" maxOccurs="1" name="points" type="tns:ArrayOfPoint3" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetVelocityAndPressureResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetVelocityAndPressureResult" type="tns:ArrayOfVector3P" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfVector3P">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="Vector3P" type="tns:Vector3P" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="Vector3P">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="x" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="y" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="z" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="p" type="s:float" />
        </s:sequence>
      </s:complexType>
      <s:element name="GetVelocityGradient">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="authToken" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="dataset" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="time" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="spatialInterpolation" type="tns:SpatialInterpolation" />
            <s:element minOccurs="1" maxOccurs="1" name="temporalInterpolation" type="tns:TemporalInterpolation" />
            <s:element minOccurs="0" maxOccurs="1" name="points" type="tns:ArrayOfPoint3" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetVelocityGradientResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetVelocityGradientResult" type="tns:ArrayOfVelocityGradient" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfVelocityGradient">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="VelocityGradient" type="tns:VelocityGradient" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="VelocityGradient">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="duxdx" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="duxdy" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="duxdz" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="duydx" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="duydy" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="duydz" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="duzdx" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="duzdy" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="duzdz" type="s:float" />
        </s:sequence>
      </s:complexType>
      <s:element name="GetPressureGradient">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="authToken" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="dataset" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="time" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="spatialInterpolation" type="tns:SpatialInterpolation" />
            <s:element minOccurs="1" maxOccurs="1" name="temporalInterpolation" type="tns:TemporalInterpolation" />
            <s:element minOccurs="0" maxOccurs="1" name="points" type="tns:ArrayOfPoint3" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetPressureGradientResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetPressureGradientResult" type="tns:ArrayOfVector3" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetPressureHessian">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="authToken" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="dataset" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="time" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="spatialInterpolation" type="tns:SpatialInterpolation" />
            <s:element minOccurs="1" maxOccurs="1" name="temporalInterpolation" type="tns:TemporalInterpolation" />
            <s:element minOccurs="0" maxOccurs="1" name="points" type="tns:ArrayOfPoint3" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetPressureHessianResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetPressureHessianResult" type="tns:ArrayOfPressureHessian" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfPressureHessian">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="PressureHessian" type="tns:PressureHessian" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="PressureHessian">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="d2pdxdx" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="d2pdxdy" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="d2pdxdz" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="d2pdydy" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="d2pdydz" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="d2pdzdz" type="s:float" />
        </s:sequence>
      </s:complexType>
      <s:element name="GetVelocityHessian">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="authToken" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="dataset" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="time" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="spatialInterpolation" type="tns:SpatialInterpolation" />
            <s:element minOccurs="1" maxOccurs="1" name="temporalInterpolation" type="tns:TemporalInterpolation" />
            <s:element minOccurs="0" maxOccurs="1" name="points" type="tns:ArrayOfPoint3" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetVelocityHessianResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetVelocityHessianResult" type="tns:ArrayOfVelocityHessian" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfVelocityHessian">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="VelocityHessian" type="tns:VelocityHessian" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="VelocityHessian">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="d2uxdxdx" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="d2uxdxdy" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="d2uxdxdz" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="d2uxdydy" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="d2uxdydz" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="d2uxdzdz" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="d2uydxdx" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="d2uydxdy" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="d2uydxdz" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="d2uydydy" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="d2uydydz" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="d2uydzdz" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="d2uzdxdx" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="d2uzdxdy" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="d2uzdxdz" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="d2uzdydy" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="d2uzdydz" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="d2uzdzdz" type="s:float" />
        </s:sequence>
      </s:complexType>
      <s:element name="GetVelocityLaplacian">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="authToken" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="dataset" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="time" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="spatialInterpolation" type="tns:SpatialInterpolation" />
            <s:element minOccurs="1" maxOccurs="1" name="temporalInterpolation" type="tns:TemporalInterpolation" />
            <s:element minOccurs="0" maxOccurs="1" name="points" type="tns:ArrayOfPoint3" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetVelocityLaplacianResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetVelocityLaplacianResult" type="tns:ArrayOfVector3" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetBoxFilterVelocity">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="authToken" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="dataset" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="time" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="filterlength" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="nlayers" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="temporalInterpolation" type="tns:TemporalInterpolation" />
            <s:element minOccurs="0" maxOccurs="1" name="points" type="tns:ArrayOfPoint3" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetBoxFilterVelocityResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetBoxFilterVelocityResult" type="tns:ArrayOfVector3" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetBoxFilterPressure">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="authToken" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="dataset" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="time" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="filterlength" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="nlayers" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="temporalInterpolation" type="tns:TemporalInterpolation" />
            <s:element minOccurs="0" maxOccurs="1" name="points" type="tns:ArrayOfPoint3" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetBoxFilterPressureResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetBoxFilterPressureResult" type="tns:ArrayOfFloat" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfFloat">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="float" type="s:float" />
        </s:sequence>
      </s:complexType>
      <s:element name="GetBoxFilterVelocityGradient">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="authToken" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="dataset" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="time" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="filterlength" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="nlayers" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="temporalInterpolation" type="tns:TemporalInterpolation" />
            <s:element minOccurs="0" maxOccurs="1" name="points" type="tns:ArrayOfPoint3" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetBoxFilterVelocityGradientResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetBoxFilterVelocityGradientResult" type="tns:ArrayOfVelocityGradient" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetBoxFilterSGSStress">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="authToken" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="dataset" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="time" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="filterlength" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="nlayers" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="temporalInterpolation" type="tns:TemporalInterpolation" />
            <s:element minOccurs="0" maxOccurs="1" name="points" type="tns:ArrayOfPoint3" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetBoxFilterSGSStressResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetBoxFilterSGSStressResult" type="tns:ArrayOfSGSStress" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:complexType name="ArrayOfSGSStress">
        <s:sequence>
          <s:element minOccurs="0" maxOccurs="unbounded" name="SGSStress" type="tns:SGSStress" />
        </s:sequence>
      </s:complexType>
      <s:complexType name="SGSStress">
        <s:sequence>
          <s:element minOccurs="1" maxOccurs="1" name="xx" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="yy" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="zz" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="xy" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="xz" type="s:float" />
          <s:element minOccurs="1" maxOccurs="1" name="yz" type="s:float" />
        </s:sequence>
      </s:complexType>
      <s:element name="GetPositionInertialParticle">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="authToken" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="dataset" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="StartTime" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="EndTime" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="Tp" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="spatialInterpolation" type="tns:SpatialInterpolation" />
            <s:element minOccurs="0" maxOccurs="1" name="points" type="tns:ArrayOfPoint3" />
            <s:element minOccurs="0" maxOccurs="1" name="InitialV" type="tns:ArrayOfVector3" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetPositionInertialParticleResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetPositionInertialParticleResult" type="tns:ArrayOfPoint3" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetPosition">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="authToken" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="dataset" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="StartTime" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="dt" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="nt" type="s:int" />
            <s:element minOccurs="1" maxOccurs="1" name="spatialInterpolation" type="tns:SpatialInterpolation" />
            <s:element minOccurs="0" maxOccurs="1" name="points" type="tns:ArrayOfPoint3" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetPositionResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetPositionResult" type="tns:ArrayOfPoint3" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetPositionParticleControl">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="authToken" type="s:string" />
            <s:element minOccurs="0" maxOccurs="1" name="dataset" type="s:string" />
            <s:element minOccurs="1" maxOccurs="1" name="StartTime" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="EndTime" type="s:float" />
            <s:element minOccurs="1" maxOccurs="1" name="spatialInterpolation" type="tns:SpatialInterpolation" />
            <s:element minOccurs="0" maxOccurs="1" name="points" type="tns:ArrayOfPoint3" />
          </s:sequence>
        </s:complexType>
      </s:element>
      <s:element name="GetPositionParticleControlResponse">
        <s:complexType>
          <s:sequence>
            <s:element minOccurs="0" maxOccurs="1" name="GetPositionParticleControlResult" type="tns:ArrayOfPoint3" />
          </s:sequence>
        </s:complexType>
      </s:element>
    </s:schema>
  </wsdl:types>
  <wsdl:message name="NullOpSoapIn">
    <wsdl:part name="parameters" element="tns:NullOp" />
  </wsdl:message>
  <wsdl:message name="NullOpSoapOut">
    <wsdl:part name="parameters" element="tns:NullOpResponse" />
  </wsdl:message>
  <wsdl:message name="GetVelocitySoapIn">
    <wsdl:part name="parameters" element="tns:GetVelocity" />
  </wsdl:message>
  <wsdl:message name="GetVelocitySoapOut">
    <wsdl:part name="parameters" element="tns:GetVelocityResponse" />
  </wsdl:message>
  <wsdl:message name="GetForceSoapIn">
    <wsdl:part name="parameters" element="tns:GetForce" />
  </wsdl:message>
  <wsdl:message name="GetForceSoapOut">
    <wsdl:part name="parameters" element="tns:GetForceResponse" />
  </wsdl:message>
  <wsdl:message name="GetVelocityAndPressureSoapIn">
    <wsdl:part name="parameters" element="tns:GetVelocityAndPressure" />
  </wsdl:message>
  <wsdl:message name="GetVelocityAndPressureSoapOut">
    <wsdl:part name="parameters" element="tns:GetVelocityAndPressureResponse" />
  </wsdl:message>
  <wsdl:message name="GetVelocityGradientSoapIn">
    <wsdl:part name="parameters" element="tns:GetVelocityGradient" />
  </wsdl:message>
  <wsdl:message name="GetVelocityGradientSoapOut">
    <wsdl:part name="parameters" element="tns:GetVelocityGradientResponse" />
  </wsdl:message>
  <wsdl:message name="GetPressureGradientSoapIn">
    <wsdl:part name="parameters" element="tns:GetPressureGradient" />
  </wsdl:message>
  <wsdl:message name="GetPressureGradientSoapOut">
    <wsdl:part name="parameters" element="tns:GetPressureGradientResponse" />
  </wsdl:message>
  <wsdl:message name="GetPressureHessianSoapIn">
    <wsdl:part name="parameters" element="tns:GetPressureHessian" />
  </wsdl:message>
  <wsdl:message name="GetPressureHessianSoapOut">
    <wsdl:part name="parameters" element="tns:GetPressureHessianResponse" />
  </wsdl:message>
  <wsdl:message name="GetVelocityHessianSoapIn">
    <wsdl:part name="parameters" element="tns:GetVelocityHessian" />
  </wsdl:message>
  <wsdl:message name="GetVelocityHessianSoapOut">
    <wsdl:part name="parameters" element="tns:GetVelocityHessianResponse" />
  </wsdl:message>
  <wsdl:message name="GetVelocityLaplacianSoapIn">
    <wsdl:part name="parameters" element="tns:GetVelocityLaplacian" />
  </wsdl:message>
  <wsdl:message name="GetVelocityLaplacianSoapOut">
    <wsdl:part name="parameters" element="tns:GetVelocityLaplacianResponse" />
  </wsdl:message>
  <wsdl:message name="GetBoxFilterVelocitySoapIn">
    <wsdl:part name="parameters" element="tns:GetBoxFilterVelocity" />
  </wsdl:message>
  <wsdl:message name="GetBoxFilterVelocitySoapOut">
    <wsdl:part name="parameters" element="tns:GetBoxFilterVelocityResponse" />
  </wsdl:message>
  <wsdl:message name="GetBoxFilterPressureSoapIn">
    <wsdl:part name="parameters" element="tns:GetBoxFilterPressure" />
  </wsdl:message>
  <wsdl:message name="GetBoxFilterPressureSoapOut">
    <wsdl:part name="parameters" element="tns:GetBoxFilterPressureResponse" />
  </wsdl:message>
  <wsdl:message name="GetBoxFilterVelocityGradientSoapIn">
    <wsdl:part name="parameters" element="tns:GetBoxFilterVelocityGradient" />
  </wsdl:message>
  <wsdl:message name="GetBoxFilterVelocityGradientSoapOut">
    <wsdl:part name="parameters" element="tns:GetBoxFilterVelocityGradientResponse" />
  </wsdl:message>
  <wsdl:message name="GetBoxFilterSGSStressSoapIn">
    <wsdl:part name="parameters" element="tns:GetBoxFilterSGSStress" />
  </wsdl:message>
  <wsdl:message name="GetBoxFilterSGSStressSoapOut">
    <wsdl:part name="parameters" element="tns:GetBoxFilterSGSStressResponse" />
  </wsdl:message>
  <wsdl:message name="GetPositionInertialParticleSoapIn">
    <wsdl:part name="parameters" element="tns:GetPositionInertialParticle" />
  </wsdl:message>
  <wsdl:message name="GetPositionInertialParticleSoapOut">
    <wsdl:part name="parameters" element="tns:GetPositionInertialParticleResponse" />
  </wsdl:message>
  <wsdl:message name="GetPositionSoapIn">
    <wsdl:part name="parameters" element="tns:GetPosition" />
  </wsdl:message>
  <wsdl:message name="GetPositionSoapOut">
    <wsdl:part name="parameters" element="tns:GetPositionResponse" />
  </wsdl:message>
  <wsdl:message name="GetPositionParticleControlSoapIn">
    <wsdl:part name="parameters" element="tns:GetPositionParticleControl" />
  </wsdl:message>
  <wsdl:message name="GetPositionParticleControlSoapOut">
    <wsdl:part name="parameters" element="tns:GetPositionParticleControlResponse" />
  </wsdl:message>
  <wsdl:portType name="TurbulenceServiceSoap">
    <wsdl:operation name="NullOp">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Perform a null operation -- for testing throughput</wsdl:documentation>
      <wsdl:input message="tns:NullOpSoapIn" />
      <wsdl:output message="tns:NullOpSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetVelocity">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Spatially interpolate the velocity at a number of points for a given time.</wsdl:documentation>
      <wsdl:input message="tns:GetVelocitySoapIn" />
      <wsdl:output message="tns:GetVelocitySoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetForce">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">[UNDER DEVELOPMENT] Retrieve the force for a number of points for a given time.</wsdl:documentation>
      <wsdl:input message="tns:GetForceSoapIn" />
      <wsdl:output message="tns:GetForceSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetVelocityAndPressure">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Spatially interpolate the velocity for an array of points</wsdl:documentation>
      <wsdl:input message="tns:GetVelocityAndPressureSoapIn" />
      <wsdl:output message="tns:GetVelocityAndPressureSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetVelocityGradient">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Retrieve the velocity gradient at a fixed location</wsdl:documentation>
      <wsdl:input message="tns:GetVelocityGradientSoapIn" />
      <wsdl:output message="tns:GetVelocityGradientSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetPressureGradient">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Retrieve the pressure gradient at a fixed location</wsdl:documentation>
      <wsdl:input message="tns:GetPressureGradientSoapIn" />
      <wsdl:output message="tns:GetPressureGradientSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetPressureHessian">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Retrieve the pressure hessian at a fixed location</wsdl:documentation>
      <wsdl:input message="tns:GetPressureHessianSoapIn" />
      <wsdl:output message="tns:GetPressureHessianSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetVelocityHessian">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Retrieve the velocity hessian at a fixed location</wsdl:documentation>
      <wsdl:input message="tns:GetVelocityHessianSoapIn" />
      <wsdl:output message="tns:GetVelocityHessianSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetVelocityLaplacian">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">Retrieve the velocity laplacian at a fixed location</wsdl:documentation>
      <wsdl:input message="tns:GetVelocityLaplacianSoapIn" />
      <wsdl:output message="tns:GetVelocityLaplacianSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetBoxFilterVelocity">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">BoxFilterForVelocity</wsdl:documentation>
      <wsdl:input message="tns:GetBoxFilterVelocitySoapIn" />
      <wsdl:output message="tns:GetBoxFilterVelocitySoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetBoxFilterPressure">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">BoxFilterForPressure</wsdl:documentation>
      <wsdl:input message="tns:GetBoxFilterPressureSoapIn" />
      <wsdl:output message="tns:GetBoxFilterPressureSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetBoxFilterVelocityGradient">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">BoxFilterForVelocityGradient</wsdl:documentation>
      <wsdl:input message="tns:GetBoxFilterVelocityGradientSoapIn" />
      <wsdl:output message="tns:GetBoxFilterVelocityGradientSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetBoxFilterSGSStress">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">BoxFilterForSubGridScaleStress</wsdl:documentation>
      <wsdl:input message="tns:GetBoxFilterSGSStressSoapIn" />
      <wsdl:output message="tns:GetBoxFilterSGSStressSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetPositionInertialParticle">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">[UNDER DEVELOPMENT] GetPositionInertialParticle</wsdl:documentation>
      <wsdl:input message="tns:GetPositionInertialParticleSoapIn" />
      <wsdl:output message="tns:GetPositionInertialParticleSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetPosition">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">[UNDER DEVELOPMENT] FluidParticleTracking</wsdl:documentation>
      <wsdl:input message="tns:GetPositionSoapIn" />
      <wsdl:output message="tns:GetPositionSoapOut" />
    </wsdl:operation>
    <wsdl:operation name="GetPositionParticleControl">
      <wsdl:documentation xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">[UNDER DEVELOPMENT] GetPositionParticleControl</wsdl:documentation>
      <wsdl:input message="tns:GetPositionParticleControlSoapIn" />
      <wsdl:output message="tns:GetPositionParticleControlSoapOut" />
    </wsdl:operation>
  </wsdl:portType>
  <wsdl:binding name="TurbulenceServiceSoap" type="tns:TurbulenceServiceSoap">
    <soap:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="NullOp">
      <soap:operation soapAction="http://turbulence.pha.jhu.edu/NullOp" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetVelocity">
      <soap:operation soapAction="http://turbulence.pha.jhu.edu/GetVelocity" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetForce">
      <soap:operation soapAction="http://turbulence.pha.jhu.edu/GetForce" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetVelocityAndPressure">
      <soap:operation soapAction="http://turbulence.pha.jhu.edu/GetVelocityAndPressure" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetVelocityGradient">
      <soap:operation soapAction="http://turbulence.pha.jhu.edu/GetVelocityGradient" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetPressureGradient">
      <soap:operation soapAction="http://turbulence.pha.jhu.edu/GetPressureGradient" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetPressureHessian">
      <soap:operation soapAction="http://turbulence.pha.jhu.edu/GetPressureHessian" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetVelocityHessian">
      <soap:operation soapAction="http://turbulence.pha.jhu.edu/GetVelocityHessian" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetVelocityLaplacian">
      <soap:operation soapAction="http://turbulence.pha.jhu.edu/GetVelocityLaplacian" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetBoxFilterVelocity">
      <soap:operation soapAction="http://turbulence.pha.jhu.edu/GetBoxFilterVelocity" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetBoxFilterPressure">
      <soap:operation soapAction="http://turbulence.pha.jhu.edu/GetBoxFilterPressure" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetBoxFilterVelocityGradient">
      <soap:operation soapAction="http://turbulence.pha.jhu.edu/GetBoxFilterVelocityGradient" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetBoxFilterSGSStress">
      <soap:operation soapAction="http://turbulence.pha.jhu.edu/GetBoxFilterSGSStress" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetPositionInertialParticle">
      <soap:operation soapAction="http://turbulence.pha.jhu.edu/GetPositionInertialParticle" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetPosition">
      <soap:operation soapAction="http://turbulence.pha.jhu.edu/GetPosition" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetPositionParticleControl">
      <soap:operation soapAction="http://turbulence.pha.jhu.edu/GetPositionParticleControl" style="document" />
      <wsdl:input>
        <soap:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:binding name="TurbulenceServiceSoap12" type="tns:TurbulenceServiceSoap">
    <soap12:binding transport="http://schemas.xmlsoap.org/soap/http" />
    <wsdl:operation name="NullOp">
      <soap12:operation soapAction="http://turbulence.pha.jhu.edu/NullOp" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetVelocity">
      <soap12:operation soapAction="http://turbulence.pha.jhu.edu/GetVelocity" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetForce">
      <soap12:operation soapAction="http://turbulence.pha.jhu.edu/GetForce" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetVelocityAndPressure">
      <soap12:operation soapAction="http://turbulence.pha.jhu.edu/GetVelocityAndPressure" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetVelocityGradient">
      <soap12:operation soapAction="http://turbulence.pha.jhu.edu/GetVelocityGradient" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetPressureGradient">
      <soap12:operation soapAction="http://turbulence.pha.jhu.edu/GetPressureGradient" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetPressureHessian">
      <soap12:operation soapAction="http://turbulence.pha.jhu.edu/GetPressureHessian" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetVelocityHessian">
      <soap12:operation soapAction="http://turbulence.pha.jhu.edu/GetVelocityHessian" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetVelocityLaplacian">
      <soap12:operation soapAction="http://turbulence.pha.jhu.edu/GetVelocityLaplacian" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetBoxFilterVelocity">
      <soap12:operation soapAction="http://turbulence.pha.jhu.edu/GetBoxFilterVelocity" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetBoxFilterPressure">
      <soap12:operation soapAction="http://turbulence.pha.jhu.edu/GetBoxFilterPressure" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetBoxFilterVelocityGradient">
      <soap12:operation soapAction="http://turbulence.pha.jhu.edu/GetBoxFilterVelocityGradient" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetBoxFilterSGSStress">
      <soap12:operation soapAction="http://turbulence.pha.jhu.edu/GetBoxFilterSGSStress" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetPositionInertialParticle">
      <soap12:operation soapAction="http://turbulence.pha.jhu.edu/GetPositionInertialParticle" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetPosition">
      <soap12:operation soapAction="http://turbulence.pha.jhu.edu/GetPosition" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
    <wsdl:operation name="GetPositionParticleControl">
      <soap12:operation soapAction="http://turbulence.pha.jhu.edu/GetPositionParticleControl" style="document" />
      <wsdl:input>
        <soap12:body use="literal" />
      </wsdl:input>
      <wsdl:output>
        <soap12:body use="literal" />
      </wsdl:output>
    </wsdl:operation>
  </wsdl:binding>
  <wsdl:service name="TurbulenceService">
    <wsdl:port name="TurbulenceServiceSoap" binding="tns:TurbulenceServiceSoap">
      <soap:address location="http://turbulence.pha.jhu.edu/service/turbulence.asmx" />
    </wsdl:port>
    <wsdl:port name="TurbulenceServiceSoap12" binding="tns:TurbulenceServiceSoap12">
      <soap12:address location="http://turbulence.pha.jhu.edu/service/turbulence.asmx" />
    </wsdl:port>
  </wsdl:service>
</wsdl:definitions>