gets things to actually work, simulate wells
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,2 +1,2 @@
|
||||
|
||||
codegen/*
|
||||
*.m~
|
||||
|
||||
@@ -1,91 +0,0 @@
|
||||
classdef AnalogInput < handle
|
||||
properties
|
||||
mux;
|
||||
channel;
|
||||
rawValue;
|
||||
lastValue;
|
||||
lastStored=0;
|
||||
rawMax,rawMin,euMax,euMin;
|
||||
history=zeros(1, 100, 'double');
|
||||
badReads=0;
|
||||
|
||||
end
|
||||
|
||||
properties(Access=private)
|
||||
m,b;
|
||||
histi;
|
||||
end
|
||||
|
||||
methods
|
||||
function obj = AnalogInput(mux, channel, rawMin, rawMax, euMin, euMax)
|
||||
obj.mux = mux;
|
||||
obj.channel = channel;
|
||||
obj.rawMin = double(rawMin);
|
||||
obj.rawMax = double(rawMax);
|
||||
obj.euMin = double(euMin);
|
||||
obj.euMax = double(euMax);
|
||||
obj.histi = 0;
|
||||
|
||||
obj.m = (obj.euMax - obj.euMin) / (obj.rawMax - obj.rawMin);
|
||||
obj.b = obj.euMax - obj.m * (obj.rawMax);
|
||||
end
|
||||
|
||||
function value = setValue(obj, inValue)
|
||||
obj.histi = obj.histi + 1;
|
||||
obj.rawValue = inValue;
|
||||
value = obj.m * inValue + obj.b;
|
||||
obj.lastValue = value;
|
||||
obj.lastStored = now;
|
||||
|
||||
% Store value in history array
|
||||
histTemp = obj.history(1:end-1);
|
||||
obj.history(2:end) = histTemp;
|
||||
obj.history(1) = value;
|
||||
end
|
||||
|
||||
function value = read(obj)
|
||||
value = obj.lastValue;
|
||||
rawIn = obj.mux.readAnalogSPI();
|
||||
if (rawIn ~= -1)
|
||||
obj.badReads = 0;
|
||||
value = obj.setValue(double(rawIn));
|
||||
else
|
||||
obj.badReads = obj.badReads + 1;
|
||||
end
|
||||
|
||||
if (obj.badReads > 10)
|
||||
pause(0.010);
|
||||
end
|
||||
end
|
||||
|
||||
function value = readSim(obj, simRaw)
|
||||
value = obj.m * simRaw + obj.b;
|
||||
obj.lastValue = value;
|
||||
obj.lastStored = now;
|
||||
obj.history = [value, obj.history(1:end-1)];
|
||||
end
|
||||
end
|
||||
|
||||
methods(Static)
|
||||
function test
|
||||
loops = 25;
|
||||
pi = raspi('10.0.0.106', 'pi', 'HenryPump@1903');
|
||||
mux = MuxSetup(pi);
|
||||
anInput1 = AnalogInput(mux, 1, 0.0, 65535.0, 0.0, 100.0);
|
||||
anInput2 = AnalogInput(mux, 2, 0.0, 65535.0, 0.0, 100.0);
|
||||
|
||||
ai1 = zeros(1, loops, 'double');
|
||||
ai2 = zeros(1, loops, 'double');
|
||||
|
||||
for i = 1:loops
|
||||
i
|
||||
ai1(i) = anInput1.read();
|
||||
ai2(i) = anInput2.read();
|
||||
end
|
||||
plot(ai1,'DisplayName','ai1');hold on;plot(ai2,'DisplayName','ai2');hold off;
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
@@ -32,19 +32,19 @@ classdef AnalogInputSim < handle
|
||||
obj.rawValue = inValue;
|
||||
value = obj.m * inValue + obj.b;
|
||||
obj.lastValue = value;
|
||||
obj.lastStored = now;
|
||||
% obj.lastStored = now;
|
||||
obj.history = [value, obj.history(1:end-1)];
|
||||
end
|
||||
|
||||
function value = read(obj, simRaw)
|
||||
value = obj.m * simRaw + obj.b;
|
||||
obj.lastValue = value;
|
||||
obj.lastStored = now;
|
||||
|
||||
% Store value in history array
|
||||
histTemp = obj.history(1:end-1);
|
||||
obj.history(2:end) = histTemp;
|
||||
obj.history(1) = value;
|
||||
end
|
||||
function value = read(obj, value)
|
||||
% value = obj.m * simRaw + obj.b;
|
||||
obj.lastValue = value;
|
||||
% obj.lastStored = now;
|
||||
|
||||
% Store value in history array
|
||||
histTemp = obj.history(1:end-1);
|
||||
obj.history(2:end) = histTemp;
|
||||
obj.history(1) = value;
|
||||
end
|
||||
end
|
||||
end
|
||||
67
Card.m
67
Card.m
@@ -9,6 +9,17 @@ classdef Card < handle
|
||||
downholePosition=zeros(1, 1500, 'double');
|
||||
downholeLoad=zeros(1, 1500, 'double');
|
||||
|
||||
|
||||
numRepSlices=200;
|
||||
|
||||
repDownholePosition=zeros(1, 199, 'double');
|
||||
repDownholeLoadTop=zeros(1, 199, 'double');
|
||||
repDownholeLoadBottom=zeros(1, 199, 'double');
|
||||
repSurfacePosition=zeros(1, 199, 'double');
|
||||
repSurfaceLoadTop=zeros(1, 199, 'double');
|
||||
repSurfaceLoadBottom=zeros(1, 199, 'double');
|
||||
|
||||
|
||||
surfacePositionMax=LPPair(0,0);
|
||||
surfacePositionMin=LPPair(0,0);
|
||||
surfaceLoadMax=LPPair(0,0);
|
||||
@@ -50,7 +61,11 @@ classdef Card < handle
|
||||
function obj=Card(strokeNumber)
|
||||
% Initialization Function
|
||||
obj.strokeNumber = strokeNumber;
|
||||
obj.strokeStartTime = now;
|
||||
% obj.strokeStartTime = now;
|
||||
obj.strokeStartTime = 0;
|
||||
obj.topCorner = LPPair(0, 0);
|
||||
obj.bottomCorner = LPPair(0, 0);
|
||||
|
||||
end
|
||||
|
||||
function push(obj, s_pos, s_load, d_pos, d_load)
|
||||
@@ -61,11 +76,12 @@ classdef Card < handle
|
||||
obj.downholeLoad(obj.numPointsUsed) = d_load;
|
||||
end
|
||||
|
||||
function calcStrokeData(obj, numSlices, fluidGradient, rodDepth, ...
|
||||
function calcStrokeData(obj, fluidGradient, rodDepth, ...
|
||||
anchorDepth, tubingCSA, pumpArea, frictionEstimate, ...
|
||||
structuralRating, kFactor, waterBBLRatio, oilBBLRatio, ...
|
||||
gasMCFRatio)
|
||||
obj.calculateSPM();
|
||||
numSlices = obj.numRepSlices;
|
||||
obj.surfacePositionMax = obj.positionMax(obj.surfacePosition, obj.surfaceLoad, obj.numPointsUsed);
|
||||
obj.surfaceLoadMax = obj.loadMax(obj.surfacePosition, obj.surfaceLoad, obj.numPointsUsed);
|
||||
obj.surfacePositionMin = obj.positionMin(obj.surfacePosition, obj.surfaceLoad, obj.numPointsUsed);
|
||||
@@ -88,7 +104,7 @@ classdef Card < handle
|
||||
dhDistanceTop = 0.0;
|
||||
dhDistanceBottom = 0.0;
|
||||
|
||||
for i = 1:numSlices+1
|
||||
for i = 1:numSlices-1
|
||||
suPosTarget = obj.surfacePositionMin.position + (double(i) * dxSurf);
|
||||
dhPosTarget = obj.downholePositionMin.position + (double(i) * dxDown);
|
||||
suLoadAtTargetTop = 0.0;
|
||||
@@ -101,7 +117,7 @@ classdef Card < handle
|
||||
dhLoadAtTargetTop = obj.lineResolve(obj.downholePosition(j), obj.downholePosition(j+1), obj.downholeLoad(j), obj.downholeLoad(j+1), dhPosTarget);
|
||||
end
|
||||
|
||||
if (obj.downholePosition(j) > dhPosTarget && obj.downholePosition(j+1) >= dhPosTarget)
|
||||
if (obj.downholePosition(j) >= dhPosTarget && obj.downholePosition(j+1) < dhPosTarget)
|
||||
dhLoadAtTargetBottom = obj.lineResolve(obj.downholePosition(j), obj.downholePosition(j+1), obj.downholeLoad(j), obj.downholeLoad(j+1), dhPosTarget);
|
||||
end
|
||||
|
||||
@@ -109,10 +125,44 @@ classdef Card < handle
|
||||
suLoadAtTargetTop = obj.lineResolve(obj.surfacePosition(j), obj.surfacePosition(j+1), obj.surfaceLoad(j), obj.surfaceLoad(j+1), suPosTarget);
|
||||
end
|
||||
|
||||
if (obj.surfacePosition(j) > suPosTarget && obj.surfacePosition(j+1) >= suPosTarget)
|
||||
if (obj.surfacePosition(j) >= suPosTarget && obj.surfacePosition(j+1) < suPosTarget)
|
||||
suLoadAtTargetBottom = obj.lineResolve(obj.surfacePosition(j), obj.surfacePosition(j+1), obj.surfaceLoad(j), obj.surfaceLoad(j+1), suPosTarget);
|
||||
end
|
||||
end
|
||||
|
||||
obj.repDownholePosition(i) = dhPosTarget;
|
||||
if (dhLoadAtTargetTop == 0.0) && (i > 1)
|
||||
obj.repDownholeLoadTop(i) = obj.repDownholeLoadTop(i-1);
|
||||
elseif (dhLoadAtTargetTop == 0.0) && (i == 1)
|
||||
obj.repDownholeLoadTop(i) = obj.downholePositionMin.load;
|
||||
else
|
||||
obj.repDownholeLoadTop(i) = dhLoadAtTargetTop;
|
||||
end
|
||||
|
||||
if dhLoadAtTargetBottom == 0.0 && (i > 1)
|
||||
obj.repDownholeLoadBottom(i) = obj.repDownholeLoadBottom(i-1);
|
||||
elseif dhLoadAtTargetBottom == 0.0 && (i == 1)
|
||||
obj.repDownholeLoadBottom(i) = obj.downholePositionMin.load;
|
||||
else
|
||||
obj.repDownholeLoadBottom(i) = dhLoadAtTargetBottom;
|
||||
end
|
||||
|
||||
obj.repSurfacePosition(i) = suPosTarget;
|
||||
if suLoadAtTargetTop == 0.0 && (i > 1)
|
||||
obj.repSurfaceLoadTop(i) = obj.repSurfaceLoadTop(i-1);
|
||||
elseif suLoadAtTargetTop == 0.0 && (i == 1)
|
||||
obj.repSurfaceLoadTop(i) = obj.surfacePositionMin.load;
|
||||
else
|
||||
obj.repSurfaceLoadTop(i) = suLoadAtTargetTop;
|
||||
end
|
||||
|
||||
if suLoadAtTargetBottom == 0.0 && (i > 1)
|
||||
obj.repSurfaceLoadBottom(i) = obj.repSurfaceLoadBottom(i-1);
|
||||
elseif suLoadAtTargetBottom == 0.0 && (i == 1)
|
||||
obj.repSurfaceLoadBottom(i) = obj.surfacePositionMin.load;
|
||||
else
|
||||
obj.repSurfaceLoadBottom(i) = suLoadAtTargetBottom;
|
||||
end
|
||||
|
||||
obj.polishedRodHorsepower = obj.polishedRodHorsepower + (dxSurf / 12.0) * (suLoadAtTargetTop - suLoadAtTargetBottom) * (obj.strokeSpeed / 33000.0);
|
||||
obj.pumpHorsepower = obj.pumpHorsepower + (dxDown / 12.0) * (dhLoadAtTargetTop - dhLoadAtTargetBottom) * (obj.strokeSpeed / 33000.0);
|
||||
@@ -120,12 +170,12 @@ classdef Card < handle
|
||||
tDistance = obj.distanceToLine(dhPosTarget, dhLoadAtTargetTop);
|
||||
bDistance = obj.distanceToLine(dhPosTarget, dhLoadAtTargetBottom);
|
||||
|
||||
if (tDistance > dhDistanceTop)
|
||||
if (tDistance > dhDistanceTop) && (dhLoadAtTargetTop ~= 0.0)
|
||||
dhDistanceTop = tDistance;
|
||||
obj.topCorner = LPPair(dhPosTarget, dhLoadAtTargetTop);
|
||||
end
|
||||
|
||||
if (bDistance > dhDistanceBottom)
|
||||
if (bDistance > dhDistanceBottom) && (dhLoadAtTargetBottom ~= 0.0)
|
||||
dhDistanceBottom = bDistance;
|
||||
obj.bottomCorner = LPPair(dhPosTarget, dhLoadAtTargetBottom);
|
||||
end
|
||||
@@ -166,7 +216,7 @@ classdef Card < handle
|
||||
end
|
||||
|
||||
function calculateSPM(obj)
|
||||
obj.strokeSpeed = 60000.0 / (now - obj.strokeStartTime);
|
||||
obj.strokeSpeed = 60000.0 / (5000 - obj.strokeStartTime);
|
||||
end
|
||||
|
||||
function dist = distanceToLine(obj, pos, load)
|
||||
@@ -191,6 +241,7 @@ classdef Card < handle
|
||||
|
||||
linkaxes([ax1, ax2], 'x')
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
methods(Static)
|
||||
|
||||
@@ -1,45 +0,0 @@
|
||||
classdef DigitalInput < handle
|
||||
properties
|
||||
mux;
|
||||
channel;
|
||||
value;
|
||||
end
|
||||
|
||||
methods
|
||||
function obj = DigitalInput(mux, channel)
|
||||
obj.channel = channel;
|
||||
obj.mux = mux;
|
||||
end
|
||||
|
||||
function val = read(obj)
|
||||
obj.mux.set(obj.channel);
|
||||
val = obj.mux.readDigital();
|
||||
end
|
||||
end
|
||||
|
||||
methods(Static)
|
||||
function test
|
||||
pi = raspi('10.0.0.104', 'pi', 'HenryPump@1903');
|
||||
mux = MuxSetup(pi);
|
||||
digIn1 = DigitalInput(mux, 1);
|
||||
digIn2 = DigitalInput(mux, 2);
|
||||
digIn3 = DigitalInput(mux, 3);
|
||||
digIn4 = DigitalInput(mux, 4);
|
||||
digIn5 = DigitalInput(mux, 5);
|
||||
digIn6 = DigitalInput(mux, 6);
|
||||
digIn7 = DigitalInput(mux, 7);
|
||||
digIn8 = DigitalInput(mux, 8);
|
||||
|
||||
digIn1Val = digIn1.read()
|
||||
digIn2Val = digIn2.read()
|
||||
digIn3Val = digIn3.read()
|
||||
digIn4Val = digIn4.read()
|
||||
digIn5Val = digIn5.read()
|
||||
digIn6Val = digIn6.read()
|
||||
digIn7Val = digIn7.read()
|
||||
digIn8Val = digIn8.read()
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
@@ -1,76 +0,0 @@
|
||||
classdef DigitalOutput < handle
|
||||
properties
|
||||
channel;
|
||||
dev;
|
||||
end
|
||||
methods
|
||||
function writeOut(obj, value)
|
||||
writeDigitalPin(obj.dev, obj.channel, value);
|
||||
end
|
||||
|
||||
function obj = DigitalOutput(dev, chan)
|
||||
channel = 0;
|
||||
switch chan
|
||||
case 1
|
||||
channel = 21;
|
||||
case 2
|
||||
channel = 20;
|
||||
case 3
|
||||
channel = 16;
|
||||
case 4
|
||||
channel = 12;
|
||||
case 5
|
||||
channel = 25;
|
||||
case 6
|
||||
channel = 24;
|
||||
case 7
|
||||
channel = 23;
|
||||
case 8
|
||||
channel = 18;
|
||||
end
|
||||
configurePin(dev, channel, 'DigitalOutput');
|
||||
obj.dev = dev;
|
||||
obj.channel = channel;
|
||||
end
|
||||
end
|
||||
methods(Static)
|
||||
function test
|
||||
pi = raspi('10.0.0.104', 'pi', 'HenryPump@1903');
|
||||
|
||||
d1 = DigitalOutput(pi, 1);
|
||||
d2 = DigitalOutput(pi, 2);
|
||||
d3 = DigitalOutput(pi, 3);
|
||||
d4 = DigitalOutput(pi, 4);
|
||||
d5 = DigitalOutput(pi, 5);
|
||||
d6 = DigitalOutput(pi, 6);
|
||||
|
||||
d1.writeOut(1);
|
||||
pause(0.250);
|
||||
d2.writeOut(1);
|
||||
pause(0.250);
|
||||
d3.writeOut(1);
|
||||
pause(0.250);
|
||||
d4.writeOut(1);
|
||||
pause(0.250);
|
||||
d5.writeOut(1);
|
||||
pause(0.250);
|
||||
d6.writeOut(1);
|
||||
pause(0.250);
|
||||
|
||||
d1.writeOut(0);
|
||||
pause(0.250);
|
||||
d2.writeOut(0);
|
||||
pause(0.250);
|
||||
d3.writeOut(0);
|
||||
pause(0.250);
|
||||
d4.writeOut(0);
|
||||
pause(0.250);
|
||||
d5.writeOut(0);
|
||||
pause(0.250);
|
||||
d6.writeOut(0);
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
2
LPPair.m
2
LPPair.m
@@ -1,5 +1,5 @@
|
||||
|
||||
classdef LPPair < handle
|
||||
classdef LPPair
|
||||
% Load & Position Pair Class
|
||||
properties
|
||||
load;
|
||||
|
||||
BIN
Melinda252WellTest.mlx
Normal file
BIN
Melinda252WellTest.mlx
Normal file
Binary file not shown.
BIN
Melinda254WellTest.mlx
Normal file
BIN
Melinda254WellTest.mlx
Normal file
Binary file not shown.
87
MongoDB.m
87
MongoDB.m
@@ -1,87 +0,0 @@
|
||||
|
||||
classdef MongoDB < handle
|
||||
properties
|
||||
hostname;
|
||||
username;
|
||||
password;
|
||||
database='poc';
|
||||
port=27017;
|
||||
cardCollection, wellDataCollection, gaugeOffCollection, ...
|
||||
wellTestCollection, fluidShotsCollection, ...
|
||||
runStatusCollection, wellConfigCollection, setpointCollection;
|
||||
end
|
||||
|
||||
methods
|
||||
function obj = Database(hostname, username, password)
|
||||
javaaddpath 'mongo-java-driver-3.4.2.jar';
|
||||
import com.mongodb.*;
|
||||
import com.mongodb.client.model.*;
|
||||
import java.util.Arrays;
|
||||
|
||||
obj.hostname = hostname;
|
||||
obj.username = username;
|
||||
obj.password = password;
|
||||
credential = MongoCredential.createCredential(obj.username, obj.database, obj.password);
|
||||
mongo = MongoClient(Arrays.asList(ServerAddress(obj.hostname, obj.port)), Arrays.asList(credential));
|
||||
|
||||
db = mongo.getDatabase("poc");
|
||||
obj.cardCollection = db.getCollection('cards');
|
||||
% obj.cardCollection.createIndex(Indexes.ascending("timestamp", "strokeNumber"));
|
||||
|
||||
obj.wellDataCollection = db.getCollection("measurements");
|
||||
% obj.wellDataCollection.createIndex(Indexes.ascending("dateStored", "tagName"));
|
||||
|
||||
obj.gaugeOffCollection = db.getCollection("gaugeOff");
|
||||
% obj.gaugeOffCollection.createIndex(Indexes.ascending("timestamp", "tagName"));
|
||||
|
||||
obj.wellTestCollection = db.getCollection("wellTests");
|
||||
% obj.wellTestCollection.createIndex(Indexes.ascending("testStartTime"));
|
||||
|
||||
obj.fluidShotsCollection = db.getCollection("fluidShots");
|
||||
% obj.fluidShotsCollection.createIndex(Indexes.ascending("timestamp"));
|
||||
|
||||
obj.runStatusCollection = db.getCollection("runStatus");
|
||||
% obj.runStatusCollection.createIndex(Indexes.ascending("timestamp"));
|
||||
|
||||
obj.wellConfigCollection = db.getCollection("wellConfiguration");
|
||||
% obj.wellConfigCollection.createIndex(Indexes.ascending("timestamp"));
|
||||
|
||||
obj.setpointCollection = db.getCollection("setpoints");
|
||||
% obj.setpointCollection.createIndex(Indexes.ascending("name"));
|
||||
end
|
||||
|
||||
function lastStroke = getLastStrokeNum(obj)
|
||||
javaaddpath 'mongo-java-driver-3.4.2.jar';
|
||||
import com.mongodb.client.model.*;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
lastStroke = -1;
|
||||
last = Accumulators.last("lastStroke", "$strokeNumber");
|
||||
lastList = java.util.ArrayList;
|
||||
lastList.add(last);
|
||||
group = Aggregates.group("strokeNumber", lastList);
|
||||
groupList = java.util.ArrayList;
|
||||
groupList.add(group);
|
||||
groupListArray = Arrays.asList(groupList);
|
||||
|
||||
cursor = obj.cardCollection.aggregate(groupListArray).iterator();
|
||||
while (cursor.hasNext())
|
||||
docStroke = cursor.next().getLong("lastStroke");
|
||||
if (docStroke > lastStroke)
|
||||
lastStroke = docStroke;
|
||||
end
|
||||
end
|
||||
cursor.close();
|
||||
end
|
||||
end
|
||||
|
||||
methods(Static)
|
||||
function test
|
||||
db = Database('localhost', 'poc_java', 'HenryPump@1903');
|
||||
lastStroke = db.getLastStrokeNum()
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
end
|
||||
63
MuxSetup.m
63
MuxSetup.m
@@ -1,63 +0,0 @@
|
||||
classdef MuxSetup < handle
|
||||
properties(Access=private)
|
||||
mux1Pin=5;
|
||||
mux2Pin=6;
|
||||
mux3Pin=13;
|
||||
digInPin=19;
|
||||
anOutTriggerPin=23;
|
||||
dev;
|
||||
end
|
||||
|
||||
properties
|
||||
setup=[0 0 0; 1 0 0; 0 1 0; 1 1 0; 0 0 1; 1 0 1; 0 1 1; 1 1 1];
|
||||
spiDevice;
|
||||
end
|
||||
|
||||
methods
|
||||
function obj = MuxSetup(dev)
|
||||
obj.dev = dev;
|
||||
configurePin(dev, obj.mux1Pin, 'DigitalOutput');
|
||||
configurePin(dev, obj.mux2Pin, 'DigitalOutput');
|
||||
configurePin(dev, obj.mux3Pin, 'DigitalOutput');
|
||||
configurePin(dev, obj.digInPin, 'DigitalInput');
|
||||
configurePin(dev, obj.anOutTriggerPin, 'DigitalOutput');
|
||||
obj.spiDevice = spidev(dev, 'CE0');
|
||||
end
|
||||
|
||||
function set(obj, channel)
|
||||
% Set the mux up for reading from a channel
|
||||
if (channel > 0) && (channel <= 8)
|
||||
writeDigitalPin(obj.dev, obj.mux1Pin, obj.setup(channel, 1));
|
||||
writeDigitalPin(obj.dev, obj.mux2Pin, obj.setup(channel, 2));
|
||||
writeDigitalPin(obj.dev, obj.mux3Pin, obj.setup(channel, 3));
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
function digInVal = readDigital(obj)
|
||||
% Read the value of a digital input after setting the Mux
|
||||
digInVal = ~readDigitalPin(obj.dev, obj.digInPin);
|
||||
end
|
||||
|
||||
function analogValue = readAnalogSPI(obj)
|
||||
enableSPI(obj.dev);
|
||||
analogValue = -1;
|
||||
analogRaw = writeRead(obj.spiDevice,[hex2dec('00') hex2dec('00') hex2dec('00')]);
|
||||
if (analogRaw(3) == 13)
|
||||
x = uint16(analogRaw(1)) * 256;
|
||||
analogValue = x + uint16(analogRaw(2));
|
||||
end
|
||||
% disableSPI(obj.dev);
|
||||
end
|
||||
end
|
||||
methods(Static)
|
||||
function test
|
||||
pi = raspi('10.0.0.104', 'pi', 'HenryPump@1903');
|
||||
mux = MuxSetup(pi);
|
||||
mux.set(1);
|
||||
mux.readAnalogSPI()
|
||||
mux.set(2);
|
||||
mux.readAnalogSPI()
|
||||
end
|
||||
end
|
||||
end
|
||||
505
Well.m
505
Well.m
@@ -1,372 +1,69 @@
|
||||
classdef Well < handle
|
||||
properties(Constant)
|
||||
% Constants (SHOULD THESE BE ELSEWHERE?)
|
||||
YM_STEEL=30.5;
|
||||
YM_FIBERGLASS=7.2;
|
||||
|
||||
%% Constants (SHOULD THESE BE ELSEWHERE?)
|
||||
DIRECTION_UNKNOWN=0;
|
||||
DIRECTION_UP=1;
|
||||
DIRECTION_DOWN=2;
|
||||
end
|
||||
|
||||
properties
|
||||
wellName;
|
||||
parameters;
|
||||
|
||||
% Instrumentation
|
||||
|
||||
%% Instrumentation
|
||||
device;
|
||||
mux;
|
||||
positionSensor;
|
||||
loadSensor;
|
||||
|
||||
% Current Values
|
||||
currentSurfacePosition,currentSurfaceLoad;
|
||||
currentDownholePosition,currentDownholeLoad;
|
||||
|
||||
%% Current Values
|
||||
currentCard=Card(0);
|
||||
lastCard=Card(0);
|
||||
direction=0;
|
||||
lastDirection=0;
|
||||
|
||||
% User Inputs
|
||||
dt = 1.0 / 30.0;
|
||||
tubingHeadPressure = 40.0;
|
||||
fluidGradient = 0.45;
|
||||
stuffingBoxFriction = 100.0;
|
||||
numTapers = 3;
|
||||
tubingAnchorDepth = 0.0;
|
||||
pumpDiameter = 2.5;
|
||||
pumpArea;
|
||||
tubingInnerDiameter = 1.995;
|
||||
tubingOuterDiameter = 2.375;
|
||||
tubingCrossSectionalArea;
|
||||
structuralRating = 320000;
|
||||
frictionEstimate;
|
||||
|
||||
% Production Parameters
|
||||
%% Production Parameters
|
||||
kFactor=1.0;
|
||||
waterBblRatio=0.90;
|
||||
oilBblRatio=0.10;
|
||||
gasMcfRatio=5.0;
|
||||
|
||||
% Rod String Inputs
|
||||
c;
|
||||
rodLength;
|
||||
rodDiameter;
|
||||
rodYM;
|
||||
rodWeightPerFoot;
|
||||
|
||||
% Calculated Taper Parameters
|
||||
a;
|
||||
area;
|
||||
pressure;
|
||||
stretch;
|
||||
force;
|
||||
alpha;
|
||||
xOverA;
|
||||
factorArray;
|
||||
lagIndex;
|
||||
lengthRequired;
|
||||
centerPoint;
|
||||
count;
|
||||
|
||||
buoyantForceTotal = 0.0;
|
||||
rodDepthTotal = 0.0;
|
||||
rodWeightAirTotal = 0.0;
|
||||
rodWeightFluidTotal = 0.0;
|
||||
|
||||
end
|
||||
|
||||
properties(Access=private)
|
||||
topPosArray;
|
||||
topLoadArray;
|
||||
count;
|
||||
|
||||
% cross-function variables for position and load
|
||||
% POSITION MUST ALWAYS BE CALLED FIRST.
|
||||
loadBefore = 0.0;
|
||||
loadAfter = 0.0;
|
||||
loadBefore3 = 0.0;
|
||||
loadAfter3 = 0.0;
|
||||
tempLoadValue = 0.0;
|
||||
end
|
||||
|
||||
methods
|
||||
function me = Well(name, sim)
|
||||
me.wellName = name;
|
||||
%% Constructor Function
|
||||
function me = Well(dt, rodLengths, rodDiameters, ...
|
||||
rodMaterials, rodDampingFactors, tubingHeadPressure, ...
|
||||
stuffingBoxFriction, fluidGradient, pumpDiameter, ...
|
||||
tubingOuterDiameter, tubingInnerDiameter, tubingAnchorDepth, ...
|
||||
structuralRating)
|
||||
|
||||
me.parameters = wellSetup(dt, rodLengths, rodDiameters, ...
|
||||
rodMaterials, rodDampingFactors, tubingHeadPressure, ...
|
||||
stuffingBoxFriction, fluidGradient, pumpDiameter, tubingOuterDiameter, ...
|
||||
tubingInnerDiameter, tubingAnchorDepth, structuralRating);
|
||||
|
||||
me.c = [0.8 0.8 0.8];
|
||||
me.rodLength = [1475.0 1525.0 2000.0];
|
||||
me.rodDiameter = [1.0 0.875 0.750];
|
||||
me.rodYM = [me.YM_STEEL me.YM_STEEL me.YM_STEEL];
|
||||
me.rodWeightPerFoot = [Well.lookupRodWeightPerFoot(me.rodYM(1), me.rodDiameter(1)) ...
|
||||
Well.lookupRodWeightPerFoot(me.rodYM(2), me.rodDiameter(2)) ...
|
||||
Well.lookupRodWeightPerFoot(me.rodYM(3), me.rodDiameter(3))];
|
||||
me.topPosArray = zeros(me.parameters.numTapers+1, 100);
|
||||
me.topLoadArray = zeros(me.parameters.numTapers+1, 100);
|
||||
me.count = zeros(1, me.parameters.numTapers);
|
||||
|
||||
% Initialize
|
||||
me.a = zeros(1, me.numTapers, 'double');
|
||||
me.area = zeros(1, me.numTapers+1, 'double');
|
||||
me.pressure = zeros(1, me.numTapers, 'double');
|
||||
me.stretch = zeros(1, me.numTapers, 'double');
|
||||
me.force = zeros(1, me.numTapers, 'double');
|
||||
me.alpha = zeros(1, me.numTapers, 'double');
|
||||
me.xOverA = zeros(1, me.numTapers, 'double');
|
||||
me.factorArray = zeros(1, me.numTapers, 'double');
|
||||
me.lagIndex = zeros(1, me.numTapers, 'uint8');
|
||||
me.lengthRequired = zeros(1, me.numTapers, 'uint8');
|
||||
me.centerPoint = zeros(1, me.numTapers, 'uint8');
|
||||
me.count = zeros(1, me.numTapers, 'uint8');
|
||||
me.topPosArray = zeros(10, 250,'double');
|
||||
me.topLoadArray = zeros(10, 250, 'double');
|
||||
me.device = 0;
|
||||
me.mux = MuxSetupSim(me.device);
|
||||
me.positionSensor = AnalogInputSim(me.mux, 1, 0.0, 65535.0, 0.0, 65535.0);
|
||||
me.loadSensor = AnalogInputSim(me.mux, 2, 0.0, 65535.0, 0.0, 65535.0);
|
||||
|
||||
if logical(sim)
|
||||
me.device = 0;
|
||||
me.mux = MuxSetupSim(me.device);
|
||||
me.positionSensor = AnalogInputSim(me.mux, 1, 0.0, 65535.0, 0.0, 65535.0);
|
||||
me.loadSensor = AnalogInputSim(me.mux, 2, 0.0, 65535.0, 0.0, 65535.0);
|
||||
else
|
||||
me.device = raspi('10.0.0.106', 'pi', 'HenryPump@1903');
|
||||
me.mux = MuxSetupSim(me.device);
|
||||
me.positionSensor = AnalogInput(mux, 1, 0.0, 65535.0, 0.0, 140.0);
|
||||
me.loadSensor = AnalogInput(mux, 2, 0.0, 65535.0, 0.0, 50000.0);
|
||||
end
|
||||
|
||||
me.wellSetup();
|
||||
end
|
||||
|
||||
function wellSetup(me)
|
||||
me.tubingCrossSectionalArea = (pi / 4) * ...
|
||||
(power(me.tubingOuterDiameter, 2) - ...
|
||||
power(me.tubingInnerDiameter,2));
|
||||
me.pumpArea = power(me.pumpDiameter, 2) * pi;
|
||||
|
||||
for i = 1:me.numTapers
|
||||
me.area(i) = pi / 4 * power(me.rodDiameter(i), 2);
|
||||
end
|
||||
|
||||
for i = 1:me.numTapers
|
||||
me.a(i) = 1000.0 * sqrt(32.2 * me.rodYM(i) * me.area(i) / me.rodWeightPerFoot(i));
|
||||
me.rodDepthTotal = me.rodDepthTotal + me.rodLength(i);
|
||||
|
||||
if i > 1
|
||||
me.pressure(i) = me.pressure(i - 1) + me.fluidGradient * me.rodLength(i);
|
||||
else
|
||||
me.pressure(i) = me.tubingHeadPressure + me.fluidGradient * me.rodLength(i);
|
||||
end
|
||||
|
||||
me.buoyantForceTotal = me.buoyantForceTotal + me.pressure(i) * (me.area(i+1) - me.area(i));
|
||||
me.rodWeightAirTotal = me.rodWeightAirTotal + me.rodWeightPerFoot(i) * me.rodLength(i);
|
||||
me.rodWeightFluidTotal = me.rodWeightAirTotal + me.buoyantForceTotal;
|
||||
end
|
||||
|
||||
for j = 1:me.numTapers
|
||||
weightData = 0.0;
|
||||
annularForceData = 0.0;
|
||||
|
||||
for i = j+1:me.numTapers
|
||||
weightData = weightData + me.rodWeightPerFoot(i) * me.rodLength(i);
|
||||
end
|
||||
|
||||
for i = j:me.numTapers-1
|
||||
annularForceData = annularForceData + me.pressure(i) * (me.area(i) - me.area(i+1));
|
||||
end
|
||||
|
||||
me.force(j) = (-me.area(me.numTapers) * me.pressure(me.numTapers)) + weightData - annularForceData;
|
||||
me.alpha(j) = (me.force(j) + me.rodWeightPerFoot(j) * me.rodLength(j)) / (me.rodYM(j) * power(10, 6) * me.area(j));
|
||||
|
||||
if j > 1
|
||||
me.stretch(j) = me.stretch(j - 1) + me.alpha(j) * me.rodLength(j) - ...
|
||||
(me.rodWeightPerFoot(j) * power(me.rodLength(j), 2.0)) / ...
|
||||
(2.0 * me.rodYM(j) * power(10, 6) * me.area(j));
|
||||
else
|
||||
me.stretch(j) = 0.0 + me.alpha(j) * me.rodLength(j) - ...
|
||||
(me.rodWeightPerFoot(j) * power(me.rodLength(j), 2.0)) / ...
|
||||
(2.0 * me.rodYM(j) * power(10, 6) * me.area(j));
|
||||
end
|
||||
end
|
||||
|
||||
for i = 1:me.numTapers
|
||||
me.xOverA(i) = me.rodLength(i) / me.a(i);
|
||||
me.lagIndex(i) = floor(me.rodLength(i) / (me.a(i) * me.dt));
|
||||
me.factorArray(i) = (me.xOverA(i) - double(me.lagIndex(i)) * me.dt) / me.dt;
|
||||
me.centerPoint(i) = me.lagIndex(i) + 2;
|
||||
me.lengthRequired(i) = 2 * (me.lagIndex(i) + 1) + 1;
|
||||
end
|
||||
|
||||
me.frictionEstimate = me.rodDepthTotal * 0.10;
|
||||
end
|
||||
|
||||
function pumpPosition = position(me, i)
|
||||
% Position Function
|
||||
ai = me.a(i);
|
||||
ci = me.c(i);
|
||||
factori = me.factorArray(i);
|
||||
lengthi = me.rodLength(i);
|
||||
lagi = double(me.lagIndex(i));
|
||||
yi = me.rodYM(i) * power(10, 6);
|
||||
areai = me.area(i);
|
||||
centeri = me.centerPoint(i);
|
||||
iBefore = centeri - me.lagIndex(i);
|
||||
iAfter = centeri + me.lagIndex(i);
|
||||
|
||||
me.loadBefore = 0.0;
|
||||
me.loadAfter = 0.0;
|
||||
me.loadBefore3 = 0.0;
|
||||
me.loadAfter3 = 0.0;
|
||||
|
||||
pumpPosition = exp(ci * lengthi / (2.0 * ai)) * (me.topPosArray(i, iAfter) + ...
|
||||
factori * (me.topPosArray(i, iAfter+1) - me.topPosArray(i, iAfter)));
|
||||
|
||||
pumpPosition = pumpPosition + exp(-ci * lengthi / (2.0 * ai)) * ...
|
||||
(me.topPosArray(i,iBefore) + factori * (me.topPosArray(i,iBefore-1) - ...
|
||||
me.topPosArray(i, iBefore)));
|
||||
|
||||
pumpPosition = 0.5 * pumpPosition;
|
||||
insideIntegral = 0.0;
|
||||
|
||||
for jj = 1:2*lagi-1
|
||||
insideIntegral = insideIntegral + me.dt / (yi * areai) * ...
|
||||
(exp((-ci * (lagi - jj) *me.dt) / 2.0) * ...
|
||||
me.topLoadArray(i, iBefore + jj));
|
||||
end
|
||||
|
||||
insideIntegral = insideIntegral + 0.5 * me.dt /(yi * areai) * ...
|
||||
(exp((-ci * lagi * me.dt) / 2.0) * me.topLoadArray(i, iBefore) + ...
|
||||
exp((-ci * -lagi * me.dt) / 2.0) * me.topLoadArray(i, iAfter));
|
||||
|
||||
me.loadBefore = exp((-ci * lagi * me.dt) / 2.0) * me.topLoadArray(i, iBefore) + ...
|
||||
factori * (exp((-ci * (lagi + 1) * me.dt) / 2.0) * me.topLoadArray(i, iBefore-1) - ...
|
||||
exp((-ci * lagi * me.dt) / 2.0) * me.topLoadArray(i, iBefore));
|
||||
|
||||
me.loadAfter = exp((-ci * -lagi * me.dt) / 2.0) * me.topLoadArray(i, iAfter) + ...
|
||||
factori * (exp((-ci * (-lagi - 1) * me.dt) / 2.0) * me.topLoadArray(i, iAfter+1) - ...
|
||||
exp((-ci * -lagi * me.dt) / 2.0) * me.topLoadArray(i,iAfter));
|
||||
|
||||
insideIntegral = insideIntegral + 0.5 * factori * me.dt / (yi * areai) * ...
|
||||
(me.loadBefore + exp((-ci * lagi * me.dt) / 2.0) * me.topLoadArray(i, iBefore));
|
||||
|
||||
insideIntegral = insideIntegral + 0.5 * factori * me.dt / (yi * areai) * ...
|
||||
(me.loadAfter + exp((-ci * -lagi * me.dt) / 2.0) * me.topLoadArray(i, iAfter));
|
||||
|
||||
insideIntegral = 0.5 * ai * insideIntegral;
|
||||
pumpPosition = pumpPosition + insideIntegral;
|
||||
|
||||
insideIntegral = 0.0;
|
||||
|
||||
for jj = 1:2*lagi-1
|
||||
insideIntegral = insideIntegral + me.dt * (exp((-ci * (lagi - jj) * me.dt) / 2.0) * ...
|
||||
me.topPosArray(i, iBefore+jj));
|
||||
end
|
||||
|
||||
insideIntegral = insideIntegral + 0.5 * me.dt * (exp((-ci * lagi * me.dt) / 2.0) * ...
|
||||
me.topPosArray(i, iBefore) + exp((-ci * -lagi * me.dt) / 2.0) * ...
|
||||
me.topPosArray(i, iAfter));
|
||||
|
||||
me.loadBefore3 = exp((-ci * lagi * me.dt) / 2.0) * me.topPosArray(i, iBefore) + ...
|
||||
factori * (exp((-ci * (lagi+1) * me.dt) / 2.0) * me.topPosArray(i, iBefore-1) - ...
|
||||
exp((-ci * lagi * me.dt) / 2.0) * me.topPosArray(i, iBefore));
|
||||
|
||||
me.loadAfter3 = exp((-ci * -lagi * me.dt) / 2.0) * me.topPosArray(i, iAfter) + ...
|
||||
factori * (exp((-ci * (-lagi-1) * me.dt) / 2.0) * me.topPosArray(i, iAfter+1) - ...
|
||||
exp((-ci * -lagi * me.dt) / 2.0) * me.topPosArray(i, iAfter));
|
||||
|
||||
insideIntegral = insideIntegral + 0.5 * factori * me.dt * (me.loadBefore3 + ...
|
||||
exp((-ci * lagi * me.dt) / 2.0) * me.topPosArray(i, iBefore));
|
||||
|
||||
insideIntegral = insideIntegral + 0.5 * factori * me.dt * (me.loadAfter3 + ...
|
||||
exp((-ci * -lagi * me.dt) / 2.0) * me.topPosArray(i, iAfter));
|
||||
|
||||
insideIntegral = -(ci * lengthi / 4) * 0.5 * (ci / (2.0 * ai)) * insideIntegral;
|
||||
me.tempLoadValue = insideIntegral / lengthi;
|
||||
pumpPosition = pumpPosition + insideIntegral;
|
||||
end
|
||||
|
||||
function pumpLoad = load(me, i)
|
||||
% Load Function
|
||||
ai = me.a(i);
|
||||
ci = me.c(i);
|
||||
lengthi = me.rodLength(i);
|
||||
lagi = me.lagIndex(i);
|
||||
yi = me.rodYM(i) * power(10, 6);
|
||||
areai = me.area(i);
|
||||
centeri = me.centerPoint(i);
|
||||
iBefore = centeri - lagi;
|
||||
iAfter = centeri + lagi;
|
||||
|
||||
pumpLoad = 0.5 * (ai / (yi * areai)) * (1 / ai) * (me.loadBefore + me.loadAfter);
|
||||
tempResult = yi * areai * pumpLoad;
|
||||
pumpLoad = pumpLoad - (ci * lengthi / 4) * (0.5 * (ci / (2.0 * ai))) * (1 / ai) * ...
|
||||
(me.loadBefore3 + me.loadAfter3);
|
||||
|
||||
ptAfter = (me.topPosArray(i, iAfter+1) - me.topPosArray(i, iAfter-1)) / (2.0 * me.dt);
|
||||
ptBefore = (me.topPosArray(i, iBefore+1) - me.topPosArray(i, iBefore-1)) / (2.0 * me.dt);
|
||||
firstPart = (exp((ci * lengthi) / (2.0 * ai)) * ptAfter - exp((-ci * lengthi) / ...
|
||||
(2.0 * ai)) * ptBefore) / (2.0 * ai);
|
||||
|
||||
firstPart = firstPart + (ci * exp((ci * lengthi) / (2.0 * ai)) * ...
|
||||
me.topPosArray(i, iAfter) - ci * exp((-ci * lengthi) / (2.0 * ai)) * ...
|
||||
me.topPosArray(i, iBefore)) / (4 * ai);
|
||||
|
||||
pumpLoad = yi * areai * (firstPart + pumpLoad); % + tempLoadValue ?
|
||||
end
|
||||
|
||||
function [pumpPosition, pumpLoad, status] = calc(me, polishedRodPosition, lastPolishedRodPosition,...
|
||||
polishedRodLoad)
|
||||
me.currentSurfacePosition = polishedRodPosition;
|
||||
me.currentSurfaceLoad = polishedRodLoad;
|
||||
pumpPosition = -1.0;
|
||||
pumpLoad = -1.0;
|
||||
status = -1;
|
||||
loadMult = 1.0;
|
||||
tapersAllowed = 1;
|
||||
|
||||
for ii = 2:me.lengthRequired(1)
|
||||
me.topPosArray(1, ii-1) = me.topPosArray(1, ii);
|
||||
me.topLoadArray(1, ii-1) = me.topLoadArray(1, ii);
|
||||
end
|
||||
|
||||
me.topPosArray(1, me.lengthRequired(1)) = -1.0 * polishedRodPosition / 12.0;
|
||||
|
||||
if polishedRodPosition > lastPolishedRodPosition
|
||||
me.topLoadArray(1, me.lengthRequired(1)) = loadMult * ...
|
||||
(polishedRodLoad - me.rodWeightFluidTotal) - me.stuffingBoxFriction;
|
||||
elseif polishedRodPosition < lastPolishedRodPosition
|
||||
me.topLoadArray(1, me.lengthRequired(1)) = loadMult * ...
|
||||
(polishedRodLoad - me.rodWeightFluidTotal) + me.stuffingBoxFriction;
|
||||
else
|
||||
me.topLoadArray(1, me.lengthRequired(1)) = loadMult * ...
|
||||
(polishedRodLoad - me.rodWeightFluidTotal);
|
||||
end
|
||||
|
||||
tap=1;
|
||||
while tap <= tapersAllowed
|
||||
me.count(tap) = me.count(tap) + 1;
|
||||
if me.count(tap) >= me.lengthRequired(tap)
|
||||
if tap+1 <= me.numTapers
|
||||
% working our way down to the bottom of the well
|
||||
for pti = 2:me.lengthRequired(tap+1)+1
|
||||
me.topPosArray(tap+1, pti-1) = me.topPosArray(tap+1, pti);
|
||||
me.topLoadArray(tap+1, pti-1) = me.topLoadArray(tap+1, pti);
|
||||
end
|
||||
pumpPosition = me.position(tap);
|
||||
pumpLoad = me.load(tap);
|
||||
status = 0;
|
||||
me.topPosArray(tap+1, me.lengthRequired(tap+1)) = pumpPosition;
|
||||
me.topLoadArray(tap+1, me.lengthRequired(tap+1)) = pumpLoad;
|
||||
else
|
||||
pumpPosition = -12.0 * me.position(tap); % + me.stretch(me.numTapers);
|
||||
me.currentDownholePosition = pumpPosition;
|
||||
pumpLoad = me.load(tap) + me.force(me.numTapers);
|
||||
me.currentDownholeLoad = pumpLoad;
|
||||
status = 1;
|
||||
end
|
||||
me.count(tap) = me.count(tap) - 1;
|
||||
tapersAllowed = tapersAllowed + 1;
|
||||
if tapersAllowed > me.numTapers
|
||||
tapersAllowed = me.numTapers;
|
||||
end
|
||||
end
|
||||
tap = tap + 1;
|
||||
end
|
||||
me.currentCard = Card(0);
|
||||
me.lastCard = Card(0);
|
||||
end
|
||||
|
||||
|
||||
%% Check if the stroke has ended
|
||||
function directionChanged = checkEndOfStroke(me, numConsecutivePoints)
|
||||
directionChanged = 0;
|
||||
tempDirection = me.DIRECTION_UNKNOWN;
|
||||
@@ -415,15 +112,36 @@ classdef Well < handle
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
%% Evaluation function for simulated position and load points
|
||||
function evalSim(me, s_pos, s_load)
|
||||
me.positionSensor.read(s_pos);
|
||||
me.loadSensor.read(s_load);
|
||||
|
||||
[d_pos, d_load, d_status] = me.calc(me.positionSensor.lastValue, ...
|
||||
me.positionSensor.history(2), me.loadSensor.lastValue);
|
||||
if d_status == 1
|
||||
[pumpPosition, pumpLoad, status, me.topPosArray, ...
|
||||
me.topLoadArray, me.count] = pocAlgorithm( ...
|
||||
me.positionSensor.lastValue, ...
|
||||
me.positionSensor.history(2), ...
|
||||
me.loadSensor.lastValue, ...
|
||||
me.count, ...
|
||||
me.parameters.dt, ...
|
||||
me.parameters.a, ...
|
||||
me.parameters.rodDampingFactors, ...
|
||||
me.parameters.factorArray, ...
|
||||
me.parameters.rodLengths, ...
|
||||
double(me.parameters.lagIndex), ...
|
||||
me.parameters.rodYMs * 10.0^6, ...
|
||||
me.parameters.area, ...
|
||||
me.parameters.lengthRequired, ...
|
||||
me.parameters.centerPoint, ...
|
||||
me.parameters.rodWeightFluidTotal, ...
|
||||
me.parameters.stuffingBoxFriction, ...
|
||||
me.parameters.force, ...
|
||||
me.topPosArray, ...
|
||||
me.topLoadArray);
|
||||
if status == 1
|
||||
me.currentCard.push(me.positionSensor.lastValue, ...
|
||||
me.loadSensor.lastValue, d_pos, d_load);
|
||||
me.loadSensor.lastValue, pumpPosition, pumpLoad);
|
||||
end
|
||||
|
||||
if me.checkEndOfStroke(5) == 1
|
||||
@@ -431,91 +149,66 @@ classdef Well < handle
|
||||
end
|
||||
end
|
||||
|
||||
%% End of Stroke actions
|
||||
function endOfStroke(me)
|
||||
me.currentCard.calcStrokeData(100, me.fluidGradient, me.rodDepthTotal, ...
|
||||
me.tubingAnchorDepth, me.tubingCrossSectionalArea, ...
|
||||
me.pumpArea, me.frictionEstimate, ...
|
||||
me.structuralRating, me.kFactor, me.waterBblRatio, me.oilBblRatio, ...
|
||||
me.currentCard.calcStrokeData( ...
|
||||
me.parameters.fluidGradient, ...
|
||||
me.parameters.rodDepthTotal, ...
|
||||
me.parameters.tubingAnchorDepth, ...
|
||||
me.parameters.tubingCrossSectionalArea, ...
|
||||
me.parameters.pumpArea, ...
|
||||
me.parameters.frictionEstimate, ...
|
||||
me.parameters.structuralRating, ...
|
||||
me.kFactor, ...
|
||||
me.waterBblRatio, ...
|
||||
me.oilBblRatio, ...
|
||||
me.gasMcfRatio);
|
||||
me.plotCards()
|
||||
|
||||
me.lastCard = me.currentCard();
|
||||
me.lastCard = me.currentCard;
|
||||
me.currentCard = Card(me.lastCard.strokeNumber + 1);
|
||||
end
|
||||
|
||||
%% Draws Cards
|
||||
% Draws current card and shows last card
|
||||
function plotCards(me)
|
||||
ax1 = subplot(2,2,1);
|
||||
figure;
|
||||
% ax1 = subplot(2,2,1);
|
||||
ax1 = subplot(2,1,1);
|
||||
hold on;
|
||||
plot(me.lastCard.surfacePosition(1:me.lastCard.numPointsUsed), ...
|
||||
me.lastCard.surfaceLoad(1:me.lastCard.numPointsUsed))
|
||||
me.lastCard.surfaceLoad(1:me.lastCard.numPointsUsed), 'r')
|
||||
plot(me.lastCard.repSurfacePosition, me.lastCard.repSurfaceLoadTop, 'g');
|
||||
plot(me.lastCard.repSurfacePosition, me.lastCard.repSurfaceLoadBottom, 'b');
|
||||
title('Last Surface Card')
|
||||
hold off;
|
||||
|
||||
ax3 = subplot(2,2,3);
|
||||
% ax3 = subplot(2,2,3);
|
||||
ax3 = subplot(2,1,2);
|
||||
hold on;
|
||||
plot(me.lastCard.downholePosition(1:me.lastCard.numPointsUsed), ...
|
||||
me.lastCard.downholeLoad(1:me.lastCard.numPointsUsed), 'r')
|
||||
plot(me.lastCard.topCorner.position, me.lastCard.topCorner.load, ...
|
||||
'gd', 'MarkerSize', 15, 'LineWidth', 2);
|
||||
plot(me.lastCard.bottomCorner.position, me.lastCard.bottomCorner.load, ...
|
||||
'bd', 'MarkerSize', 15, 'LineWidth', 2);
|
||||
plot(me.lastCard.repDownholePosition, me.lastCard.repDownholeLoadTop, 'g');
|
||||
plot(me.lastCard.repDownholePosition, me.lastCard.repDownholeLoadBottom, 'b');
|
||||
title('Last Downhole Card')
|
||||
hold off;
|
||||
|
||||
ax2 = subplot(2,2,2);
|
||||
plot(me.currentCard.surfacePosition(1:me.currentCard.numPointsUsed), ...
|
||||
me.currentCard.surfaceLoad(1:me.currentCard.numPointsUsed))
|
||||
title('Current Surface Card')
|
||||
% ax2 = subplot(2,2,2);
|
||||
% plot(me.currentCard.surfacePosition(1:me.currentCard.numPointsUsed), ...
|
||||
% me.currentCard.surfaceLoad(1:me.currentCard.numPointsUsed))
|
||||
% title('Current Surface Card')
|
||||
%
|
||||
% ax4 = subplot(2,2,4);
|
||||
% plot(me.currentCard.downholePosition(1:me.currentCard.numPointsUsed), ...
|
||||
% me.currentCard.downholeLoad(1:me.currentCard.numPointsUsed), 'r')
|
||||
% title('Current Downhole Card')
|
||||
|
||||
ax4 = subplot(2,2,4);
|
||||
plot(me.currentCard.downholePosition(1:me.currentCard.numPointsUsed), ...
|
||||
me.currentCard.downholeLoad(1:me.currentCard.numPointsUsed), 'r')
|
||||
title('Current Downhole Card')
|
||||
|
||||
linkaxes([ax1, ax2, ax3, ax4], 'x')
|
||||
% linkaxes([ax1, ax2, ax3, ax4], 'x')
|
||||
linkaxes([ax1, ax3], 'x')
|
||||
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
methods(Static)
|
||||
function wtPerFt = lookupRodWeightPerFoot(i_ym, i_diam)
|
||||
YM_STEEL=30.5;
|
||||
YM_FIBERGLASS=7.2;
|
||||
wtPerFt = -1;
|
||||
if (i_ym == YM_STEEL)
|
||||
if (i_diam <= 2 && i_diam > 1.75)
|
||||
wtPerFt = 10.7;
|
||||
elseif (i_diam <= 1.75 && i_diam > 1.65)
|
||||
wtPerFt = 8.2;
|
||||
elseif (i_diam <= 1.65 && i_diam > 1.5)
|
||||
wtPerFt = 7;
|
||||
elseif (i_diam <= 1.5 && i_diam > 1.375)
|
||||
wtPerFt = 6;
|
||||
elseif (i_diam <= 1.375 && i_diam > 1.125)
|
||||
wtPerFt = 5;
|
||||
elseif (i_diam <= 1.125 && i_diam > 1)
|
||||
wtPerFt = 3.676;
|
||||
elseif (i_diam <= 1 && i_diam > 0.875)
|
||||
wtPerFt = 2.904;
|
||||
elseif (i_diam <= 0.875 && i_diam > 0.75)
|
||||
wtPerFt = 2.224;
|
||||
elseif (i_diam <= 0.75 && i_diam > 0.625)
|
||||
wtPerFt = 1.634;
|
||||
elseif (i_diam <= 0.625 && i_diam > 0.5)
|
||||
wtPerFt = 1.13;
|
||||
elseif (i_diam <= 0.5)
|
||||
wtPerFt = 0.72;
|
||||
else
|
||||
wtPerFt = 0;
|
||||
end
|
||||
elseif (i_ym == YM_FIBERGLASS)
|
||||
if (i_diam <= 1.25 && i_diam > 1.125)
|
||||
wtPerFt = 1.2879;
|
||||
elseif (i_diam <= 1.125 && i_diam > 1)
|
||||
wtPerFt = 1.09;
|
||||
elseif (i_diam <= 1 && i_diam > 0.875)
|
||||
wtPerFt = 0.8188;
|
||||
elseif (i_diam <= 0.875 && i_diam > 0.75)
|
||||
wtPerFt = 0.6108;
|
||||
elseif (i_diam <= 0.75)
|
||||
wtPerFt = 0.484;
|
||||
else
|
||||
wtPerFt = 0;
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
BIN
WellTestGeneric.mlx
Normal file
BIN
WellTestGeneric.mlx
Normal file
Binary file not shown.
319
algorithm.m
319
algorithm.m
@@ -1,319 +0,0 @@
|
||||
simWell()
|
||||
|
||||
function simWell
|
||||
wellName = "Mallet";
|
||||
|
||||
% Current Values
|
||||
currentSurfacePosition = 0.0;
|
||||
currentSurfaceLoad = 0.0;
|
||||
currentDownholePosition = 0.0;
|
||||
currentDownholeLoad = 0.0;
|
||||
|
||||
currentCard=Card(0);
|
||||
|
||||
% Constants
|
||||
YM_STEEL=30.5;
|
||||
YM_FIBERGLASS=7.2;
|
||||
|
||||
% User Inputs
|
||||
dt = 0.03333333;
|
||||
tubingHeadPressure = 40.0;
|
||||
fluidGradient = 0.45;
|
||||
stuffingBoxFriction = 100.0;
|
||||
numTapers = 3;
|
||||
tubingAnchorDepth = 0.0;
|
||||
pumpDiameter = 2.5;
|
||||
tubingInnerDiameter = 1.995;
|
||||
tubingOuterDiameter = 2.375;
|
||||
structuralRating = 320000;
|
||||
|
||||
% Rod String Inputs
|
||||
c = [0.08 0.08 0.08];
|
||||
rodLength = [1475.0 1525.0 2000.0];
|
||||
rodDiameter = [1.0 0.875 0.750];
|
||||
rodYM = [YM_STEEL YM_STEEL YM_STEEL];
|
||||
rodWeightPerFoot = [Well.lookupRodWeightPerFoot(YM_STEEL, rodDiameter(1)) ...
|
||||
Well.lookupRodWeightPerFoot(YM_STEEL, rodDiameter(2)) ...
|
||||
Well.lookupRodWeightPerFoot(YM_STEEL, rodDiameter(3))];
|
||||
|
||||
% Calculated Taper Parameters
|
||||
% Initialize
|
||||
a = zeros(1, numTapers, 'double');
|
||||
area = zeros(1, numTapers+1, 'double');
|
||||
pressure = zeros(1, numTapers, 'double');
|
||||
stretch = zeros(1, numTapers, 'double');
|
||||
force = zeros(1, numTapers, 'double');
|
||||
alpha = zeros(1, numTapers, 'double');
|
||||
xOverA = zeros(1, numTapers, 'double');
|
||||
factorArray = zeros(1, numTapers, 'double');
|
||||
lagIndex = zeros(1, numTapers, 'uint8');
|
||||
lengthRequired = zeros(1, numTapers, 'uint8');
|
||||
centerPoint = zeros(1, numTapers, 'uint8');
|
||||
count = zeros(1, numTapers, 'uint8');
|
||||
|
||||
buoyantForceTotal = 0.0;
|
||||
rodDepthTotal = 0.0;
|
||||
rodWeightAirTotal = 0.0;
|
||||
rodWeightFluidTotal = 0.0;
|
||||
|
||||
topPosArray = zeros(10, 250,'double');
|
||||
topLoadArray = zeros(10, 250, 'double');
|
||||
|
||||
% cross-function variables for position and load
|
||||
% POSITION MUST ALWAYS BE CALLED FIRST.
|
||||
loadBefore = 0.0;
|
||||
loadAfter = 0.0;
|
||||
loadBefore3 = 0.0;
|
||||
loadAfter3 = 0.0;
|
||||
tempLoadValue = 0.0;
|
||||
|
||||
for i = 1:numTapers
|
||||
area(i) = pi / 4 * rodDiameter(i) ^ 2;
|
||||
end
|
||||
|
||||
for i = 1:numTapers
|
||||
a(i) = 1000.0 * sqrt(32.3 * rodYM(i) / rodWeightPerFoot(i));
|
||||
|
||||
% if i > 1
|
||||
% rodDepth(i) = rodDepth(i-1) + rodLength(i);
|
||||
% else
|
||||
% rodDepth(i) = 0.0;
|
||||
% end
|
||||
rodDepthTotal = rodDepthTotal + rodLength(i);
|
||||
|
||||
if i > 1
|
||||
pressure(i) = pressure(i - 1) + fluidGradient * rodLength(i);
|
||||
else
|
||||
pressure(i) = tubingHeadPressure + fluidGradient * rodLength(i);
|
||||
end
|
||||
|
||||
% buoyantForce(i) = pressure(i) * (area(i+1) - area(i));
|
||||
buoyantForceTotal = buoyantForceTotal + pressure(i) * (area(i+1) - area(i));
|
||||
|
||||
% rodWeightAir(i) = rodWeightPerFoot(i) * rodLength(i);
|
||||
rodWeightAirTotal = rodWeightAirTotal + rodWeightPerFoot(i) * rodLength(i);
|
||||
|
||||
% rodWeightFluid(i) = rodWeightAir(i) + buoyantForce(i);
|
||||
rodWeightFluidTotal = rodWeightFluidTotal + buoyantForceTotal;
|
||||
end
|
||||
|
||||
for j = 1:numTapers
|
||||
weightData = 0.0;
|
||||
annularForceData = 0.0;
|
||||
|
||||
for i = j+1:numTapers
|
||||
weightData = weightData + rodWeightPerFoot(i) * rodLength(i);
|
||||
end
|
||||
|
||||
for i = j:numTapers-1
|
||||
annularForceData = annularForceData + pressure(i) * (area(i) - area(i+1));
|
||||
end
|
||||
|
||||
force(j) = (-area(numTapers) * pressure(numTapers)) + weightData - annularForceData;
|
||||
alpha(j) = (force(j) + rodWeightPerFoot(j) * rodLength(j)) / (rodYM(j) * power(10, 6) * area(j));
|
||||
|
||||
if j > 1
|
||||
stretch(j) = stretch(j - 1) + alpha(j) * rodLength(j) - ...
|
||||
(rodWeightPerFoot(j) * power(rodLength(j), 2)) / ...
|
||||
(2 * rodYM(j) * power(10, 6) * area(j));
|
||||
else
|
||||
stretch(j) = 0.0 + alpha(j) * rodLength(j) - ...
|
||||
(rodWeightPerFoot(j) * power(rodLength(j), 2)) / ...
|
||||
(2 * rodYM(j) * power(10, 6) * area(j));
|
||||
end
|
||||
end
|
||||
|
||||
for i = 1:numTapers
|
||||
xOverA(i) = rodLength(i) / a(i);
|
||||
lagIndex(i) = floor(rodLength(i) / (a(i) * dt));
|
||||
factorArray(i) = (xOverA(i) - double(lagIndex(i)) * dt) / dt;
|
||||
centerPoint(i) = lagIndex(i) + 2;
|
||||
lengthRequired(i) = 2 * (lagIndex(i) + 1) + 1;
|
||||
end
|
||||
|
||||
m = csvread('Mallet No Tag.csv');
|
||||
for i = 2:size(m,1)
|
||||
[dhPos, dhLoad, status] = calc(m(i,1), m(i-1,1), m(i,2));
|
||||
if status == 1
|
||||
currentCard.push(m(i,1), m(i,2), dhPos, dhLoad);
|
||||
end
|
||||
end
|
||||
% currentCard.surfacePosition
|
||||
% scatter(currentCard.surfacePosition, currentCard.surfaceLoad)
|
||||
scatter(currentCard.downholePosition, currentCard.downholeLoad)
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
% FUNCTION DECLARATIONS
|
||||
|
||||
function pumpPosition = position(i)
|
||||
% Position Function
|
||||
ai = a(i);
|
||||
ci = c(i);
|
||||
factori = factorArray(i);
|
||||
lengthi = rodLength(i);
|
||||
lagi = double(lagIndex(i));
|
||||
yi = rodYM(i) * power(10, 6);
|
||||
areai = area(i);
|
||||
centeri = centerPoint(i);
|
||||
iBefore = centeri - lagIndex(i);
|
||||
iAfter = centeri + lagIndex(i);
|
||||
|
||||
pumpPosition = exp(ci * lengthi / (2 * ai)) * (topPosArray(i, iAfter) + ...
|
||||
factori * topPosArray(i, iAfter+1));
|
||||
|
||||
pumpPosition = pumpPosition + exp(ci * lengthi / (2 * ai)) * ...
|
||||
(topPosArray(i,iBefore-1) -topPosArray(i, iBefore));
|
||||
|
||||
pumpPosition = 0.5 * pumpPosition;
|
||||
insideIntegral = 0.0;
|
||||
|
||||
for jj = 1:2*lagi-1
|
||||
insideIntegral = insideIntegral + dt / (yi * areai) * ...
|
||||
(exp((-ci * (lagi - jj) *dt) / 2) * ...
|
||||
topLoadArray(i, iBefore + jj));
|
||||
end
|
||||
|
||||
insideIntegral = insideIntegral + 0.5 * dt /(yi * areai) * ...
|
||||
(exp((-ci * lagi * dt) / 2) * topLoadArray(i, iBefore) + ...
|
||||
exp((-ci * -lagi * dt) / 2) * topLoadArray(i, iAfter));
|
||||
|
||||
loadBefore = exp((-ci * lagi * dt) / 2) * topLoadArray(i, iBefore) + ...
|
||||
factori * (exp((-ci * (lagi + 1) * dt) / 2) * topLoadArray(i, iBefore-1) - ...
|
||||
exp((-ci * lagi * dt) / 2) * topLoadArray(i, iBefore));
|
||||
|
||||
loadAfter = exp((-ci * -lagi * dt) / 2) * topLoadArray(i, iAfter) + ...
|
||||
factori * (exp((-ci * (-lagi - 1) * dt) / 2) * topLoadArray(i, iAfter+1) - ...
|
||||
exp((-ci * -lagi * dt) / 2) * topLoadArray(i,iAfter));
|
||||
|
||||
insideIntegral = insideIntegral + 0.5 * factori * dt / (yi * areai) * ...
|
||||
(loadBefore + exp((-ci * lagi * dt) / 2) * topLoadArray(i, iBefore));
|
||||
|
||||
insideIntegral = insideIntegral + 0.5 * factori * dt / (yi * areai) * ...
|
||||
(loadAfter + exp((-ci * -lagi * dt) / 2) * topLoadArray(i, iAfter));
|
||||
|
||||
insideIntegral = 0.5 * ai * insideIntegral;
|
||||
pumpPosition = pumpPosition + insideIntegral;
|
||||
|
||||
insideIntegral = 0.0;
|
||||
|
||||
for jj = 1:2*lagi-1
|
||||
insideIntegral = insideIntegral + dt * (exp((-ci * (lagi - jj) * dt) / 2) * ...
|
||||
topPosArray(i, iBefore+jj));
|
||||
end
|
||||
|
||||
insideIntegral = insideIntegral + 0.5 * dt * (exp((-ci * lagi * dt) / 2) * ...
|
||||
topPosArray(i, iBefore) + exp((-ci * -lagi * dt) / 2) * ...
|
||||
topPosArray(i, iAfter));
|
||||
|
||||
loadBefore3 = exp((-ci * lagi * dt) / 2) * topPosArray(i, iBefore) + ...
|
||||
factori * (exp((-ci * (lagi+1) * dt) / 2) * topPosArray(i, iBefore-1) - ...
|
||||
exp((-ci * lagi * dt) / 2) * topPosArray(i, iBefore));
|
||||
|
||||
loadAfter3 = exp((-ci * -lagi * dt) / 2) * topPosArray(i, iAfter) + ...
|
||||
factori * (exp((-ci * (-lagi-1) * dt) / 2) * topPosArray(i, iAfter+1) - ...
|
||||
exp((-ci * -lagi * dt) / 2) * topPosArray(i, iAfter));
|
||||
|
||||
insideIntegral = insideIntegral + 0.5 * factori * dt * (loadBefore3 + ...
|
||||
exp((-ci * lagi * dt) / 2) * topPosArray(i, iBefore));
|
||||
|
||||
insideIntegral = insideIntegral + 0.5 * factori * dt * (loadAfter3 + ...
|
||||
exp((-ci * -lagi * dt) / 2) * topPosArray(i, iAfter));
|
||||
|
||||
insideIntegral = -(ci * lengthi / 4) * 0.5 * (ci / (2 * ai)) * insideIntegral;
|
||||
tempLoadValue = insideIntegral / lengthi;
|
||||
pumpPosition = pumpPosition + insideIntegral;
|
||||
end
|
||||
|
||||
function pumpLoad = load(i)
|
||||
% Load Function
|
||||
ai = a(i);
|
||||
ci = c(i);
|
||||
factori = factorArray(i);
|
||||
lengthi = rodLength(i);
|
||||
lagi = lagIndex(i);
|
||||
yi = rodYM(i) * power(10, 6);
|
||||
areai = area(i);
|
||||
centeri = centerPoint(i);
|
||||
iBefore = centeri - lagi;
|
||||
iAfter = centeri + lagi;
|
||||
|
||||
pumpLoad = 0.5 * (ai / (yi * areai)) * (1 / ai) * (loadBefore + loadAfter);
|
||||
tempResult = yi * areai * pumpLoad;
|
||||
pumpLoad = pumpLoad - (ci * lengthi / 4) * (0.5 * (ci / (2 * ai))) * (1 / ai) * ...
|
||||
(loadBefore3 + loadAfter3);
|
||||
|
||||
ptAfter = (topPosArray(i, iAfter+1) - topPosArray(i, iAfter-1)) / (2 * dt);
|
||||
ptBefore = (topPosArray(i, iBefore+1) - topPosArray(i, iBefore-1)) / (2 * dt);
|
||||
firstPart = (exp((ci * lengthi) / (2 * ai)) * ptAfter - exp((-ci * lengthi) / ...
|
||||
(2 * ai)) * ptBefore) / (2 * ai);
|
||||
|
||||
firstPart = firstPart + (ci * exp((ci * lengthi) / (2 * ai)) * ...
|
||||
topPosArray(i, iAfter) - ci * exp((-ci * lengthi) / (2 * ai)) * ...
|
||||
topPosArray(i, iBefore)) / (4 * ai);
|
||||
|
||||
pumpLoad = yi * areai * (firstPart + pumpLoad); % + tempLoadValue ?
|
||||
end
|
||||
|
||||
function [pumpPosition, pumpLoad, status] = calc(polishedRodPosition, lastPolishedRodPosition,...
|
||||
polishedRodLoad)
|
||||
pumpPosition = -1.0;
|
||||
pumpLoad = -1.0;
|
||||
status = -1;
|
||||
loadMult = 1.0;
|
||||
tapersAllowed = 1;
|
||||
|
||||
for ii = 2:lengthRequired(1)
|
||||
topPosArray(1, ii-1) = topPosArray(1, ii);
|
||||
topLoadArray(1, ii-1) = topLoadArray(1, ii);
|
||||
topPosArray(1, lengthRequired(1)) = - polishedRodPosition / 12;
|
||||
|
||||
if polishedRodPosition > lastPolishedRodPosition
|
||||
topLoadArray(1, lengthRequired(1)) = loadMult * ...
|
||||
(polishedRodLoad - rodWeightFluidTotal) - stuffingBoxFriction;
|
||||
elseif polishedRodPosition > lastPolishedRodPosition
|
||||
topLoadArray(1, lengthRequired(1)) = loadMult * ...
|
||||
(polishedRodLoad - rodWeightFLuidTotal) + stuffingBoxFriction;
|
||||
else
|
||||
topLoadArray(1, lengthRequired(1)) = loadMult * (polishedRodLoad - rodWeightFluidTotal);
|
||||
end
|
||||
end
|
||||
|
||||
tap=1;
|
||||
while tap <= tapersAllowed
|
||||
count(tap) = count(tap) + 1;
|
||||
if count(tap) >= lengthRequired(tap)
|
||||
if tap+1 <= numTapers
|
||||
% working our way down to the bottom of the well
|
||||
for pti = 2:lengthRequired(tap+1)
|
||||
topPosArray(tap+1, pti-1) = topPosArray(tap+1, pti);
|
||||
topLoadArray(tap+1, pti-1) = topLoadArray(tap+1, pti);
|
||||
end
|
||||
pumpPosition = position(tap);
|
||||
pumpLoad = load(tap);
|
||||
status = 0;
|
||||
topPosArray(tap+1, lengthRequired(tap+1)) = pumpPosition;
|
||||
topLoadArray(tap+1, lengthRequired(tap+1)) = pumpLoad;
|
||||
else
|
||||
pumpPosition = -12 * (position(tap) + stretch(numTapers));
|
||||
pumpLoad = load(tap) + force(numTapers);
|
||||
status = 1;
|
||||
end
|
||||
count(tap) = count(tap) - 1;
|
||||
tapersAllowed = tapersAllowed + 1;
|
||||
if tapersAllowed > numTapers
|
||||
tapersAllowed = numTapers;
|
||||
end
|
||||
end
|
||||
tap = tap + 1;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
947
algorithm.prj
Normal file
947
algorithm.prj
Normal file
@@ -0,0 +1,947 @@
|
||||
<deployment-project plugin="plugin.coder" plugin-version="R2016a">
|
||||
<configuration file="/Users/patrickjmcd/GitHub/Henry-Pump/POC-MatLab/algorithm.prj" location="/Users/patrickjmcd/GitHub/Henry-Pump/POC-MatLab" name="algorithm" target="target.unifiedcoder" target-name="MATLAB Coder">
|
||||
<profile key="profile.mex">
|
||||
<param.BuiltInstrumentedMex />
|
||||
<param.RanInstrumentedMex />
|
||||
<param.WorkingFolder />
|
||||
<param.SpecifiedWorkingFolder />
|
||||
<param.BuildFolder>option.BuildFolder.Project</param.BuildFolder>
|
||||
<param.SpecifiedBuildFolder />
|
||||
<param.SearchPaths />
|
||||
<param.ResponsivenessChecks />
|
||||
<param.ExtrinsicCalls />
|
||||
<param.IntegrityChecks />
|
||||
<param.SaturateOnIntegerOverflow />
|
||||
<param.GlobalDataSyncMethod />
|
||||
<param.EnableVariableSizing />
|
||||
<param.DynamicMemoryAllocation />
|
||||
<param.DynamicMemoryAllocationThreshold />
|
||||
<param.StackUsageMax />
|
||||
<param.FilePartitionMethod />
|
||||
<param.GenerateComments />
|
||||
<param.MATLABSourceComments />
|
||||
<param.ReservedNameArray />
|
||||
<param.EnableDebugging />
|
||||
<param.GenerateReport />
|
||||
<param.LaunchReport />
|
||||
<param.ReportPotentialDifferences />
|
||||
<param.DefaultTestFile />
|
||||
<param.MergeInstrumentationResults />
|
||||
<param.VerificationMode />
|
||||
<param.VerificationStatus>option.VerificationStatus.Inactive</param.VerificationStatus>
|
||||
<param.CustomSourceCode />
|
||||
<param.CustomHeaderCode />
|
||||
<param.CustomInitializer />
|
||||
<param.CustomTerminator />
|
||||
<param.CustomInclude />
|
||||
<param.CustomSource />
|
||||
<param.CustomLibrary />
|
||||
<param.PostCodeGenCommand />
|
||||
<param.mex.GenCodeOnly />
|
||||
<param.ConstantFoldingTimeout />
|
||||
<param.CompileTimeRecursionLimit />
|
||||
<param.EnableRuntimeRecursion />
|
||||
<param.PreserveVariableNames />
|
||||
<param.TargetLang />
|
||||
<param.EchoExpressions />
|
||||
<param.InlineThreshold />
|
||||
<param.InlineThresholdMax />
|
||||
<param.InlineStackLimit />
|
||||
<param.EnableMemcpy />
|
||||
<param.MemcpyThreshold />
|
||||
<param.EnableOpenMP />
|
||||
<param.InitFltsAndDblsToZero />
|
||||
<param.ConstantInputs />
|
||||
<param.EnableCRICodeCoverage>true</param.EnableCRICodeCoverage>
|
||||
<param.EnableJIT />
|
||||
<param.EnableJITSilentBailOut />
|
||||
<param.CheckForIssuesJIT />
|
||||
<unset>
|
||||
<param.BuiltInstrumentedMex />
|
||||
<param.RanInstrumentedMex />
|
||||
<param.WorkingFolder />
|
||||
<param.SpecifiedWorkingFolder />
|
||||
<param.BuildFolder />
|
||||
<param.SpecifiedBuildFolder />
|
||||
<param.SearchPaths />
|
||||
<param.ResponsivenessChecks />
|
||||
<param.ExtrinsicCalls />
|
||||
<param.IntegrityChecks />
|
||||
<param.SaturateOnIntegerOverflow />
|
||||
<param.GlobalDataSyncMethod />
|
||||
<param.EnableVariableSizing />
|
||||
<param.DynamicMemoryAllocation />
|
||||
<param.DynamicMemoryAllocationThreshold />
|
||||
<param.StackUsageMax />
|
||||
<param.FilePartitionMethod />
|
||||
<param.GenerateComments />
|
||||
<param.MATLABSourceComments />
|
||||
<param.ReservedNameArray />
|
||||
<param.EnableDebugging />
|
||||
<param.GenerateReport />
|
||||
<param.LaunchReport />
|
||||
<param.ReportPotentialDifferences />
|
||||
<param.DefaultTestFile />
|
||||
<param.MergeInstrumentationResults />
|
||||
<param.VerificationMode />
|
||||
<param.VerificationStatus />
|
||||
<param.CustomSourceCode />
|
||||
<param.CustomHeaderCode />
|
||||
<param.CustomInitializer />
|
||||
<param.CustomTerminator />
|
||||
<param.CustomInclude />
|
||||
<param.CustomSource />
|
||||
<param.CustomLibrary />
|
||||
<param.PostCodeGenCommand />
|
||||
<param.mex.GenCodeOnly />
|
||||
<param.ConstantFoldingTimeout />
|
||||
<param.CompileTimeRecursionLimit />
|
||||
<param.EnableRuntimeRecursion />
|
||||
<param.PreserveVariableNames />
|
||||
<param.TargetLang />
|
||||
<param.EchoExpressions />
|
||||
<param.InlineThreshold />
|
||||
<param.InlineThresholdMax />
|
||||
<param.InlineStackLimit />
|
||||
<param.EnableMemcpy />
|
||||
<param.MemcpyThreshold />
|
||||
<param.EnableOpenMP />
|
||||
<param.InitFltsAndDblsToZero />
|
||||
<param.ConstantInputs />
|
||||
<param.EnableCRICodeCoverage />
|
||||
<param.EnableJIT />
|
||||
<param.EnableJITSilentBailOut />
|
||||
<param.CheckForIssuesJIT />
|
||||
</unset>
|
||||
</profile>
|
||||
<profile key="profile.c">
|
||||
<param.grt.GenCodeOnly>true</param.grt.GenCodeOnly>
|
||||
<param.WorkingFolder />
|
||||
<param.SpecifiedWorkingFolder />
|
||||
<param.BuildFolder>option.BuildFolder.Project</param.BuildFolder>
|
||||
<param.SpecifiedBuildFolder />
|
||||
<param.SearchPaths />
|
||||
<param.SaturateOnIntegerOverflow />
|
||||
<param.PurelyIntegerCode />
|
||||
<param.SupportNonFinite />
|
||||
<param.EnableVariableSizing />
|
||||
<param.DynamicMemoryAllocation />
|
||||
<param.DynamicMemoryAllocationThreshold />
|
||||
<param.StackUsageMax />
|
||||
<param.MultiInstanceCode />
|
||||
<param.FilePartitionMethod />
|
||||
<param.GenerateComments />
|
||||
<param.CommentStyle />
|
||||
<param.MATLABSourceComments />
|
||||
<param.MATLABFcnDesc />
|
||||
<param.DataTypeReplacement />
|
||||
<param.ConvertIfToSwitch />
|
||||
<param.PreserveExternInFcnDecls />
|
||||
<param.EnableSignedLeftShifts />
|
||||
<param.EnableSignedRightShifts />
|
||||
<param.ParenthesesLevel />
|
||||
<param.MaxIdLength />
|
||||
<param.CustomSymbolStrGlobalVar />
|
||||
<param.CustomSymbolStrType />
|
||||
<param.CustomSymbolStrField />
|
||||
<param.CustomSymbolStrFcn />
|
||||
<param.CustomSymbolStrTmpVar />
|
||||
<param.CustomSymbolStrMacro />
|
||||
<param.CustomSymbolStrEMXArray />
|
||||
<param.CustomSymbolStrEMXArrayFcn />
|
||||
<param.ReservedNameArray />
|
||||
<param.RuntimeChecks />
|
||||
<param.Verbose />
|
||||
<param.GenerateReport />
|
||||
<param.GenerateCodeMetricsReport />
|
||||
<param.GenerateCodeReplacementReport />
|
||||
<param.HighlightPotentialDataTypeIssues />
|
||||
<param.LaunchReport />
|
||||
<param.ReportPotentialDifferences />
|
||||
<param.SILDebugging />
|
||||
<param.CodeExecutionProfiling />
|
||||
<param.DefaultTestFile />
|
||||
<param.MergeInstrumentationResults />
|
||||
<param.RanPilSilVerification />
|
||||
<param.VerificationMode />
|
||||
<param.VerificationStatus>option.VerificationStatus.Inactive</param.VerificationStatus>
|
||||
<param.CustomSourceCode />
|
||||
<param.CustomHeaderCode />
|
||||
<param.CustomInitializer />
|
||||
<param.CustomTerminator />
|
||||
<param.CustomInclude />
|
||||
<param.CustomSource />
|
||||
<param.CustomLibrary />
|
||||
<param.PostCodeGenCommand />
|
||||
<param.TargetLangStandard />
|
||||
<param.CodeReplacementLibrary />
|
||||
<param.DeprecatedCRLFlag />
|
||||
<param.SameHardware>true</param.SameHardware>
|
||||
<param.Toolchain />
|
||||
<param.BuildConfiguration />
|
||||
<param.CustomToolchainOptions />
|
||||
<var.ToolchainSettingsVisible />
|
||||
<param.target.Data />
|
||||
<param.target.ActiveType>option.target.TargetType.MatlabHost</param.target.ActiveType>
|
||||
<param.target.ActiveTarget />
|
||||
<param.HardwareVendor.Production>Generic</param.HardwareVendor.Production>
|
||||
<param.HardwareType.Production>MATLAB Host Computer</param.HardwareType.Production>
|
||||
<param.HWDeviceType.Production />
|
||||
<var.instance.enabled.Production />
|
||||
<param.HardwareSizeChar.Production>8</param.HardwareSizeChar.Production>
|
||||
<param.HardwareSizeShort.Production>16</param.HardwareSizeShort.Production>
|
||||
<param.HardwareSizeInt.Production>32</param.HardwareSizeInt.Production>
|
||||
<param.HardwareSizeLong.Production>64</param.HardwareSizeLong.Production>
|
||||
<param.HardwareSizeLongLong.Production>64</param.HardwareSizeLongLong.Production>
|
||||
<param.HardwareSizeFloat.Production>32</param.HardwareSizeFloat.Production>
|
||||
<param.HardwareSizeDouble.Production>64</param.HardwareSizeDouble.Production>
|
||||
<param.HardwareSizeWord.Production>64</param.HardwareSizeWord.Production>
|
||||
<param.HardwareSizePointer.Production>64</param.HardwareSizePointer.Production>
|
||||
<param.HardwareSizeSizeT.Production>64</param.HardwareSizeSizeT.Production>
|
||||
<param.HardwareSizePtrDiffT.Production>64</param.HardwareSizePtrDiffT.Production>
|
||||
<param.HardwareEndianness.Production>option.HardwareEndianness.Little</param.HardwareEndianness.Production>
|
||||
<param.HardwareArithmeticRightShift.Production>true</param.HardwareArithmeticRightShift.Production>
|
||||
<param.HardwareLongLongMode.Production>true</param.HardwareLongLongMode.Production>
|
||||
<param.HardwareAtomicIntegerSize.Production>option.HardwareAtomicIntegerSize.Char</param.HardwareAtomicIntegerSize.Production>
|
||||
<param.HardwareAtomicFloatSize.Production>option.HardwareAtomicFloatSize.None</param.HardwareAtomicFloatSize.Production>
|
||||
<param.HardwareDivisionRounding.Production>option.HardwareDivisionRounding.Zero</param.HardwareDivisionRounding.Production>
|
||||
<param.HardwareVendor.Target>Generic</param.HardwareVendor.Target>
|
||||
<param.HardwareType.Target>MATLAB Host Computer</param.HardwareType.Target>
|
||||
<param.HWDeviceType.Target />
|
||||
<var.instance.enabled.Target>false</var.instance.enabled.Target>
|
||||
<param.HardwareSizeChar.Target>8</param.HardwareSizeChar.Target>
|
||||
<param.HardwareSizeShort.Target>16</param.HardwareSizeShort.Target>
|
||||
<param.HardwareSizeInt.Target>32</param.HardwareSizeInt.Target>
|
||||
<param.HardwareSizeLong.Target>64</param.HardwareSizeLong.Target>
|
||||
<param.HardwareSizeLongLong.Target>64</param.HardwareSizeLongLong.Target>
|
||||
<param.HardwareSizeFloat.Target>32</param.HardwareSizeFloat.Target>
|
||||
<param.HardwareSizeDouble.Target>64</param.HardwareSizeDouble.Target>
|
||||
<param.HardwareSizeWord.Target>64</param.HardwareSizeWord.Target>
|
||||
<param.HardwareSizePointer.Target>64</param.HardwareSizePointer.Target>
|
||||
<param.HardwareSizeSizeT.Target>64</param.HardwareSizeSizeT.Target>
|
||||
<param.HardwareSizePtrDiffT.Target>64</param.HardwareSizePtrDiffT.Target>
|
||||
<param.HardwareEndianness.Target>option.HardwareEndianness.Little</param.HardwareEndianness.Target>
|
||||
<param.HardwareArithmeticRightShift.Target>true</param.HardwareArithmeticRightShift.Target>
|
||||
<param.HardwareLongLongMode.Target>true</param.HardwareLongLongMode.Target>
|
||||
<param.HardwareAtomicIntegerSize.Target>option.HardwareAtomicIntegerSize.Char</param.HardwareAtomicIntegerSize.Target>
|
||||
<param.HardwareAtomicFloatSize.Target>option.HardwareAtomicFloatSize.None</param.HardwareAtomicFloatSize.Target>
|
||||
<param.HardwareDivisionRounding.Target>option.HardwareDivisionRounding.Zero</param.HardwareDivisionRounding.Target>
|
||||
<param.CastingMode />
|
||||
<param.IndentStyle />
|
||||
<param.IndentSize />
|
||||
<param.ConstantFoldingTimeout />
|
||||
<param.CompileTimeRecursionLimit />
|
||||
<param.EnableRuntimeRecursion />
|
||||
<param.IncludeTerminateFcn />
|
||||
<param.GenerateExampleMain />
|
||||
<param.PreserveVariableNames />
|
||||
<param.TargetLang />
|
||||
<param.CCompilerOptimization />
|
||||
<param.CCompilerCustomOptimizations />
|
||||
<param.GenerateMakefile />
|
||||
<param.BuildToolEnable />
|
||||
<param.MakeCommand />
|
||||
<param.TemplateMakefile />
|
||||
<param.BuildToolConfiguration />
|
||||
<param.InlineThreshold />
|
||||
<param.InlineThresholdMax />
|
||||
<param.InlineStackLimit />
|
||||
<param.EnableStrengthReduction />
|
||||
<param.EnableMemcpy />
|
||||
<param.MemcpyThreshold />
|
||||
<param.EnableOpenMP />
|
||||
<param.InitFltsAndDblsToZero />
|
||||
<param.PassStructByReference />
|
||||
<param.CustomLAPACKCallback />
|
||||
<param.UseECoderFeatures />
|
||||
<unset>
|
||||
<param.WorkingFolder />
|
||||
<param.SpecifiedWorkingFolder />
|
||||
<param.BuildFolder />
|
||||
<param.SpecifiedBuildFolder />
|
||||
<param.SearchPaths />
|
||||
<param.SaturateOnIntegerOverflow />
|
||||
<param.PurelyIntegerCode />
|
||||
<param.SupportNonFinite />
|
||||
<param.EnableVariableSizing />
|
||||
<param.DynamicMemoryAllocation />
|
||||
<param.DynamicMemoryAllocationThreshold />
|
||||
<param.StackUsageMax />
|
||||
<param.MultiInstanceCode />
|
||||
<param.FilePartitionMethod />
|
||||
<param.GenerateComments />
|
||||
<param.CommentStyle />
|
||||
<param.MATLABSourceComments />
|
||||
<param.MATLABFcnDesc />
|
||||
<param.DataTypeReplacement />
|
||||
<param.ConvertIfToSwitch />
|
||||
<param.PreserveExternInFcnDecls />
|
||||
<param.EnableSignedLeftShifts />
|
||||
<param.EnableSignedRightShifts />
|
||||
<param.ParenthesesLevel />
|
||||
<param.MaxIdLength />
|
||||
<param.CustomSymbolStrGlobalVar />
|
||||
<param.CustomSymbolStrType />
|
||||
<param.CustomSymbolStrField />
|
||||
<param.CustomSymbolStrFcn />
|
||||
<param.CustomSymbolStrTmpVar />
|
||||
<param.CustomSymbolStrMacro />
|
||||
<param.CustomSymbolStrEMXArray />
|
||||
<param.CustomSymbolStrEMXArrayFcn />
|
||||
<param.ReservedNameArray />
|
||||
<param.RuntimeChecks />
|
||||
<param.Verbose />
|
||||
<param.GenerateReport />
|
||||
<param.GenerateCodeMetricsReport />
|
||||
<param.GenerateCodeReplacementReport />
|
||||
<param.HighlightPotentialDataTypeIssues />
|
||||
<param.LaunchReport />
|
||||
<param.ReportPotentialDifferences />
|
||||
<param.SILDebugging />
|
||||
<param.CodeExecutionProfiling />
|
||||
<param.DefaultTestFile />
|
||||
<param.MergeInstrumentationResults />
|
||||
<param.RanPilSilVerification />
|
||||
<param.VerificationMode />
|
||||
<param.VerificationStatus />
|
||||
<param.CustomSourceCode />
|
||||
<param.CustomHeaderCode />
|
||||
<param.CustomInitializer />
|
||||
<param.CustomTerminator />
|
||||
<param.CustomInclude />
|
||||
<param.CustomSource />
|
||||
<param.CustomLibrary />
|
||||
<param.PostCodeGenCommand />
|
||||
<param.TargetLangStandard />
|
||||
<param.CodeReplacementLibrary />
|
||||
<param.DeprecatedCRLFlag />
|
||||
<param.SameHardware />
|
||||
<param.Toolchain />
|
||||
<param.BuildConfiguration />
|
||||
<param.CustomToolchainOptions />
|
||||
<var.ToolchainSettingsVisible />
|
||||
<param.target.Data />
|
||||
<param.target.ActiveType />
|
||||
<param.target.ActiveTarget />
|
||||
<param.HardwareVendor.Production />
|
||||
<param.HardwareType.Production />
|
||||
<param.HWDeviceType.Production />
|
||||
<var.instance.enabled.Production />
|
||||
<param.HardwareSizeChar.Production />
|
||||
<param.HardwareSizeShort.Production />
|
||||
<param.HardwareSizeInt.Production />
|
||||
<param.HardwareSizeLongLong.Production />
|
||||
<param.HardwareSizeFloat.Production />
|
||||
<param.HardwareSizeDouble.Production />
|
||||
<param.HardwareEndianness.Production />
|
||||
<param.HardwareAtomicIntegerSize.Production />
|
||||
<param.HardwareAtomicFloatSize.Production />
|
||||
<param.HardwareVendor.Target />
|
||||
<param.HardwareType.Target />
|
||||
<param.HWDeviceType.Target />
|
||||
<var.instance.enabled.Target />
|
||||
<param.HardwareSizeChar.Target />
|
||||
<param.HardwareSizeShort.Target />
|
||||
<param.HardwareSizeInt.Target />
|
||||
<param.HardwareSizeLongLong.Target />
|
||||
<param.HardwareSizeFloat.Target />
|
||||
<param.HardwareSizeDouble.Target />
|
||||
<param.HardwareEndianness.Target />
|
||||
<param.HardwareAtomicIntegerSize.Target />
|
||||
<param.HardwareAtomicFloatSize.Target />
|
||||
<param.CastingMode />
|
||||
<param.IndentStyle />
|
||||
<param.IndentSize />
|
||||
<param.ConstantFoldingTimeout />
|
||||
<param.CompileTimeRecursionLimit />
|
||||
<param.EnableRuntimeRecursion />
|
||||
<param.IncludeTerminateFcn />
|
||||
<param.GenerateExampleMain />
|
||||
<param.PreserveVariableNames />
|
||||
<param.TargetLang />
|
||||
<param.CCompilerOptimization />
|
||||
<param.CCompilerCustomOptimizations />
|
||||
<param.GenerateMakefile />
|
||||
<param.BuildToolEnable />
|
||||
<param.MakeCommand />
|
||||
<param.TemplateMakefile />
|
||||
<param.BuildToolConfiguration />
|
||||
<param.InlineThreshold />
|
||||
<param.InlineThresholdMax />
|
||||
<param.InlineStackLimit />
|
||||
<param.EnableStrengthReduction />
|
||||
<param.EnableMemcpy />
|
||||
<param.MemcpyThreshold />
|
||||
<param.EnableOpenMP />
|
||||
<param.InitFltsAndDblsToZero />
|
||||
<param.PassStructByReference />
|
||||
<param.CustomLAPACKCallback />
|
||||
<param.UseECoderFeatures />
|
||||
</unset>
|
||||
</profile>
|
||||
<profile key="profile.hdl">
|
||||
<param.hdl.Workflow />
|
||||
<param.hdl.TargetLanguage />
|
||||
<param.hdl.TargetPlatform />
|
||||
<param.hdl.SynthesisTool />
|
||||
<param.hdl.InputFrequency />
|
||||
<param.hdl.TargetFrequency />
|
||||
<param.hdl.IPCoreName />
|
||||
<param.hdl.IPCoreVersion />
|
||||
<param.hdl.AdditionalIPFiles />
|
||||
<param.hdl.ExecutionMode />
|
||||
<param.hdl.SynthesisToolChipFamily />
|
||||
<param.hdl.SynthesisToolDeviceName />
|
||||
<param.hdl.SynthesisToolPackageName />
|
||||
<param.hdl.SynthesisToolSpeedValue />
|
||||
<param.hdl.TargetInterface />
|
||||
<param.hdl.CheckConformance />
|
||||
<param.hdl.LaunchConformanceReport />
|
||||
<param.hdl.GenerateEDAScripts />
|
||||
<param.hdl.GenerateHDLCode />
|
||||
<param.hdl.AdditionalSynthesisProjectFiles />
|
||||
<param.hdl.CriticalPathSource />
|
||||
<param.hdl.EmbeddedSystemTool />
|
||||
<param.hdl.EmbeddedSystemProjectFolder />
|
||||
<param.hdl.BitstreamBuildMode />
|
||||
<param.hdl.ReferenceDesign />
|
||||
<param.hdl.ReferenceDesignPath />
|
||||
<param.hdl.LegacyDefaultTestFile />
|
||||
<param.WorkingFolder />
|
||||
<param.SpecifiedWorkingFolder />
|
||||
<param.BuildFolder>option.BuildFolder.Project</param.BuildFolder>
|
||||
<param.SpecifiedBuildFolder />
|
||||
<param.SearchPaths />
|
||||
<param.hdl.MapPersistentVarsToRAM />
|
||||
<param.hdl.RAMThreshold />
|
||||
<param.hdl.MapPipelineDelaysToRAM />
|
||||
<param.hdl.RAMVariableNames />
|
||||
<param.hdl.RegisterInputs />
|
||||
<param.hdl.RegisterOutputs />
|
||||
<param.hdl.DistributedPipelining />
|
||||
<param.hdl.DistributedPipeliningPriority />
|
||||
<param.hdl.PreserveDesignDelays />
|
||||
<param.hdl.InputPipeline />
|
||||
<param.hdl.OutputPipeline />
|
||||
<param.hdl.PipelineVariables />
|
||||
<param.hdl.ResourceSharing />
|
||||
<param.hdl.ConstantMultiplierOptimization />
|
||||
<param.hdl.LoopOptimization />
|
||||
<param.GenerateComments />
|
||||
<param.MATLABSourceComments />
|
||||
<param.hdl.VHDLFileExt />
|
||||
<param.hdl.VerilogFileExt />
|
||||
<param.hdl.DateComment />
|
||||
<param.hdl.UserComment />
|
||||
<param.hdl.ModulePrefix />
|
||||
<param.hdl.PackagePostfix />
|
||||
<param.hdl.EntityConflictPostfix />
|
||||
<param.hdl.ReservedWordPostfix />
|
||||
<param.hdl.ClockProcessPostfix />
|
||||
<param.hdl.ComplexRealPostfix />
|
||||
<param.hdl.ComplexImagPostfix />
|
||||
<param.hdl.PipelinePostfix />
|
||||
<param.hdl.EnablePrefix />
|
||||
<param.hdl.InlineConfigurations />
|
||||
<param.hdl.UseRisingEdge />
|
||||
<param.hdl.UseMatrixTypesInHDL />
|
||||
<param.hdl.HDLCompileFilePostfix />
|
||||
<param.hdl.HDLCompileInit />
|
||||
<param.hdl.HDLCompileVHDLCmd />
|
||||
<param.hdl.HDLCompileVerilogCmd />
|
||||
<param.hdl.HDLCompileTerm />
|
||||
<param.hdl.HDLSimFilePostfix />
|
||||
<param.hdl.HDLSimInit />
|
||||
<param.hdl.HDLSimCmd />
|
||||
<param.hdl.HDLSimViewWaveCmd />
|
||||
<param.hdl.HDLSimTerm />
|
||||
<param.hdl.HDLSynthTool />
|
||||
<var.hasSynthesisToolScript />
|
||||
<var.toolSpecificEDAScript />
|
||||
<param.hdl.HDLSynthFilePostfix />
|
||||
<param.hdl.HDLSynthInit />
|
||||
<param.hdl.HDLSynthCmd />
|
||||
<param.hdl.HDLSynthTerm />
|
||||
<param.hdl.HDLLintTool />
|
||||
<var.LintToolScript />
|
||||
<var.hasHDLLintTool />
|
||||
<param.hdl.HDLLintInit />
|
||||
<param.hdl.HDLLintCmd />
|
||||
<param.hdl.HDLLintTerm />
|
||||
<param.hdl.ResetType />
|
||||
<param.hdl.ResetAssertedLevel />
|
||||
<param.hdl.ResetInputPort />
|
||||
<param.hdl.ClockInputPort />
|
||||
<param.hdl.ClockEdge />
|
||||
<param.hdl.ClockEnableInputPort />
|
||||
<param.hdl.Oversampling />
|
||||
<param.hdl.EnableRate />
|
||||
<param.hdl.InputType />
|
||||
<param.hdl.OutputType />
|
||||
<param.hdl.ClockEnableOutputPort />
|
||||
<param.hdl.ScalarizePorts />
|
||||
<param.hdl.HDLCodingStandard />
|
||||
<var.HDLCodingStandard_FilterPassingRules_enable />
|
||||
<var.HDLCodingStandard_DetectDuplicateNamesCheck_enable />
|
||||
<var.HDLCodingStandard_HDLKeywords_enable />
|
||||
<var.HDLCodingStandard_ModuleInstanceEntityNameLength_enable />
|
||||
<var.HDLCodingStandard_ModuleInstanceEntityNameLength_min />
|
||||
<var.HDLCodingStandard_ModuleInstanceEntityNameLength_max />
|
||||
<var.HDLCodingStandard_SignalPortParamNameLength_enable />
|
||||
<var.HDLCodingStandard_SignalPortParamNameLength_min />
|
||||
<var.HDLCodingStandard_SignalPortParamNameLength_max />
|
||||
<var.HDLCodingStandard_MinimizeVariableUsage_enable />
|
||||
<var.HDLCodingStandard_InitialStatements_enable />
|
||||
<var.HDLCodingStandard_IfElseChain_enable />
|
||||
<var.HDLCodingStandard_IfElseChain_length />
|
||||
<var.HDLCodingStandard_IfElseNesting_enable />
|
||||
<var.HDLCodingStandard_IfElseNesting_depth />
|
||||
<var.HDLCodingStandard_MultiplierBitWidth_enable />
|
||||
<var.HDLCodingStandard_MultiplierBitWidth_width />
|
||||
<var.HDLCodingStandard_NonIntegerTypes_enable />
|
||||
<var.HDLCodingStandard_LineLength_enable />
|
||||
<var.HDLCodingStandard_LineLength_length />
|
||||
<param.hdl.GenerateCosimTestBench />
|
||||
<param.hdl.CosimLogOutputs />
|
||||
<param.hdl.CosimTool />
|
||||
<param.hdl.CosimRunMode />
|
||||
<param.hdl.SimulateCosimTestBench />
|
||||
<param.hdl.CosimClockHighTime />
|
||||
<param.hdl.CosimClockLowTime />
|
||||
<param.hdl.CosimHoldTime />
|
||||
<param.hdl.CosimClockEnableDelay />
|
||||
<param.hdl.CosimResetLength />
|
||||
<param.hdl.GenerateFILTestBench />
|
||||
<param.hdl.FILLogOutputs />
|
||||
<param.hdl.FILBoardName />
|
||||
<param.hdl.FILConnection />
|
||||
<param.hdl.FILBoardIPAddress />
|
||||
<param.hdl.FILBoardMACAddress />
|
||||
<param.hdl.FILAdditionalFiles />
|
||||
<param.hdl.SimulateFILTestBench />
|
||||
<var.hasTestBench />
|
||||
<param.hdl.GenerateHDLTestBench />
|
||||
<param.hdl.SimulateGeneratedCode />
|
||||
<param.hdl.SimulationTool />
|
||||
<param.hdl.TestBenchPostfix />
|
||||
<param.hdl.ForceClock />
|
||||
<param.hdl.ClockHighTime />
|
||||
<param.hdl.ClockLowTime />
|
||||
<param.hdl.HoldTime />
|
||||
<param.hdl.ForceClockEnable />
|
||||
<param.hdl.TestBenchClockEnableDelay />
|
||||
<param.hdl.ForceReset />
|
||||
<param.hdl.ResetLength />
|
||||
<param.hdl.HoldInputDataBetweenSamples />
|
||||
<param.hdl.InputDataInterval />
|
||||
<param.hdl.InitializeTestBenchInputs />
|
||||
<param.hdl.MultifileTestBench />
|
||||
<param.hdl.TestBenchDataPostfix />
|
||||
<param.hdl.TestReferencePostfix />
|
||||
<param.hdl.UseFileIOInTestBench />
|
||||
<param.hdl.IgnoreDataChecking />
|
||||
<param.hdl.SimulationIterationLimit />
|
||||
<param.hdl.UseFiAccelForTestBench />
|
||||
<param.hdl.hdlVariables />
|
||||
<param.hdl.hdlComputedVariables />
|
||||
<param.hdl.InitializeBlockRAM />
|
||||
<param.hdl.RAMArchitecture />
|
||||
<param.hdl.PartitionFunctions />
|
||||
<param.hdl.InstantiateFunctions />
|
||||
<param.hdl.GenerateMLFcnBlock />
|
||||
<param.hdl.GenerateXSGBlock />
|
||||
<unset>
|
||||
<param.hdl.Workflow />
|
||||
<param.hdl.TargetLanguage />
|
||||
<param.hdl.TargetPlatform />
|
||||
<param.hdl.SynthesisTool />
|
||||
<param.hdl.InputFrequency />
|
||||
<param.hdl.TargetFrequency />
|
||||
<param.hdl.IPCoreName />
|
||||
<param.hdl.IPCoreVersion />
|
||||
<param.hdl.AdditionalIPFiles />
|
||||
<param.hdl.ExecutionMode />
|
||||
<param.hdl.SynthesisToolChipFamily />
|
||||
<param.hdl.SynthesisToolDeviceName />
|
||||
<param.hdl.SynthesisToolPackageName />
|
||||
<param.hdl.SynthesisToolSpeedValue />
|
||||
<param.hdl.TargetInterface />
|
||||
<param.hdl.CheckConformance />
|
||||
<param.hdl.LaunchConformanceReport />
|
||||
<param.hdl.GenerateEDAScripts />
|
||||
<param.hdl.GenerateHDLCode />
|
||||
<param.hdl.AdditionalSynthesisProjectFiles />
|
||||
<param.hdl.CriticalPathSource />
|
||||
<param.hdl.EmbeddedSystemTool />
|
||||
<param.hdl.EmbeddedSystemProjectFolder />
|
||||
<param.hdl.BitstreamBuildMode />
|
||||
<param.hdl.ReferenceDesign />
|
||||
<param.hdl.ReferenceDesignPath />
|
||||
<param.hdl.LegacyDefaultTestFile />
|
||||
<param.WorkingFolder />
|
||||
<param.SpecifiedWorkingFolder />
|
||||
<param.BuildFolder />
|
||||
<param.SpecifiedBuildFolder />
|
||||
<param.SearchPaths />
|
||||
<param.hdl.MapPersistentVarsToRAM />
|
||||
<param.hdl.RAMThreshold />
|
||||
<param.hdl.MapPipelineDelaysToRAM />
|
||||
<param.hdl.RAMVariableNames />
|
||||
<param.hdl.RegisterInputs />
|
||||
<param.hdl.RegisterOutputs />
|
||||
<param.hdl.DistributedPipelining />
|
||||
<param.hdl.DistributedPipeliningPriority />
|
||||
<param.hdl.PreserveDesignDelays />
|
||||
<param.hdl.InputPipeline />
|
||||
<param.hdl.OutputPipeline />
|
||||
<param.hdl.PipelineVariables />
|
||||
<param.hdl.ResourceSharing />
|
||||
<param.hdl.ConstantMultiplierOptimization />
|
||||
<param.hdl.LoopOptimization />
|
||||
<param.GenerateComments />
|
||||
<param.MATLABSourceComments />
|
||||
<param.hdl.VHDLFileExt />
|
||||
<param.hdl.VerilogFileExt />
|
||||
<param.hdl.DateComment />
|
||||
<param.hdl.UserComment />
|
||||
<param.hdl.ModulePrefix />
|
||||
<param.hdl.PackagePostfix />
|
||||
<param.hdl.EntityConflictPostfix />
|
||||
<param.hdl.ReservedWordPostfix />
|
||||
<param.hdl.ClockProcessPostfix />
|
||||
<param.hdl.ComplexRealPostfix />
|
||||
<param.hdl.ComplexImagPostfix />
|
||||
<param.hdl.PipelinePostfix />
|
||||
<param.hdl.EnablePrefix />
|
||||
<param.hdl.InlineConfigurations />
|
||||
<param.hdl.UseRisingEdge />
|
||||
<param.hdl.UseMatrixTypesInHDL />
|
||||
<param.hdl.HDLCompileFilePostfix />
|
||||
<param.hdl.HDLCompileInit />
|
||||
<param.hdl.HDLCompileVHDLCmd />
|
||||
<param.hdl.HDLCompileVerilogCmd />
|
||||
<param.hdl.HDLCompileTerm />
|
||||
<param.hdl.HDLSimFilePostfix />
|
||||
<param.hdl.HDLSimInit />
|
||||
<param.hdl.HDLSimCmd />
|
||||
<param.hdl.HDLSimViewWaveCmd />
|
||||
<param.hdl.HDLSimTerm />
|
||||
<param.hdl.HDLSynthTool />
|
||||
<var.hasSynthesisToolScript />
|
||||
<var.toolSpecificEDAScript />
|
||||
<param.hdl.HDLSynthFilePostfix />
|
||||
<param.hdl.HDLSynthInit />
|
||||
<param.hdl.HDLSynthCmd />
|
||||
<param.hdl.HDLSynthTerm />
|
||||
<param.hdl.HDLLintTool />
|
||||
<var.LintToolScript />
|
||||
<var.hasHDLLintTool />
|
||||
<param.hdl.HDLLintInit />
|
||||
<param.hdl.HDLLintCmd />
|
||||
<param.hdl.HDLLintTerm />
|
||||
<param.hdl.ResetType />
|
||||
<param.hdl.ResetAssertedLevel />
|
||||
<param.hdl.ResetInputPort />
|
||||
<param.hdl.ClockInputPort />
|
||||
<param.hdl.ClockEdge />
|
||||
<param.hdl.ClockEnableInputPort />
|
||||
<param.hdl.Oversampling />
|
||||
<param.hdl.EnableRate />
|
||||
<param.hdl.InputType />
|
||||
<param.hdl.OutputType />
|
||||
<param.hdl.ClockEnableOutputPort />
|
||||
<param.hdl.ScalarizePorts />
|
||||
<param.hdl.HDLCodingStandard />
|
||||
<var.HDLCodingStandard_FilterPassingRules_enable />
|
||||
<var.HDLCodingStandard_DetectDuplicateNamesCheck_enable />
|
||||
<var.HDLCodingStandard_HDLKeywords_enable />
|
||||
<var.HDLCodingStandard_ModuleInstanceEntityNameLength_enable />
|
||||
<var.HDLCodingStandard_ModuleInstanceEntityNameLength_min />
|
||||
<var.HDLCodingStandard_ModuleInstanceEntityNameLength_max />
|
||||
<var.HDLCodingStandard_SignalPortParamNameLength_enable />
|
||||
<var.HDLCodingStandard_SignalPortParamNameLength_min />
|
||||
<var.HDLCodingStandard_SignalPortParamNameLength_max />
|
||||
<var.HDLCodingStandard_MinimizeVariableUsage_enable />
|
||||
<var.HDLCodingStandard_InitialStatements_enable />
|
||||
<var.HDLCodingStandard_IfElseChain_enable />
|
||||
<var.HDLCodingStandard_IfElseChain_length />
|
||||
<var.HDLCodingStandard_IfElseNesting_enable />
|
||||
<var.HDLCodingStandard_IfElseNesting_depth />
|
||||
<var.HDLCodingStandard_MultiplierBitWidth_enable />
|
||||
<var.HDLCodingStandard_MultiplierBitWidth_width />
|
||||
<var.HDLCodingStandard_NonIntegerTypes_enable />
|
||||
<var.HDLCodingStandard_LineLength_enable />
|
||||
<var.HDLCodingStandard_LineLength_length />
|
||||
<param.hdl.GenerateCosimTestBench />
|
||||
<param.hdl.CosimLogOutputs />
|
||||
<param.hdl.CosimTool />
|
||||
<param.hdl.CosimRunMode />
|
||||
<param.hdl.SimulateCosimTestBench />
|
||||
<param.hdl.CosimClockHighTime />
|
||||
<param.hdl.CosimClockLowTime />
|
||||
<param.hdl.CosimHoldTime />
|
||||
<param.hdl.CosimClockEnableDelay />
|
||||
<param.hdl.CosimResetLength />
|
||||
<param.hdl.GenerateFILTestBench />
|
||||
<param.hdl.FILLogOutputs />
|
||||
<param.hdl.FILBoardName />
|
||||
<param.hdl.FILConnection />
|
||||
<param.hdl.FILBoardIPAddress />
|
||||
<param.hdl.FILBoardMACAddress />
|
||||
<param.hdl.FILAdditionalFiles />
|
||||
<param.hdl.SimulateFILTestBench />
|
||||
<var.hasTestBench />
|
||||
<param.hdl.GenerateHDLTestBench />
|
||||
<param.hdl.SimulateGeneratedCode />
|
||||
<param.hdl.SimulationTool />
|
||||
<param.hdl.TestBenchPostfix />
|
||||
<param.hdl.ForceClock />
|
||||
<param.hdl.ClockHighTime />
|
||||
<param.hdl.ClockLowTime />
|
||||
<param.hdl.HoldTime />
|
||||
<param.hdl.ForceClockEnable />
|
||||
<param.hdl.TestBenchClockEnableDelay />
|
||||
<param.hdl.ForceReset />
|
||||
<param.hdl.ResetLength />
|
||||
<param.hdl.HoldInputDataBetweenSamples />
|
||||
<param.hdl.InputDataInterval />
|
||||
<param.hdl.InitializeTestBenchInputs />
|
||||
<param.hdl.MultifileTestBench />
|
||||
<param.hdl.TestBenchDataPostfix />
|
||||
<param.hdl.TestReferencePostfix />
|
||||
<param.hdl.UseFileIOInTestBench />
|
||||
<param.hdl.IgnoreDataChecking />
|
||||
<param.hdl.SimulationIterationLimit />
|
||||
<param.hdl.UseFiAccelForTestBench />
|
||||
<param.hdl.hdlVariables />
|
||||
<param.hdl.hdlComputedVariables />
|
||||
<param.hdl.InitializeBlockRAM />
|
||||
<param.hdl.RAMArchitecture />
|
||||
<param.hdl.PartitionFunctions />
|
||||
<param.hdl.InstantiateFunctions />
|
||||
<param.hdl.GenerateMLFcnBlock />
|
||||
<param.hdl.GenerateXSGBlock />
|
||||
</unset>
|
||||
</profile>
|
||||
<param.objective>option.objective.c</param.objective>
|
||||
<param.WorkflowStep>inputTypes</param.WorkflowStep>
|
||||
<param.TestSnippets />
|
||||
<param.DefaultImportExportVariable />
|
||||
<param.RowMajor />
|
||||
<param.HighlightPotentialRowMajorIssues />
|
||||
<param.ExternalFcnMajority />
|
||||
<param.UseGlobals>option.UseGlobals.No</param.UseGlobals>
|
||||
<param.outputfile>${PROJECT_ROOT}/codegen/lib/algorithm/algorithm.a</param.outputfile>
|
||||
<param.version />
|
||||
<param.HasECoderFeatures>true</param.HasECoderFeatures>
|
||||
<param.HasGpuCoder />
|
||||
<param.mex.mainhtml />
|
||||
<param.grt.mainhtml />
|
||||
<param.CallGeneratedCodeFromTest />
|
||||
<param.AutoInferDefaultFile />
|
||||
<param.AutoInferUseVariableSize />
|
||||
<param.AutoInferUseUnboundedSize />
|
||||
<param.AutoInferVariableSizeThreshold />
|
||||
<param.AutoInferUnboundedSizeThreshold />
|
||||
<param.EnableFixedPointStep />
|
||||
<param.EnableScreener>true</param.EnableScreener>
|
||||
<param.AnnotationChecksum />
|
||||
<var.LegacyTarget />
|
||||
<var.MirrorOnOpen>false</var.MirrorOnOpen>
|
||||
<param.FixedPointEnabled>false</param.FixedPointEnabled>
|
||||
<var.redirectedInputTypeData />
|
||||
<var.DismissScreener>true</var.DismissScreener>
|
||||
<param.unifiedParamStorage />
|
||||
<var.gc.lastOutputRoot />
|
||||
<var.gc.lastOutputType />
|
||||
<var.gc.preBuildChecksum />
|
||||
<var.cfi.lastOutputRoot />
|
||||
<var.cfi.preBuildChecksum />
|
||||
<var.outdatedOnRestore />
|
||||
<var.lastUserSourceChecksum />
|
||||
<var.sourceSetState><?xml version="1.0" encoding="UTF-8" standalone="yes"?><sourceModel><primarySourceFiles><file>/Users/patrickjmcd/GitHub/Henry-Pump/POC-MatLab/algorithm.m</file></primarySourceFiles><fixedPointSourceFiles/><fixedPointSourceRegistered>false</fixedPointSourceRegistered><fixedPointSourceSelected>false</fixedPointSourceSelected></sourceModel></var.sourceSetState>
|
||||
<param.forceMexBuild>false</param.forceMexBuild>
|
||||
<param.configImportActive>false</param.configImportActive>
|
||||
<var.boundToGui>true</var.boundToGui>
|
||||
<param.mex.outputfile>algorithm_mex</param.mex.outputfile>
|
||||
<param.grt.outputfile>algorithm</param.grt.outputfile>
|
||||
<param.artifact>option.target.artifact.lib</param.artifact>
|
||||
<param.outputfile>${PROJECT_ROOT}/codegen/lib/algorithm/algorithm.a</param.outputfile>
|
||||
<param.EnableAutoExtrinsicCalls />
|
||||
<param.UsePreconditions>false</param.UsePreconditions>
|
||||
<param.FeatureFlags />
|
||||
<param.FixedPointMode>option.FixedPointMode.None</param.FixedPointMode>
|
||||
<param.AutoScaleLoopIndexVariables />
|
||||
<param.ComputedFixedPointData />
|
||||
<param.UserFixedPointData />
|
||||
<param.DefaultWordLength />
|
||||
<param.DefaultFractionLength />
|
||||
<param.FixedPointSafetyMargin />
|
||||
<param.FixedPointFimath />
|
||||
<param.FixedPointTypeSource />
|
||||
<param.StaticAnalysisTimeout />
|
||||
<param.StaticAnalysisGlobalRangesOnly />
|
||||
<param.LogAllIOValues />
|
||||
<param.DetectOverflows />
|
||||
<param.LogHistogram />
|
||||
<param.ShowCoverage />
|
||||
<param.ExcludedFixedPointVerificationFiles />
|
||||
<param.ExcludedFixedPointSimulationFiles />
|
||||
<param.InstrumentedBuildChecksum />
|
||||
<param.FixedPointStaticAnalysisChecksum />
|
||||
<param.InstrumentedMexFile />
|
||||
<param.FixedPointValidationChecksum />
|
||||
<param.FixedPointSourceCodeChecksum />
|
||||
<param.FixedPointFunctionReplacements />
|
||||
<param.OptimizeWholeNumbers />
|
||||
<param.ContainerTypes />
|
||||
<param.GeneratedFixedPointFileSuffix>_fixpt</param.GeneratedFixedPointFileSuffix>
|
||||
<param.PlotFunction />
|
||||
<param.SDIPlot />
|
||||
<param.EnableCodeEfficiencyChecks />
|
||||
<param.DefaultFixedPointSignedness />
|
||||
<param.FixedPointTypeProposalMode />
|
||||
<param.EnableFixedPointStep />
|
||||
<var.lastFixedPointAction />
|
||||
<var.lastSimContext />
|
||||
<var.lastVerifyContext />
|
||||
<param.fpDataRoot />
|
||||
<param.fpUserFileChecksum />
|
||||
<var.snapshotChecksum />
|
||||
<param.fpLastConvertChecksum />
|
||||
<var.functionBlockSid />
|
||||
<param.fptSignedness />
|
||||
<var.FixedPointAnalysisMode />
|
||||
<param.FixedPointUseDesignRanges />
|
||||
<unset>
|
||||
<param.objective />
|
||||
<param.TestSnippets />
|
||||
<param.DefaultImportExportVariable />
|
||||
<param.RowMajor />
|
||||
<param.HighlightPotentialRowMajorIssues />
|
||||
<param.ExternalFcnMajority />
|
||||
<param.UseGlobals />
|
||||
<param.outputfile />
|
||||
<param.version />
|
||||
<param.HasECoderFeatures />
|
||||
<param.HasGpuCoder />
|
||||
<param.mex.mainhtml />
|
||||
<param.grt.mainhtml />
|
||||
<param.CallGeneratedCodeFromTest />
|
||||
<param.AutoInferDefaultFile />
|
||||
<param.AutoInferUseVariableSize />
|
||||
<param.AutoInferUseUnboundedSize />
|
||||
<param.AutoInferVariableSizeThreshold />
|
||||
<param.AutoInferUnboundedSizeThreshold />
|
||||
<param.EnableFixedPointStep />
|
||||
<param.EnableScreener />
|
||||
<param.AnnotationChecksum />
|
||||
<var.LegacyTarget />
|
||||
<var.MirrorOnOpen />
|
||||
<param.FixedPointEnabled />
|
||||
<var.redirectedInputTypeData />
|
||||
<param.unifiedParamStorage />
|
||||
<var.gc.lastOutputRoot />
|
||||
<var.gc.lastOutputType />
|
||||
<var.gc.preBuildChecksum />
|
||||
<var.cfi.lastOutputRoot />
|
||||
<var.cfi.preBuildChecksum />
|
||||
<var.outdatedOnRestore />
|
||||
<var.lastUserSourceChecksum />
|
||||
<param.forceMexBuild />
|
||||
<param.configImportActive />
|
||||
<param.mex.outputfile />
|
||||
<param.grt.outputfile />
|
||||
<param.EnableAutoExtrinsicCalls />
|
||||
<param.UsePreconditions />
|
||||
<param.FeatureFlags />
|
||||
<param.FixedPointMode />
|
||||
<param.AutoScaleLoopIndexVariables />
|
||||
<param.ComputedFixedPointData />
|
||||
<param.UserFixedPointData />
|
||||
<param.DefaultWordLength />
|
||||
<param.DefaultFractionLength />
|
||||
<param.FixedPointSafetyMargin />
|
||||
<param.FixedPointFimath />
|
||||
<param.FixedPointTypeSource />
|
||||
<param.StaticAnalysisTimeout />
|
||||
<param.StaticAnalysisGlobalRangesOnly />
|
||||
<param.LogAllIOValues />
|
||||
<param.DetectOverflows />
|
||||
<param.LogHistogram />
|
||||
<param.ShowCoverage />
|
||||
<param.ExcludedFixedPointVerificationFiles />
|
||||
<param.ExcludedFixedPointSimulationFiles />
|
||||
<param.InstrumentedBuildChecksum />
|
||||
<param.FixedPointStaticAnalysisChecksum />
|
||||
<param.InstrumentedMexFile />
|
||||
<param.FixedPointValidationChecksum />
|
||||
<param.FixedPointSourceCodeChecksum />
|
||||
<param.FixedPointFunctionReplacements />
|
||||
<param.OptimizeWholeNumbers />
|
||||
<param.ContainerTypes />
|
||||
<param.GeneratedFixedPointFileSuffix />
|
||||
<param.PlotFunction />
|
||||
<param.SDIPlot />
|
||||
<param.EnableCodeEfficiencyChecks />
|
||||
<param.DefaultFixedPointSignedness />
|
||||
<param.FixedPointTypeProposalMode />
|
||||
<var.lastFixedPointAction />
|
||||
<var.lastSimContext />
|
||||
<var.lastVerifyContext />
|
||||
<param.fpDataRoot />
|
||||
<param.fpUserFileChecksum />
|
||||
<var.snapshotChecksum />
|
||||
<param.fpLastConvertChecksum />
|
||||
<var.functionBlockSid />
|
||||
<param.fptSignedness />
|
||||
<var.FixedPointAnalysisMode />
|
||||
<param.FixedPointUseDesignRanges />
|
||||
</unset>
|
||||
<fileset.entrypoints>
|
||||
<file custom-data-expanded="false" value="${PROJECT_ROOT}/algorithm.m" />
|
||||
</fileset.entrypoints>
|
||||
<fileset.testbench>
|
||||
<file>${PROJECT_ROOT}/barneyWellTest.mlx</file>
|
||||
</fileset.testbench>
|
||||
<fileset.inputtypes>
|
||||
<file>${PROJECT_ROOT}/algorithm.m</file>
|
||||
</fileset.inputtypes>
|
||||
<build-deliverables>
|
||||
<file location="${PROJECT_ROOT}/codegen/lib/algorithm" name="algorithm.a" optional="false">/Users/patrickjmcd/GitHub/Henry-Pump/POC-MatLab/codegen/lib/algorithm/algorithm.a</file>
|
||||
</build-deliverables>
|
||||
<workflow />
|
||||
<matlab>
|
||||
<root>/Applications/MATLAB_R2017a.app</root>
|
||||
<toolboxes>
|
||||
<toolbox name="matlabcoder" />
|
||||
<toolbox name="embeddedcoder" />
|
||||
</toolboxes>
|
||||
<toolbox>
|
||||
<matlabcoder>
|
||||
<enabled>true</enabled>
|
||||
</matlabcoder>
|
||||
</toolbox>
|
||||
<toolbox>
|
||||
<embeddedcoder>
|
||||
<enabled>true</enabled>
|
||||
</embeddedcoder>
|
||||
</toolbox>
|
||||
</matlab>
|
||||
<platform>
|
||||
<unix>true</unix>
|
||||
<mac>true</mac>
|
||||
<windows>false</windows>
|
||||
<win2k>false</win2k>
|
||||
<winxp>false</winxp>
|
||||
<vista>false</vista>
|
||||
<linux>false</linux>
|
||||
<solaris>false</solaris>
|
||||
<osver>10.12.6</osver>
|
||||
<os32>false</os32>
|
||||
<os64>true</os64>
|
||||
<arch>maci64</arch>
|
||||
<matlab>true</matlab>
|
||||
</platform>
|
||||
</configuration>
|
||||
</deployment-project>
|
||||
BIN
barneyWellTest.mlx
Normal file
BIN
barneyWellTest.mlx
Normal file
Binary file not shown.
BIN
buildInfo.mat
Normal file
BIN
buildInfo.mat
Normal file
Binary file not shown.
1110
html/Well.html
Normal file
1110
html/Well.html
Normal file
File diff suppressed because it is too large
Load Diff
Binary file not shown.
182
pocAlgorithm.m
Normal file
182
pocAlgorithm.m
Normal file
@@ -0,0 +1,182 @@
|
||||
%% computeLoadPositionStatus Function
|
||||
function [pumpPosition, pumpLoad, status, topPosArray, topLoadArray, ...
|
||||
count] = pocAlgorithm(polishedRodPosition, lastPolishedRodPosition, ...
|
||||
polishedRodLoad, count, dt, a, c, factorArray, rodLengths, lagIndex, ...
|
||||
rodYMs, area, lengthRequired, centerPoint, rodWeightFluidTotal, ...
|
||||
stuffingBoxFriction, force, topPosArray, topLoadArray)
|
||||
|
||||
pumpPosition = -1.0;
|
||||
pumpLoad = -1.0;
|
||||
status = -1;
|
||||
loadMult = 1.0;
|
||||
tapersAllowed = 1;
|
||||
|
||||
numTapers = length(rodLengths);
|
||||
|
||||
for ii = 2:lengthRequired(1)
|
||||
topPosArray(1, ii-1) = topPosArray(1, ii);
|
||||
topLoadArray(1, ii-1) = topLoadArray(1, ii);
|
||||
end
|
||||
|
||||
topPosArray(1, lengthRequired(1)) = -1.0 * polishedRodPosition / 12.0;
|
||||
|
||||
if polishedRodPosition > lastPolishedRodPosition
|
||||
topLoadArray(1, lengthRequired(1)) = loadMult * ...
|
||||
(polishedRodLoad - rodWeightFluidTotal) - stuffingBoxFriction;
|
||||
elseif polishedRodPosition < lastPolishedRodPosition
|
||||
topLoadArray(1, lengthRequired(1)) = loadMult * ...
|
||||
(polishedRodLoad - rodWeightFluidTotal) + stuffingBoxFriction;
|
||||
else
|
||||
topLoadArray(1, lengthRequired(1)) = loadMult * ...
|
||||
(polishedRodLoad - rodWeightFluidTotal);
|
||||
end
|
||||
|
||||
tap=1;
|
||||
while tap <= tapersAllowed
|
||||
count(tap) = count(tap) + 1;
|
||||
if count(tap) >= lengthRequired(tap)
|
||||
if tap+1 <= numTapers
|
||||
% working our way down to the bottom of the well
|
||||
for pti = 2:lengthRequired(tap+1)+1
|
||||
topPosArray(tap+1, pti-1) = topPosArray(tap+1, pti);
|
||||
topLoadArray(tap+1, pti-1) = topLoadArray(tap+1, pti);
|
||||
end
|
||||
[pumpPosition, pumpLoad] = positionLoadI(dt, a(tap), ...
|
||||
c(tap), factorArray(tap), rodLengths(tap), ...
|
||||
lagIndex(tap), rodYMs(tap), area(tap), ...
|
||||
centerPoint(tap), topPosArray(tap,:), topLoadArray(tap,:));
|
||||
status = 0;
|
||||
topPosArray(tap+1, lengthRequired(tap+1)) = pumpPosition;
|
||||
topLoadArray(tap+1, lengthRequired(tap+1)) = pumpLoad;
|
||||
else
|
||||
[position, load] = positionLoadI(dt, a(tap), ...
|
||||
c(tap), factorArray(tap), rodLengths(tap), ...
|
||||
lagIndex(tap), rodYMs(tap), area(tap), ...
|
||||
centerPoint(tap), topPosArray(tap,:), topLoadArray(tap,:));
|
||||
pumpPosition = -12.0 * position;
|
||||
pumpLoad = load + force(numTapers);
|
||||
status = 1;
|
||||
end
|
||||
count(tap) = count(tap) - 1;
|
||||
tapersAllowed = tapersAllowed + 1;
|
||||
if tapersAllowed > numTapers
|
||||
tapersAllowed = numTapers;
|
||||
end
|
||||
end
|
||||
tap = tap + 1;
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
%% Position and Load Function
|
||||
% This function calculates the position and load for a given taper
|
||||
function [pumpPosition, pumpLoad] = positionLoadI(dt, ai, ci, factori, ...
|
||||
lengthi, lagi, yi, areai, centeri, topPosArrayI, topLoadArrayI)
|
||||
|
||||
% FUNCTION PARAMETERS
|
||||
% dt [seconds] = amount of time between measurements
|
||||
% ai [?] = a value for the specific taper
|
||||
% ci [?] = damping factor for the taper
|
||||
% factori [?] = factor value for the taper
|
||||
% lengthi [feet] = length of the taper
|
||||
% lagi [?] = lag index of the taper
|
||||
% yi [?] = youngs modulus for the taper
|
||||
% (SHOULD BE 7.2 * 10^6 or 30.6 * 10^6)
|
||||
% areai [in^2] = annulus area of the taper
|
||||
% centeri [?] = centerpoint of the taper
|
||||
% topPosArrayI [] = array of position values
|
||||
% topLoadArrayI [] = array of load values
|
||||
|
||||
|
||||
iBefore = centeri - lagi;
|
||||
iAfter = centeri + lagi;
|
||||
|
||||
%% Position Calculation
|
||||
pumpPosition = exp(ci * lengthi / (2.0 * ai)) * (topPosArrayI(iAfter) + ...
|
||||
factori * (topPosArrayI(iAfter+1) - topPosArrayI(iAfter)));
|
||||
|
||||
pumpPosition = pumpPosition + exp(-ci * lengthi / (2.0 * ai)) * ...
|
||||
(topPosArrayI(iBefore) + factori * (topPosArrayI(iBefore-1) - ...
|
||||
topPosArrayI(iBefore)));
|
||||
|
||||
pumpPosition = 0.5 * pumpPosition;
|
||||
insideIntegral = 0.0;
|
||||
|
||||
for jj = 1:2*lagi-1
|
||||
insideIntegral = insideIntegral + dt / (yi * areai) * ...
|
||||
(exp((-ci * (lagi - jj) * dt) / 2.0) * ...
|
||||
topLoadArrayI(iBefore + jj));
|
||||
end
|
||||
|
||||
insideIntegral = insideIntegral + 0.5 * dt /(yi * areai) * ...
|
||||
(exp((-ci * lagi * dt) / 2.0) * topLoadArrayI(iBefore) + ...
|
||||
exp((-ci * -lagi * dt) / 2.0) * topLoadArrayI(iAfter));
|
||||
|
||||
loadBefore = exp((-ci * lagi * dt) / 2.0) * topLoadArrayI(iBefore) + ...
|
||||
factori * (exp((-ci * (lagi + 1) * dt) / 2.0) * topLoadArrayI(iBefore-1) - ...
|
||||
exp((-ci * lagi * dt) / 2.0) * topLoadArrayI(iBefore));
|
||||
|
||||
loadAfter = exp((-ci * -lagi * dt) / 2.0) * topLoadArrayI(iAfter) + ...
|
||||
factori * (exp((-ci * (-lagi - 1) * dt) / 2.0) * topLoadArrayI(iAfter+1) - ...
|
||||
exp((-ci * -lagi * dt) / 2.0) * topLoadArrayI(iAfter));
|
||||
|
||||
insideIntegral = insideIntegral + 0.5 * factori * dt / (yi * areai) * ...
|
||||
(loadBefore + exp((-ci * lagi * dt) / 2.0) * topLoadArrayI(iBefore));
|
||||
|
||||
insideIntegral = insideIntegral + 0.5 * factori * dt / (yi * areai) * ...
|
||||
(loadAfter + exp((-ci * -lagi * dt) / 2.0) * topLoadArrayI(iAfter));
|
||||
|
||||
insideIntegral = 0.5 * ai * insideIntegral;
|
||||
pumpPosition = pumpPosition + insideIntegral;
|
||||
|
||||
insideIntegral = 0.0;
|
||||
|
||||
for jj = 1:2*lagi-1
|
||||
insideIntegral = insideIntegral + dt * (exp((-ci * (lagi - jj) * dt) / 2.0) * ...
|
||||
topPosArrayI(iBefore+jj));
|
||||
end
|
||||
|
||||
insideIntegral = insideIntegral + 0.5 * dt * (exp((-ci * lagi * dt) / 2.0) * ...
|
||||
topPosArrayI(iBefore) + exp((-ci * -lagi * dt) / 2.0) * ...
|
||||
topPosArrayI(iAfter));
|
||||
|
||||
loadBefore3 = exp((-ci * lagi * dt) / 2.0) * topPosArrayI(iBefore) + ...
|
||||
factori * (exp((-ci * (lagi+1) * dt) / 2.0) * topPosArrayI(iBefore-1) - ...
|
||||
exp((-ci * lagi * dt) / 2.0) * topPosArrayI(iBefore));
|
||||
|
||||
loadAfter3 = exp((-ci * -lagi * dt) / 2.0) * topPosArrayI(iAfter) + ...
|
||||
factori * (exp((-ci * (-lagi-1) * dt) / 2.0) * topPosArrayI(iAfter+1) - ...
|
||||
exp((-ci * -lagi * dt) / 2.0) * topPosArrayI(iAfter));
|
||||
|
||||
insideIntegral = insideIntegral + 0.5 * factori * dt * (loadBefore3 + ...
|
||||
exp((-ci * lagi * dt) / 2.0) * topPosArrayI(iBefore));
|
||||
|
||||
insideIntegral = insideIntegral + 0.5 * factori * dt * (loadAfter3 + ...
|
||||
exp((-ci * -lagi * dt) / 2.0) * topPosArrayI(iAfter));
|
||||
|
||||
insideIntegral = -(ci * lengthi / 4) * 0.5 * (ci / (2.0 * ai)) * insideIntegral;
|
||||
pumpPosition = pumpPosition + insideIntegral;
|
||||
|
||||
%% Load Calculation
|
||||
pumpLoad = 0.5 * (ai / (yi * areai)) * (1 / ai) * (loadBefore + loadAfter);
|
||||
pumpLoad = pumpLoad - (ci * lengthi / 4) * (0.5 * (ci / (2.0 * ai))) * (1 / ai) * ...
|
||||
(loadBefore3 + loadAfter3);
|
||||
|
||||
ptAfter = (topPosArrayI(iAfter+1) - topPosArrayI(iAfter-1)) / (2.0 * dt);
|
||||
ptBefore = (topPosArrayI(iBefore+1) - topPosArrayI(iBefore-1)) / (2.0 * dt);
|
||||
firstPart = (exp((ci * lengthi) / (2.0 * ai)) * ptAfter - exp((-ci * lengthi) / ...
|
||||
(2.0 * ai)) * ptBefore) / (2.0 * ai);
|
||||
|
||||
firstPart = firstPart + (ci * exp((ci * lengthi) / (2.0 * ai)) * ...
|
||||
topPosArrayI(iAfter) - ci * exp((-ci * lengthi) / (2.0 * ai)) * ...
|
||||
topPosArrayI(iBefore)) / (4 * ai);
|
||||
|
||||
pumpLoad = yi * areai * (firstPart + pumpLoad);
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
1002
pocAlgorithm.prj
Normal file
1002
pocAlgorithm.prj
Normal file
File diff suppressed because it is too large
Load Diff
BIN
pocAlgorithm_mex.mexmaci64
Normal file
BIN
pocAlgorithm_mex.mexmaci64
Normal file
Binary file not shown.
BIN
pocAlgorithm_pkg.zip
Normal file
BIN
pocAlgorithm_pkg.zip
Normal file
Binary file not shown.
16
test.m
16
test.m
@@ -1,16 +0,0 @@
|
||||
|
||||
malletData = csvread('mallet.csv');
|
||||
mallet = Well("Mallet", true(1));
|
||||
figure;
|
||||
for loops = 1:6
|
||||
for i = 2:size(malletData,1)
|
||||
mallet.evalSim(malletData(i,1), malletData(i,2));
|
||||
end
|
||||
end
|
||||
|
||||
% mallet.currentCard.calcStrokeData(100, mallet.fluidGradient, mallet.rodDepthTotal, ...
|
||||
% mallet.tubingAnchorDepth, mallet.tubingCrossSectionalArea, ...
|
||||
% mallet.pumpArea, mallet.frictionEstimate, ...
|
||||
% mallet.structuralRating, mallet.kFactor, mallet.waterBblRatio, mallet.oilBblRatio, ...
|
||||
% mallet.gasMcfRatio)
|
||||
|
||||
207
wellSetup.m
Normal file
207
wellSetup.m
Normal file
@@ -0,0 +1,207 @@
|
||||
%% Well Setup Function
|
||||
function wellParams = wellSetup(...
|
||||
dt, ...
|
||||
rodLengths, ...
|
||||
rodDiameters, ...
|
||||
rodMaterials, ...
|
||||
rodDampingFactors, ...
|
||||
tubingHeadPressure, ...
|
||||
stuffingBoxFriction, ...
|
||||
fluidGradient, ...
|
||||
pumpDiameter,...
|
||||
tubingOuterDiameter, ...
|
||||
tubingInnerDiameter, ...
|
||||
tubingAnchorDepth, ...
|
||||
structuralRating)
|
||||
|
||||
% FUNCTION PARAMETERS
|
||||
% dt
|
||||
% rodLengths
|
||||
% rodDiameters
|
||||
% rodMaterials
|
||||
% tubingHeadPressure
|
||||
% pumpDiameter
|
||||
% tubingOuterDiameter
|
||||
% tubingInnerDiameter
|
||||
wellParams = struct();
|
||||
wellParams.dt = dt;
|
||||
wellParams.rodLengths = rodLengths;
|
||||
wellParams.rodDiameters = rodDiameters;
|
||||
wellParams.rodMaterials = rodMaterials;
|
||||
wellParams.rodDampingFactors = rodDampingFactors;
|
||||
wellParams.tubingHeadPressure = tubingHeadPressure;
|
||||
wellParams.stuffingBoxFriction = stuffingBoxFriction;
|
||||
wellParams.fluidGradient = fluidGradient;
|
||||
wellParams.pumpDiameter = pumpDiameter;
|
||||
wellParams.tubingOuterDiameter = tubingOuterDiameter;
|
||||
wellParams.tubingInnerDiameter = tubingInnerDiameter;
|
||||
wellParams.tubingAnchorDepth = tubingAnchorDepth;
|
||||
wellParams.structuralRating = structuralRating;
|
||||
|
||||
numTapers = length(rodLengths);
|
||||
wellParams.numTapers = numTapers;
|
||||
|
||||
|
||||
|
||||
wellParams.tubingCrossSectionalArea = (pi / 4) * ...
|
||||
(power(tubingOuterDiameter, 2) - ...
|
||||
power(tubingInnerDiameter,2));
|
||||
|
||||
wellParams.pumpArea = power(pumpDiameter, 2) * pi;
|
||||
|
||||
% Calculated Taper Parameters
|
||||
area = zeros(1, numTapers+1);
|
||||
a = zeros(1, numTapers);
|
||||
pressure = zeros(1, numTapers);
|
||||
rodYMs = zeros(1, numTapers);
|
||||
rodWeightPerFoots = zeros(1, numTapers);
|
||||
force = zeros(1, numTapers);
|
||||
alpha = zeros(1, numTapers);
|
||||
stretch = zeros(1, numTapers);
|
||||
xOverA = zeros(1, numTapers);
|
||||
lagIndex = zeros(1, numTapers, 'uint16');
|
||||
factorArray = zeros(1, numTapers);
|
||||
centerPoint = zeros(1, numTapers, 'uint16');
|
||||
lengthRequired = zeros(1, numTapers, 'uint16');
|
||||
|
||||
|
||||
% Calculated Rod String Totals
|
||||
rodDepthTotal = 0.0;
|
||||
buoyantForceTotal = 0.0;
|
||||
rodWeightAirTotal = 0.0;
|
||||
|
||||
|
||||
for i = 1:numTapers
|
||||
area(i) = pi / 4 * power(rodDiameters(i), 2);
|
||||
|
||||
if lower(rodMaterials(i)) == "fiberglass"
|
||||
rodYMs(i) = 7.2;
|
||||
else
|
||||
rodYMs(i) = 30.5;
|
||||
end
|
||||
|
||||
rodWeightPerFoots(i) = lookupRodWeightPerFoot(rodYMs(i), ...
|
||||
rodDiameters(i));
|
||||
end
|
||||
wellParams.area = area;
|
||||
wellParams.rodYMs = rodYMs;
|
||||
wellParams.rodWeightPerFoots = rodWeightPerFoots;
|
||||
|
||||
for i = 1:numTapers
|
||||
a(i) = 1000.0 * sqrt(32.2 * rodYMs(i) * area(i) / rodWeightPerFoots(i));
|
||||
rodDepthTotal = rodDepthTotal + rodLengths(i);
|
||||
|
||||
if i > 1
|
||||
pressure(i) = pressure(i - 1) + fluidGradient * rodLengths(i);
|
||||
else
|
||||
pressure(i) = tubingHeadPressure + fluidGradient * rodLengths(i);
|
||||
end
|
||||
|
||||
buoyantForceTotal = buoyantForceTotal + pressure(i) * (area(i+1) - area(i));
|
||||
rodWeightAirTotal = rodWeightAirTotal + rodWeightPerFoots(i) * rodLengths(i);
|
||||
rodWeightFluidTotal = rodWeightAirTotal + buoyantForceTotal;
|
||||
end
|
||||
|
||||
wellParams.a = a;
|
||||
wellParams.rodDepthTotal = rodDepthTotal;
|
||||
wellParams.pressure = pressure;
|
||||
wellParams.buoyantForceTotal = buoyantForceTotal;
|
||||
wellParams.rodWeightAirTotal = rodWeightAirTotal;
|
||||
wellParams.rodWeightFluidTotal = rodWeightFluidTotal;
|
||||
|
||||
|
||||
for j = 1:numTapers
|
||||
weightData = 0.0;
|
||||
annularForceData = 0.0;
|
||||
|
||||
for i = j+1:numTapers
|
||||
weightData = weightData + rodWeightPerFoots(i) * rodLengths(i);
|
||||
end
|
||||
|
||||
for i = j:numTapers-1
|
||||
annularForceData = annularForceData + pressure(i) * (area(i) - area(i+1));
|
||||
end
|
||||
|
||||
force(j) = (-area(numTapers) * pressure(numTapers)) + weightData - annularForceData;
|
||||
alpha(j) = (force(j) + rodWeightPerFoots(j) * rodLengths(j)) / (rodYMs(j) * power(10, 6) * area(j));
|
||||
|
||||
if j > 1
|
||||
stretch(j) = stretch(j - 1) + alpha(j) * rodLengths(j) - ...
|
||||
(rodWeightPerFoots(j) * power(rodLengths(j), 2.0)) / ...
|
||||
(2.0 * rodYMs(j) * power(10, 6) * area(j));
|
||||
else
|
||||
stretch(j) = 0.0 + alpha(j) * rodLengths(j) - ...
|
||||
(rodWeightPerFoots(j) * power(rodLengths(j), 2.0)) / ...
|
||||
(2.0 * rodYMs(j) * power(10, 6) * area(j));
|
||||
end
|
||||
end
|
||||
wellParams.force = force;
|
||||
wellParams.alpha = alpha;
|
||||
wellParams.stretch = stretch;
|
||||
|
||||
for i = 1:numTapers
|
||||
xOverA(i) = rodLengths(i) / a(i);
|
||||
lagIndex(i) = floor(rodLengths(i) / (a(i) * dt));
|
||||
factorArray(i) = (xOverA(i) - double(lagIndex(i)) * dt) / dt;
|
||||
centerPoint(i) = lagIndex(i) + 2;
|
||||
lengthRequired(i) = 2 * (lagIndex(i) + 1) + 1;
|
||||
end
|
||||
|
||||
wellParams.xOverA = xOverA;
|
||||
wellParams.lagIndex = lagIndex;
|
||||
wellParams.factorArray = factorArray;
|
||||
wellParams.centerPoint = centerPoint;
|
||||
wellParams.lengthRequired = lengthRequired;
|
||||
|
||||
frictionEstimate = rodDepthTotal * 0.10;
|
||||
wellParams.frictionEstimate = frictionEstimate;
|
||||
end
|
||||
|
||||
%% Determines Rod Weight Per Foot given Young's Modulus and Diameter
|
||||
function wtPerFt = lookupRodWeightPerFoot(i_ym, i_diam)
|
||||
YM_STEEL=30.5;
|
||||
YM_FIBERGLASS=7.2;
|
||||
wtPerFt = -1;
|
||||
if (i_ym == YM_STEEL)
|
||||
if (i_diam <= 2 && i_diam > 1.75)
|
||||
wtPerFt = 10.7;
|
||||
elseif (i_diam <= 1.75 && i_diam > 1.65)
|
||||
wtPerFt = 8.2;
|
||||
elseif (i_diam <= 1.65 && i_diam > 1.5)
|
||||
wtPerFt = 7;
|
||||
elseif (i_diam <= 1.5 && i_diam > 1.375)
|
||||
wtPerFt = 6;
|
||||
elseif (i_diam <= 1.375 && i_diam > 1.125)
|
||||
wtPerFt = 5;
|
||||
elseif (i_diam <= 1.125 && i_diam > 1)
|
||||
wtPerFt = 3.676;
|
||||
elseif (i_diam <= 1 && i_diam > 0.875)
|
||||
wtPerFt = 2.904;
|
||||
elseif (i_diam <= 0.875 && i_diam > 0.75)
|
||||
wtPerFt = 2.224;
|
||||
elseif (i_diam <= 0.75 && i_diam > 0.625)
|
||||
wtPerFt = 1.634;
|
||||
elseif (i_diam <= 0.625 && i_diam > 0.5)
|
||||
wtPerFt = 1.13;
|
||||
elseif (i_diam <= 0.5)
|
||||
wtPerFt = 0.72;
|
||||
else
|
||||
wtPerFt = 0;
|
||||
end
|
||||
elseif (i_ym == YM_FIBERGLASS)
|
||||
if (i_diam <= 1.25 && i_diam > 1.125)
|
||||
wtPerFt = 1.2879;
|
||||
elseif (i_diam <= 1.125 && i_diam > 1)
|
||||
wtPerFt = 1.09;
|
||||
elseif (i_diam <= 1 && i_diam > 0.875)
|
||||
wtPerFt = 0.8188;
|
||||
elseif (i_diam <= 0.875 && i_diam > 0.75)
|
||||
wtPerFt = 0.6108;
|
||||
elseif (i_diam <= 0.75)
|
||||
wtPerFt = 0.484;
|
||||
else
|
||||
wtPerFt = 0;
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
947
wellSetup.prj
Normal file
947
wellSetup.prj
Normal file
@@ -0,0 +1,947 @@
|
||||
<deployment-project plugin="plugin.coder" plugin-version="R2016a">
|
||||
<configuration file="/Users/patrickjmcd/GitHub/Henry-Pump/POC-MatLab/wellSetup.prj" location="/Users/patrickjmcd/GitHub/Henry-Pump/POC-MatLab" name="wellSetup" target="target.unifiedcoder" target-name="MATLAB Coder">
|
||||
<profile key="profile.mex">
|
||||
<param.BuiltInstrumentedMex />
|
||||
<param.RanInstrumentedMex />
|
||||
<param.WorkingFolder />
|
||||
<param.SpecifiedWorkingFolder />
|
||||
<param.BuildFolder>option.BuildFolder.Project</param.BuildFolder>
|
||||
<param.SpecifiedBuildFolder />
|
||||
<param.SearchPaths />
|
||||
<param.ResponsivenessChecks />
|
||||
<param.ExtrinsicCalls />
|
||||
<param.IntegrityChecks />
|
||||
<param.SaturateOnIntegerOverflow />
|
||||
<param.GlobalDataSyncMethod />
|
||||
<param.EnableVariableSizing />
|
||||
<param.DynamicMemoryAllocation />
|
||||
<param.DynamicMemoryAllocationThreshold />
|
||||
<param.StackUsageMax />
|
||||
<param.FilePartitionMethod />
|
||||
<param.GenerateComments />
|
||||
<param.MATLABSourceComments />
|
||||
<param.ReservedNameArray />
|
||||
<param.EnableDebugging />
|
||||
<param.GenerateReport />
|
||||
<param.LaunchReport />
|
||||
<param.ReportPotentialDifferences />
|
||||
<param.DefaultTestFile />
|
||||
<param.MergeInstrumentationResults />
|
||||
<param.VerificationMode />
|
||||
<param.VerificationStatus>option.VerificationStatus.Inactive</param.VerificationStatus>
|
||||
<param.CustomSourceCode />
|
||||
<param.CustomHeaderCode />
|
||||
<param.CustomInitializer />
|
||||
<param.CustomTerminator />
|
||||
<param.CustomInclude />
|
||||
<param.CustomSource />
|
||||
<param.CustomLibrary />
|
||||
<param.PostCodeGenCommand />
|
||||
<param.mex.GenCodeOnly />
|
||||
<param.ConstantFoldingTimeout />
|
||||
<param.CompileTimeRecursionLimit />
|
||||
<param.EnableRuntimeRecursion />
|
||||
<param.PreserveVariableNames />
|
||||
<param.TargetLang />
|
||||
<param.EchoExpressions />
|
||||
<param.InlineThreshold />
|
||||
<param.InlineThresholdMax />
|
||||
<param.InlineStackLimit />
|
||||
<param.EnableMemcpy />
|
||||
<param.MemcpyThreshold />
|
||||
<param.EnableOpenMP />
|
||||
<param.InitFltsAndDblsToZero />
|
||||
<param.ConstantInputs />
|
||||
<param.EnableCRICodeCoverage>true</param.EnableCRICodeCoverage>
|
||||
<param.EnableJIT />
|
||||
<param.EnableJITSilentBailOut />
|
||||
<param.CheckForIssuesJIT />
|
||||
<unset>
|
||||
<param.BuiltInstrumentedMex />
|
||||
<param.RanInstrumentedMex />
|
||||
<param.WorkingFolder />
|
||||
<param.SpecifiedWorkingFolder />
|
||||
<param.BuildFolder />
|
||||
<param.SpecifiedBuildFolder />
|
||||
<param.SearchPaths />
|
||||
<param.ResponsivenessChecks />
|
||||
<param.ExtrinsicCalls />
|
||||
<param.IntegrityChecks />
|
||||
<param.SaturateOnIntegerOverflow />
|
||||
<param.GlobalDataSyncMethod />
|
||||
<param.EnableVariableSizing />
|
||||
<param.DynamicMemoryAllocation />
|
||||
<param.DynamicMemoryAllocationThreshold />
|
||||
<param.StackUsageMax />
|
||||
<param.FilePartitionMethod />
|
||||
<param.GenerateComments />
|
||||
<param.MATLABSourceComments />
|
||||
<param.ReservedNameArray />
|
||||
<param.EnableDebugging />
|
||||
<param.GenerateReport />
|
||||
<param.LaunchReport />
|
||||
<param.ReportPotentialDifferences />
|
||||
<param.DefaultTestFile />
|
||||
<param.MergeInstrumentationResults />
|
||||
<param.VerificationMode />
|
||||
<param.VerificationStatus />
|
||||
<param.CustomSourceCode />
|
||||
<param.CustomHeaderCode />
|
||||
<param.CustomInitializer />
|
||||
<param.CustomTerminator />
|
||||
<param.CustomInclude />
|
||||
<param.CustomSource />
|
||||
<param.CustomLibrary />
|
||||
<param.PostCodeGenCommand />
|
||||
<param.mex.GenCodeOnly />
|
||||
<param.ConstantFoldingTimeout />
|
||||
<param.CompileTimeRecursionLimit />
|
||||
<param.EnableRuntimeRecursion />
|
||||
<param.PreserveVariableNames />
|
||||
<param.TargetLang />
|
||||
<param.EchoExpressions />
|
||||
<param.InlineThreshold />
|
||||
<param.InlineThresholdMax />
|
||||
<param.InlineStackLimit />
|
||||
<param.EnableMemcpy />
|
||||
<param.MemcpyThreshold />
|
||||
<param.EnableOpenMP />
|
||||
<param.InitFltsAndDblsToZero />
|
||||
<param.ConstantInputs />
|
||||
<param.EnableCRICodeCoverage />
|
||||
<param.EnableJIT />
|
||||
<param.EnableJITSilentBailOut />
|
||||
<param.CheckForIssuesJIT />
|
||||
</unset>
|
||||
</profile>
|
||||
<profile key="profile.c">
|
||||
<param.grt.GenCodeOnly>true</param.grt.GenCodeOnly>
|
||||
<param.WorkingFolder />
|
||||
<param.SpecifiedWorkingFolder />
|
||||
<param.BuildFolder>option.BuildFolder.Project</param.BuildFolder>
|
||||
<param.SpecifiedBuildFolder />
|
||||
<param.SearchPaths />
|
||||
<param.SaturateOnIntegerOverflow />
|
||||
<param.PurelyIntegerCode />
|
||||
<param.SupportNonFinite />
|
||||
<param.EnableVariableSizing />
|
||||
<param.DynamicMemoryAllocation />
|
||||
<param.DynamicMemoryAllocationThreshold />
|
||||
<param.StackUsageMax />
|
||||
<param.MultiInstanceCode />
|
||||
<param.FilePartitionMethod />
|
||||
<param.GenerateComments />
|
||||
<param.CommentStyle />
|
||||
<param.MATLABSourceComments />
|
||||
<param.MATLABFcnDesc />
|
||||
<param.DataTypeReplacement />
|
||||
<param.ConvertIfToSwitch />
|
||||
<param.PreserveExternInFcnDecls />
|
||||
<param.EnableSignedLeftShifts />
|
||||
<param.EnableSignedRightShifts />
|
||||
<param.ParenthesesLevel />
|
||||
<param.MaxIdLength />
|
||||
<param.CustomSymbolStrGlobalVar />
|
||||
<param.CustomSymbolStrType />
|
||||
<param.CustomSymbolStrField />
|
||||
<param.CustomSymbolStrFcn />
|
||||
<param.CustomSymbolStrTmpVar />
|
||||
<param.CustomSymbolStrMacro />
|
||||
<param.CustomSymbolStrEMXArray />
|
||||
<param.CustomSymbolStrEMXArrayFcn />
|
||||
<param.ReservedNameArray />
|
||||
<param.RuntimeChecks />
|
||||
<param.Verbose />
|
||||
<param.GenerateReport />
|
||||
<param.GenerateCodeMetricsReport />
|
||||
<param.GenerateCodeReplacementReport />
|
||||
<param.HighlightPotentialDataTypeIssues />
|
||||
<param.LaunchReport />
|
||||
<param.ReportPotentialDifferences />
|
||||
<param.SILDebugging />
|
||||
<param.CodeExecutionProfiling />
|
||||
<param.DefaultTestFile />
|
||||
<param.MergeInstrumentationResults />
|
||||
<param.RanPilSilVerification />
|
||||
<param.VerificationMode />
|
||||
<param.VerificationStatus>option.VerificationStatus.Inactive</param.VerificationStatus>
|
||||
<param.CustomSourceCode />
|
||||
<param.CustomHeaderCode />
|
||||
<param.CustomInitializer />
|
||||
<param.CustomTerminator />
|
||||
<param.CustomInclude />
|
||||
<param.CustomSource />
|
||||
<param.CustomLibrary />
|
||||
<param.PostCodeGenCommand />
|
||||
<param.TargetLangStandard />
|
||||
<param.CodeReplacementLibrary />
|
||||
<param.DeprecatedCRLFlag />
|
||||
<param.SameHardware>true</param.SameHardware>
|
||||
<param.Toolchain />
|
||||
<param.BuildConfiguration />
|
||||
<param.CustomToolchainOptions />
|
||||
<var.ToolchainSettingsVisible />
|
||||
<param.target.Data />
|
||||
<param.target.ActiveType>option.target.TargetType.MatlabHost</param.target.ActiveType>
|
||||
<param.target.ActiveTarget />
|
||||
<param.HardwareVendor.Production>Generic</param.HardwareVendor.Production>
|
||||
<param.HardwareType.Production>MATLAB Host Computer</param.HardwareType.Production>
|
||||
<param.HWDeviceType.Production />
|
||||
<var.instance.enabled.Production />
|
||||
<param.HardwareSizeChar.Production>8</param.HardwareSizeChar.Production>
|
||||
<param.HardwareSizeShort.Production>16</param.HardwareSizeShort.Production>
|
||||
<param.HardwareSizeInt.Production>32</param.HardwareSizeInt.Production>
|
||||
<param.HardwareSizeLong.Production>64</param.HardwareSizeLong.Production>
|
||||
<param.HardwareSizeLongLong.Production>64</param.HardwareSizeLongLong.Production>
|
||||
<param.HardwareSizeFloat.Production>32</param.HardwareSizeFloat.Production>
|
||||
<param.HardwareSizeDouble.Production>64</param.HardwareSizeDouble.Production>
|
||||
<param.HardwareSizeWord.Production>64</param.HardwareSizeWord.Production>
|
||||
<param.HardwareSizePointer.Production>64</param.HardwareSizePointer.Production>
|
||||
<param.HardwareSizeSizeT.Production>64</param.HardwareSizeSizeT.Production>
|
||||
<param.HardwareSizePtrDiffT.Production>64</param.HardwareSizePtrDiffT.Production>
|
||||
<param.HardwareEndianness.Production>option.HardwareEndianness.Little</param.HardwareEndianness.Production>
|
||||
<param.HardwareArithmeticRightShift.Production>true</param.HardwareArithmeticRightShift.Production>
|
||||
<param.HardwareLongLongMode.Production>true</param.HardwareLongLongMode.Production>
|
||||
<param.HardwareAtomicIntegerSize.Production>option.HardwareAtomicIntegerSize.Char</param.HardwareAtomicIntegerSize.Production>
|
||||
<param.HardwareAtomicFloatSize.Production>option.HardwareAtomicFloatSize.None</param.HardwareAtomicFloatSize.Production>
|
||||
<param.HardwareDivisionRounding.Production>option.HardwareDivisionRounding.Zero</param.HardwareDivisionRounding.Production>
|
||||
<param.HardwareVendor.Target>Generic</param.HardwareVendor.Target>
|
||||
<param.HardwareType.Target>MATLAB Host Computer</param.HardwareType.Target>
|
||||
<param.HWDeviceType.Target />
|
||||
<var.instance.enabled.Target>false</var.instance.enabled.Target>
|
||||
<param.HardwareSizeChar.Target>8</param.HardwareSizeChar.Target>
|
||||
<param.HardwareSizeShort.Target>16</param.HardwareSizeShort.Target>
|
||||
<param.HardwareSizeInt.Target>32</param.HardwareSizeInt.Target>
|
||||
<param.HardwareSizeLong.Target>64</param.HardwareSizeLong.Target>
|
||||
<param.HardwareSizeLongLong.Target>64</param.HardwareSizeLongLong.Target>
|
||||
<param.HardwareSizeFloat.Target>32</param.HardwareSizeFloat.Target>
|
||||
<param.HardwareSizeDouble.Target>64</param.HardwareSizeDouble.Target>
|
||||
<param.HardwareSizeWord.Target>64</param.HardwareSizeWord.Target>
|
||||
<param.HardwareSizePointer.Target>64</param.HardwareSizePointer.Target>
|
||||
<param.HardwareSizeSizeT.Target>64</param.HardwareSizeSizeT.Target>
|
||||
<param.HardwareSizePtrDiffT.Target>64</param.HardwareSizePtrDiffT.Target>
|
||||
<param.HardwareEndianness.Target>option.HardwareEndianness.Little</param.HardwareEndianness.Target>
|
||||
<param.HardwareArithmeticRightShift.Target>true</param.HardwareArithmeticRightShift.Target>
|
||||
<param.HardwareLongLongMode.Target>true</param.HardwareLongLongMode.Target>
|
||||
<param.HardwareAtomicIntegerSize.Target>option.HardwareAtomicIntegerSize.Char</param.HardwareAtomicIntegerSize.Target>
|
||||
<param.HardwareAtomicFloatSize.Target>option.HardwareAtomicFloatSize.None</param.HardwareAtomicFloatSize.Target>
|
||||
<param.HardwareDivisionRounding.Target>option.HardwareDivisionRounding.Zero</param.HardwareDivisionRounding.Target>
|
||||
<param.CastingMode />
|
||||
<param.IndentStyle />
|
||||
<param.IndentSize />
|
||||
<param.ConstantFoldingTimeout />
|
||||
<param.CompileTimeRecursionLimit />
|
||||
<param.EnableRuntimeRecursion />
|
||||
<param.IncludeTerminateFcn />
|
||||
<param.GenerateExampleMain />
|
||||
<param.PreserveVariableNames />
|
||||
<param.TargetLang />
|
||||
<param.CCompilerOptimization />
|
||||
<param.CCompilerCustomOptimizations />
|
||||
<param.GenerateMakefile />
|
||||
<param.BuildToolEnable />
|
||||
<param.MakeCommand />
|
||||
<param.TemplateMakefile />
|
||||
<param.BuildToolConfiguration />
|
||||
<param.InlineThreshold />
|
||||
<param.InlineThresholdMax />
|
||||
<param.InlineStackLimit />
|
||||
<param.EnableStrengthReduction />
|
||||
<param.EnableMemcpy />
|
||||
<param.MemcpyThreshold />
|
||||
<param.EnableOpenMP />
|
||||
<param.InitFltsAndDblsToZero />
|
||||
<param.PassStructByReference />
|
||||
<param.CustomLAPACKCallback />
|
||||
<param.UseECoderFeatures />
|
||||
<unset>
|
||||
<param.WorkingFolder />
|
||||
<param.SpecifiedWorkingFolder />
|
||||
<param.BuildFolder />
|
||||
<param.SpecifiedBuildFolder />
|
||||
<param.SearchPaths />
|
||||
<param.SaturateOnIntegerOverflow />
|
||||
<param.PurelyIntegerCode />
|
||||
<param.SupportNonFinite />
|
||||
<param.EnableVariableSizing />
|
||||
<param.DynamicMemoryAllocation />
|
||||
<param.DynamicMemoryAllocationThreshold />
|
||||
<param.StackUsageMax />
|
||||
<param.MultiInstanceCode />
|
||||
<param.FilePartitionMethod />
|
||||
<param.GenerateComments />
|
||||
<param.CommentStyle />
|
||||
<param.MATLABSourceComments />
|
||||
<param.MATLABFcnDesc />
|
||||
<param.DataTypeReplacement />
|
||||
<param.ConvertIfToSwitch />
|
||||
<param.PreserveExternInFcnDecls />
|
||||
<param.EnableSignedLeftShifts />
|
||||
<param.EnableSignedRightShifts />
|
||||
<param.ParenthesesLevel />
|
||||
<param.MaxIdLength />
|
||||
<param.CustomSymbolStrGlobalVar />
|
||||
<param.CustomSymbolStrType />
|
||||
<param.CustomSymbolStrField />
|
||||
<param.CustomSymbolStrFcn />
|
||||
<param.CustomSymbolStrTmpVar />
|
||||
<param.CustomSymbolStrMacro />
|
||||
<param.CustomSymbolStrEMXArray />
|
||||
<param.CustomSymbolStrEMXArrayFcn />
|
||||
<param.ReservedNameArray />
|
||||
<param.RuntimeChecks />
|
||||
<param.Verbose />
|
||||
<param.GenerateReport />
|
||||
<param.GenerateCodeMetricsReport />
|
||||
<param.GenerateCodeReplacementReport />
|
||||
<param.HighlightPotentialDataTypeIssues />
|
||||
<param.LaunchReport />
|
||||
<param.ReportPotentialDifferences />
|
||||
<param.SILDebugging />
|
||||
<param.CodeExecutionProfiling />
|
||||
<param.DefaultTestFile />
|
||||
<param.MergeInstrumentationResults />
|
||||
<param.RanPilSilVerification />
|
||||
<param.VerificationMode />
|
||||
<param.VerificationStatus />
|
||||
<param.CustomSourceCode />
|
||||
<param.CustomHeaderCode />
|
||||
<param.CustomInitializer />
|
||||
<param.CustomTerminator />
|
||||
<param.CustomInclude />
|
||||
<param.CustomSource />
|
||||
<param.CustomLibrary />
|
||||
<param.PostCodeGenCommand />
|
||||
<param.TargetLangStandard />
|
||||
<param.CodeReplacementLibrary />
|
||||
<param.DeprecatedCRLFlag />
|
||||
<param.SameHardware />
|
||||
<param.Toolchain />
|
||||
<param.BuildConfiguration />
|
||||
<param.CustomToolchainOptions />
|
||||
<var.ToolchainSettingsVisible />
|
||||
<param.target.Data />
|
||||
<param.target.ActiveType />
|
||||
<param.target.ActiveTarget />
|
||||
<param.HardwareVendor.Production />
|
||||
<param.HardwareType.Production />
|
||||
<param.HWDeviceType.Production />
|
||||
<var.instance.enabled.Production />
|
||||
<param.HardwareSizeChar.Production />
|
||||
<param.HardwareSizeShort.Production />
|
||||
<param.HardwareSizeInt.Production />
|
||||
<param.HardwareSizeLongLong.Production />
|
||||
<param.HardwareSizeFloat.Production />
|
||||
<param.HardwareSizeDouble.Production />
|
||||
<param.HardwareEndianness.Production />
|
||||
<param.HardwareAtomicIntegerSize.Production />
|
||||
<param.HardwareAtomicFloatSize.Production />
|
||||
<param.HardwareVendor.Target />
|
||||
<param.HardwareType.Target />
|
||||
<param.HWDeviceType.Target />
|
||||
<var.instance.enabled.Target />
|
||||
<param.HardwareSizeChar.Target />
|
||||
<param.HardwareSizeShort.Target />
|
||||
<param.HardwareSizeInt.Target />
|
||||
<param.HardwareSizeLongLong.Target />
|
||||
<param.HardwareSizeFloat.Target />
|
||||
<param.HardwareSizeDouble.Target />
|
||||
<param.HardwareEndianness.Target />
|
||||
<param.HardwareAtomicIntegerSize.Target />
|
||||
<param.HardwareAtomicFloatSize.Target />
|
||||
<param.CastingMode />
|
||||
<param.IndentStyle />
|
||||
<param.IndentSize />
|
||||
<param.ConstantFoldingTimeout />
|
||||
<param.CompileTimeRecursionLimit />
|
||||
<param.EnableRuntimeRecursion />
|
||||
<param.IncludeTerminateFcn />
|
||||
<param.GenerateExampleMain />
|
||||
<param.PreserveVariableNames />
|
||||
<param.TargetLang />
|
||||
<param.CCompilerOptimization />
|
||||
<param.CCompilerCustomOptimizations />
|
||||
<param.GenerateMakefile />
|
||||
<param.BuildToolEnable />
|
||||
<param.MakeCommand />
|
||||
<param.TemplateMakefile />
|
||||
<param.BuildToolConfiguration />
|
||||
<param.InlineThreshold />
|
||||
<param.InlineThresholdMax />
|
||||
<param.InlineStackLimit />
|
||||
<param.EnableStrengthReduction />
|
||||
<param.EnableMemcpy />
|
||||
<param.MemcpyThreshold />
|
||||
<param.EnableOpenMP />
|
||||
<param.InitFltsAndDblsToZero />
|
||||
<param.PassStructByReference />
|
||||
<param.CustomLAPACKCallback />
|
||||
<param.UseECoderFeatures />
|
||||
</unset>
|
||||
</profile>
|
||||
<profile key="profile.hdl">
|
||||
<param.hdl.Workflow />
|
||||
<param.hdl.TargetLanguage />
|
||||
<param.hdl.TargetPlatform />
|
||||
<param.hdl.SynthesisTool />
|
||||
<param.hdl.InputFrequency />
|
||||
<param.hdl.TargetFrequency />
|
||||
<param.hdl.IPCoreName />
|
||||
<param.hdl.IPCoreVersion />
|
||||
<param.hdl.AdditionalIPFiles />
|
||||
<param.hdl.ExecutionMode />
|
||||
<param.hdl.SynthesisToolChipFamily />
|
||||
<param.hdl.SynthesisToolDeviceName />
|
||||
<param.hdl.SynthesisToolPackageName />
|
||||
<param.hdl.SynthesisToolSpeedValue />
|
||||
<param.hdl.TargetInterface />
|
||||
<param.hdl.CheckConformance />
|
||||
<param.hdl.LaunchConformanceReport />
|
||||
<param.hdl.GenerateEDAScripts />
|
||||
<param.hdl.GenerateHDLCode />
|
||||
<param.hdl.AdditionalSynthesisProjectFiles />
|
||||
<param.hdl.CriticalPathSource />
|
||||
<param.hdl.EmbeddedSystemTool />
|
||||
<param.hdl.EmbeddedSystemProjectFolder />
|
||||
<param.hdl.BitstreamBuildMode />
|
||||
<param.hdl.ReferenceDesign />
|
||||
<param.hdl.ReferenceDesignPath />
|
||||
<param.hdl.LegacyDefaultTestFile />
|
||||
<param.WorkingFolder />
|
||||
<param.SpecifiedWorkingFolder />
|
||||
<param.BuildFolder>option.BuildFolder.Project</param.BuildFolder>
|
||||
<param.SpecifiedBuildFolder />
|
||||
<param.SearchPaths />
|
||||
<param.hdl.MapPersistentVarsToRAM />
|
||||
<param.hdl.RAMThreshold />
|
||||
<param.hdl.MapPipelineDelaysToRAM />
|
||||
<param.hdl.RAMVariableNames />
|
||||
<param.hdl.RegisterInputs />
|
||||
<param.hdl.RegisterOutputs />
|
||||
<param.hdl.DistributedPipelining />
|
||||
<param.hdl.DistributedPipeliningPriority />
|
||||
<param.hdl.PreserveDesignDelays />
|
||||
<param.hdl.InputPipeline />
|
||||
<param.hdl.OutputPipeline />
|
||||
<param.hdl.PipelineVariables />
|
||||
<param.hdl.ResourceSharing />
|
||||
<param.hdl.ConstantMultiplierOptimization />
|
||||
<param.hdl.LoopOptimization />
|
||||
<param.GenerateComments />
|
||||
<param.MATLABSourceComments />
|
||||
<param.hdl.VHDLFileExt />
|
||||
<param.hdl.VerilogFileExt />
|
||||
<param.hdl.DateComment />
|
||||
<param.hdl.UserComment />
|
||||
<param.hdl.ModulePrefix />
|
||||
<param.hdl.PackagePostfix />
|
||||
<param.hdl.EntityConflictPostfix />
|
||||
<param.hdl.ReservedWordPostfix />
|
||||
<param.hdl.ClockProcessPostfix />
|
||||
<param.hdl.ComplexRealPostfix />
|
||||
<param.hdl.ComplexImagPostfix />
|
||||
<param.hdl.PipelinePostfix />
|
||||
<param.hdl.EnablePrefix />
|
||||
<param.hdl.InlineConfigurations />
|
||||
<param.hdl.UseRisingEdge />
|
||||
<param.hdl.UseMatrixTypesInHDL />
|
||||
<param.hdl.HDLCompileFilePostfix />
|
||||
<param.hdl.HDLCompileInit />
|
||||
<param.hdl.HDLCompileVHDLCmd />
|
||||
<param.hdl.HDLCompileVerilogCmd />
|
||||
<param.hdl.HDLCompileTerm />
|
||||
<param.hdl.HDLSimFilePostfix />
|
||||
<param.hdl.HDLSimInit />
|
||||
<param.hdl.HDLSimCmd />
|
||||
<param.hdl.HDLSimViewWaveCmd />
|
||||
<param.hdl.HDLSimTerm />
|
||||
<param.hdl.HDLSynthTool />
|
||||
<var.hasSynthesisToolScript />
|
||||
<var.toolSpecificEDAScript />
|
||||
<param.hdl.HDLSynthFilePostfix />
|
||||
<param.hdl.HDLSynthInit />
|
||||
<param.hdl.HDLSynthCmd />
|
||||
<param.hdl.HDLSynthTerm />
|
||||
<param.hdl.HDLLintTool />
|
||||
<var.LintToolScript />
|
||||
<var.hasHDLLintTool />
|
||||
<param.hdl.HDLLintInit />
|
||||
<param.hdl.HDLLintCmd />
|
||||
<param.hdl.HDLLintTerm />
|
||||
<param.hdl.ResetType />
|
||||
<param.hdl.ResetAssertedLevel />
|
||||
<param.hdl.ResetInputPort />
|
||||
<param.hdl.ClockInputPort />
|
||||
<param.hdl.ClockEdge />
|
||||
<param.hdl.ClockEnableInputPort />
|
||||
<param.hdl.Oversampling />
|
||||
<param.hdl.EnableRate />
|
||||
<param.hdl.InputType />
|
||||
<param.hdl.OutputType />
|
||||
<param.hdl.ClockEnableOutputPort />
|
||||
<param.hdl.ScalarizePorts />
|
||||
<param.hdl.HDLCodingStandard />
|
||||
<var.HDLCodingStandard_FilterPassingRules_enable />
|
||||
<var.HDLCodingStandard_DetectDuplicateNamesCheck_enable />
|
||||
<var.HDLCodingStandard_HDLKeywords_enable />
|
||||
<var.HDLCodingStandard_ModuleInstanceEntityNameLength_enable />
|
||||
<var.HDLCodingStandard_ModuleInstanceEntityNameLength_min />
|
||||
<var.HDLCodingStandard_ModuleInstanceEntityNameLength_max />
|
||||
<var.HDLCodingStandard_SignalPortParamNameLength_enable />
|
||||
<var.HDLCodingStandard_SignalPortParamNameLength_min />
|
||||
<var.HDLCodingStandard_SignalPortParamNameLength_max />
|
||||
<var.HDLCodingStandard_MinimizeVariableUsage_enable />
|
||||
<var.HDLCodingStandard_InitialStatements_enable />
|
||||
<var.HDLCodingStandard_IfElseChain_enable />
|
||||
<var.HDLCodingStandard_IfElseChain_length />
|
||||
<var.HDLCodingStandard_IfElseNesting_enable />
|
||||
<var.HDLCodingStandard_IfElseNesting_depth />
|
||||
<var.HDLCodingStandard_MultiplierBitWidth_enable />
|
||||
<var.HDLCodingStandard_MultiplierBitWidth_width />
|
||||
<var.HDLCodingStandard_NonIntegerTypes_enable />
|
||||
<var.HDLCodingStandard_LineLength_enable />
|
||||
<var.HDLCodingStandard_LineLength_length />
|
||||
<param.hdl.GenerateCosimTestBench />
|
||||
<param.hdl.CosimLogOutputs />
|
||||
<param.hdl.CosimTool />
|
||||
<param.hdl.CosimRunMode />
|
||||
<param.hdl.SimulateCosimTestBench />
|
||||
<param.hdl.CosimClockHighTime />
|
||||
<param.hdl.CosimClockLowTime />
|
||||
<param.hdl.CosimHoldTime />
|
||||
<param.hdl.CosimClockEnableDelay />
|
||||
<param.hdl.CosimResetLength />
|
||||
<param.hdl.GenerateFILTestBench />
|
||||
<param.hdl.FILLogOutputs />
|
||||
<param.hdl.FILBoardName />
|
||||
<param.hdl.FILConnection />
|
||||
<param.hdl.FILBoardIPAddress />
|
||||
<param.hdl.FILBoardMACAddress />
|
||||
<param.hdl.FILAdditionalFiles />
|
||||
<param.hdl.SimulateFILTestBench />
|
||||
<var.hasTestBench />
|
||||
<param.hdl.GenerateHDLTestBench />
|
||||
<param.hdl.SimulateGeneratedCode />
|
||||
<param.hdl.SimulationTool />
|
||||
<param.hdl.TestBenchPostfix />
|
||||
<param.hdl.ForceClock />
|
||||
<param.hdl.ClockHighTime />
|
||||
<param.hdl.ClockLowTime />
|
||||
<param.hdl.HoldTime />
|
||||
<param.hdl.ForceClockEnable />
|
||||
<param.hdl.TestBenchClockEnableDelay />
|
||||
<param.hdl.ForceReset />
|
||||
<param.hdl.ResetLength />
|
||||
<param.hdl.HoldInputDataBetweenSamples />
|
||||
<param.hdl.InputDataInterval />
|
||||
<param.hdl.InitializeTestBenchInputs />
|
||||
<param.hdl.MultifileTestBench />
|
||||
<param.hdl.TestBenchDataPostfix />
|
||||
<param.hdl.TestReferencePostfix />
|
||||
<param.hdl.UseFileIOInTestBench />
|
||||
<param.hdl.IgnoreDataChecking />
|
||||
<param.hdl.SimulationIterationLimit />
|
||||
<param.hdl.UseFiAccelForTestBench />
|
||||
<param.hdl.hdlVariables />
|
||||
<param.hdl.hdlComputedVariables />
|
||||
<param.hdl.InitializeBlockRAM />
|
||||
<param.hdl.RAMArchitecture />
|
||||
<param.hdl.PartitionFunctions />
|
||||
<param.hdl.InstantiateFunctions />
|
||||
<param.hdl.GenerateMLFcnBlock />
|
||||
<param.hdl.GenerateXSGBlock />
|
||||
<unset>
|
||||
<param.hdl.Workflow />
|
||||
<param.hdl.TargetLanguage />
|
||||
<param.hdl.TargetPlatform />
|
||||
<param.hdl.SynthesisTool />
|
||||
<param.hdl.InputFrequency />
|
||||
<param.hdl.TargetFrequency />
|
||||
<param.hdl.IPCoreName />
|
||||
<param.hdl.IPCoreVersion />
|
||||
<param.hdl.AdditionalIPFiles />
|
||||
<param.hdl.ExecutionMode />
|
||||
<param.hdl.SynthesisToolChipFamily />
|
||||
<param.hdl.SynthesisToolDeviceName />
|
||||
<param.hdl.SynthesisToolPackageName />
|
||||
<param.hdl.SynthesisToolSpeedValue />
|
||||
<param.hdl.TargetInterface />
|
||||
<param.hdl.CheckConformance />
|
||||
<param.hdl.LaunchConformanceReport />
|
||||
<param.hdl.GenerateEDAScripts />
|
||||
<param.hdl.GenerateHDLCode />
|
||||
<param.hdl.AdditionalSynthesisProjectFiles />
|
||||
<param.hdl.CriticalPathSource />
|
||||
<param.hdl.EmbeddedSystemTool />
|
||||
<param.hdl.EmbeddedSystemProjectFolder />
|
||||
<param.hdl.BitstreamBuildMode />
|
||||
<param.hdl.ReferenceDesign />
|
||||
<param.hdl.ReferenceDesignPath />
|
||||
<param.hdl.LegacyDefaultTestFile />
|
||||
<param.WorkingFolder />
|
||||
<param.SpecifiedWorkingFolder />
|
||||
<param.BuildFolder />
|
||||
<param.SpecifiedBuildFolder />
|
||||
<param.SearchPaths />
|
||||
<param.hdl.MapPersistentVarsToRAM />
|
||||
<param.hdl.RAMThreshold />
|
||||
<param.hdl.MapPipelineDelaysToRAM />
|
||||
<param.hdl.RAMVariableNames />
|
||||
<param.hdl.RegisterInputs />
|
||||
<param.hdl.RegisterOutputs />
|
||||
<param.hdl.DistributedPipelining />
|
||||
<param.hdl.DistributedPipeliningPriority />
|
||||
<param.hdl.PreserveDesignDelays />
|
||||
<param.hdl.InputPipeline />
|
||||
<param.hdl.OutputPipeline />
|
||||
<param.hdl.PipelineVariables />
|
||||
<param.hdl.ResourceSharing />
|
||||
<param.hdl.ConstantMultiplierOptimization />
|
||||
<param.hdl.LoopOptimization />
|
||||
<param.GenerateComments />
|
||||
<param.MATLABSourceComments />
|
||||
<param.hdl.VHDLFileExt />
|
||||
<param.hdl.VerilogFileExt />
|
||||
<param.hdl.DateComment />
|
||||
<param.hdl.UserComment />
|
||||
<param.hdl.ModulePrefix />
|
||||
<param.hdl.PackagePostfix />
|
||||
<param.hdl.EntityConflictPostfix />
|
||||
<param.hdl.ReservedWordPostfix />
|
||||
<param.hdl.ClockProcessPostfix />
|
||||
<param.hdl.ComplexRealPostfix />
|
||||
<param.hdl.ComplexImagPostfix />
|
||||
<param.hdl.PipelinePostfix />
|
||||
<param.hdl.EnablePrefix />
|
||||
<param.hdl.InlineConfigurations />
|
||||
<param.hdl.UseRisingEdge />
|
||||
<param.hdl.UseMatrixTypesInHDL />
|
||||
<param.hdl.HDLCompileFilePostfix />
|
||||
<param.hdl.HDLCompileInit />
|
||||
<param.hdl.HDLCompileVHDLCmd />
|
||||
<param.hdl.HDLCompileVerilogCmd />
|
||||
<param.hdl.HDLCompileTerm />
|
||||
<param.hdl.HDLSimFilePostfix />
|
||||
<param.hdl.HDLSimInit />
|
||||
<param.hdl.HDLSimCmd />
|
||||
<param.hdl.HDLSimViewWaveCmd />
|
||||
<param.hdl.HDLSimTerm />
|
||||
<param.hdl.HDLSynthTool />
|
||||
<var.hasSynthesisToolScript />
|
||||
<var.toolSpecificEDAScript />
|
||||
<param.hdl.HDLSynthFilePostfix />
|
||||
<param.hdl.HDLSynthInit />
|
||||
<param.hdl.HDLSynthCmd />
|
||||
<param.hdl.HDLSynthTerm />
|
||||
<param.hdl.HDLLintTool />
|
||||
<var.LintToolScript />
|
||||
<var.hasHDLLintTool />
|
||||
<param.hdl.HDLLintInit />
|
||||
<param.hdl.HDLLintCmd />
|
||||
<param.hdl.HDLLintTerm />
|
||||
<param.hdl.ResetType />
|
||||
<param.hdl.ResetAssertedLevel />
|
||||
<param.hdl.ResetInputPort />
|
||||
<param.hdl.ClockInputPort />
|
||||
<param.hdl.ClockEdge />
|
||||
<param.hdl.ClockEnableInputPort />
|
||||
<param.hdl.Oversampling />
|
||||
<param.hdl.EnableRate />
|
||||
<param.hdl.InputType />
|
||||
<param.hdl.OutputType />
|
||||
<param.hdl.ClockEnableOutputPort />
|
||||
<param.hdl.ScalarizePorts />
|
||||
<param.hdl.HDLCodingStandard />
|
||||
<var.HDLCodingStandard_FilterPassingRules_enable />
|
||||
<var.HDLCodingStandard_DetectDuplicateNamesCheck_enable />
|
||||
<var.HDLCodingStandard_HDLKeywords_enable />
|
||||
<var.HDLCodingStandard_ModuleInstanceEntityNameLength_enable />
|
||||
<var.HDLCodingStandard_ModuleInstanceEntityNameLength_min />
|
||||
<var.HDLCodingStandard_ModuleInstanceEntityNameLength_max />
|
||||
<var.HDLCodingStandard_SignalPortParamNameLength_enable />
|
||||
<var.HDLCodingStandard_SignalPortParamNameLength_min />
|
||||
<var.HDLCodingStandard_SignalPortParamNameLength_max />
|
||||
<var.HDLCodingStandard_MinimizeVariableUsage_enable />
|
||||
<var.HDLCodingStandard_InitialStatements_enable />
|
||||
<var.HDLCodingStandard_IfElseChain_enable />
|
||||
<var.HDLCodingStandard_IfElseChain_length />
|
||||
<var.HDLCodingStandard_IfElseNesting_enable />
|
||||
<var.HDLCodingStandard_IfElseNesting_depth />
|
||||
<var.HDLCodingStandard_MultiplierBitWidth_enable />
|
||||
<var.HDLCodingStandard_MultiplierBitWidth_width />
|
||||
<var.HDLCodingStandard_NonIntegerTypes_enable />
|
||||
<var.HDLCodingStandard_LineLength_enable />
|
||||
<var.HDLCodingStandard_LineLength_length />
|
||||
<param.hdl.GenerateCosimTestBench />
|
||||
<param.hdl.CosimLogOutputs />
|
||||
<param.hdl.CosimTool />
|
||||
<param.hdl.CosimRunMode />
|
||||
<param.hdl.SimulateCosimTestBench />
|
||||
<param.hdl.CosimClockHighTime />
|
||||
<param.hdl.CosimClockLowTime />
|
||||
<param.hdl.CosimHoldTime />
|
||||
<param.hdl.CosimClockEnableDelay />
|
||||
<param.hdl.CosimResetLength />
|
||||
<param.hdl.GenerateFILTestBench />
|
||||
<param.hdl.FILLogOutputs />
|
||||
<param.hdl.FILBoardName />
|
||||
<param.hdl.FILConnection />
|
||||
<param.hdl.FILBoardIPAddress />
|
||||
<param.hdl.FILBoardMACAddress />
|
||||
<param.hdl.FILAdditionalFiles />
|
||||
<param.hdl.SimulateFILTestBench />
|
||||
<var.hasTestBench />
|
||||
<param.hdl.GenerateHDLTestBench />
|
||||
<param.hdl.SimulateGeneratedCode />
|
||||
<param.hdl.SimulationTool />
|
||||
<param.hdl.TestBenchPostfix />
|
||||
<param.hdl.ForceClock />
|
||||
<param.hdl.ClockHighTime />
|
||||
<param.hdl.ClockLowTime />
|
||||
<param.hdl.HoldTime />
|
||||
<param.hdl.ForceClockEnable />
|
||||
<param.hdl.TestBenchClockEnableDelay />
|
||||
<param.hdl.ForceReset />
|
||||
<param.hdl.ResetLength />
|
||||
<param.hdl.HoldInputDataBetweenSamples />
|
||||
<param.hdl.InputDataInterval />
|
||||
<param.hdl.InitializeTestBenchInputs />
|
||||
<param.hdl.MultifileTestBench />
|
||||
<param.hdl.TestBenchDataPostfix />
|
||||
<param.hdl.TestReferencePostfix />
|
||||
<param.hdl.UseFileIOInTestBench />
|
||||
<param.hdl.IgnoreDataChecking />
|
||||
<param.hdl.SimulationIterationLimit />
|
||||
<param.hdl.UseFiAccelForTestBench />
|
||||
<param.hdl.hdlVariables />
|
||||
<param.hdl.hdlComputedVariables />
|
||||
<param.hdl.InitializeBlockRAM />
|
||||
<param.hdl.RAMArchitecture />
|
||||
<param.hdl.PartitionFunctions />
|
||||
<param.hdl.InstantiateFunctions />
|
||||
<param.hdl.GenerateMLFcnBlock />
|
||||
<param.hdl.GenerateXSGBlock />
|
||||
</unset>
|
||||
</profile>
|
||||
<param.objective>option.objective.c</param.objective>
|
||||
<param.WorkflowStep>inputTypes</param.WorkflowStep>
|
||||
<param.TestSnippets />
|
||||
<param.DefaultImportExportVariable />
|
||||
<param.RowMajor />
|
||||
<param.HighlightPotentialRowMajorIssues />
|
||||
<param.ExternalFcnMajority />
|
||||
<param.UseGlobals>option.UseGlobals.No</param.UseGlobals>
|
||||
<param.outputfile>${PROJECT_ROOT}/codegen/lib/wellSetup/wellSetup.a</param.outputfile>
|
||||
<param.version />
|
||||
<param.HasECoderFeatures>true</param.HasECoderFeatures>
|
||||
<param.HasGpuCoder />
|
||||
<param.mex.mainhtml />
|
||||
<param.grt.mainhtml />
|
||||
<param.CallGeneratedCodeFromTest />
|
||||
<param.AutoInferDefaultFile />
|
||||
<param.AutoInferUseVariableSize />
|
||||
<param.AutoInferUseUnboundedSize />
|
||||
<param.AutoInferVariableSizeThreshold />
|
||||
<param.AutoInferUnboundedSizeThreshold />
|
||||
<param.EnableFixedPointStep />
|
||||
<param.EnableScreener>true</param.EnableScreener>
|
||||
<param.AnnotationChecksum />
|
||||
<var.LegacyTarget />
|
||||
<var.MirrorOnOpen>false</var.MirrorOnOpen>
|
||||
<param.FixedPointEnabled>false</param.FixedPointEnabled>
|
||||
<var.redirectedInputTypeData />
|
||||
<var.DismissScreener>true</var.DismissScreener>
|
||||
<param.unifiedParamStorage />
|
||||
<var.gc.lastOutputRoot />
|
||||
<var.gc.lastOutputType />
|
||||
<var.gc.preBuildChecksum />
|
||||
<var.cfi.lastOutputRoot />
|
||||
<var.cfi.preBuildChecksum />
|
||||
<var.outdatedOnRestore />
|
||||
<var.lastUserSourceChecksum />
|
||||
<var.sourceSetState><?xml version="1.0" encoding="UTF-8" standalone="yes"?><sourceModel><primarySourceFiles><file>/Users/patrickjmcd/GitHub/Henry-Pump/POC-MatLab/wellSetup.m</file></primarySourceFiles><fixedPointSourceFiles/><fixedPointSourceRegistered>false</fixedPointSourceRegistered><fixedPointSourceSelected>false</fixedPointSourceSelected></sourceModel></var.sourceSetState>
|
||||
<param.forceMexBuild>false</param.forceMexBuild>
|
||||
<param.configImportActive>false</param.configImportActive>
|
||||
<var.boundToGui>true</var.boundToGui>
|
||||
<param.mex.outputfile>wellSetup_mex</param.mex.outputfile>
|
||||
<param.grt.outputfile>wellSetup</param.grt.outputfile>
|
||||
<param.artifact>option.target.artifact.lib</param.artifact>
|
||||
<param.outputfile>${PROJECT_ROOT}/codegen/lib/wellSetup/wellSetup.a</param.outputfile>
|
||||
<param.EnableAutoExtrinsicCalls />
|
||||
<param.UsePreconditions>false</param.UsePreconditions>
|
||||
<param.FeatureFlags />
|
||||
<param.FixedPointMode>option.FixedPointMode.None</param.FixedPointMode>
|
||||
<param.AutoScaleLoopIndexVariables />
|
||||
<param.ComputedFixedPointData />
|
||||
<param.UserFixedPointData />
|
||||
<param.DefaultWordLength />
|
||||
<param.DefaultFractionLength />
|
||||
<param.FixedPointSafetyMargin />
|
||||
<param.FixedPointFimath />
|
||||
<param.FixedPointTypeSource />
|
||||
<param.StaticAnalysisTimeout />
|
||||
<param.StaticAnalysisGlobalRangesOnly />
|
||||
<param.LogAllIOValues />
|
||||
<param.DetectOverflows />
|
||||
<param.LogHistogram />
|
||||
<param.ShowCoverage />
|
||||
<param.ExcludedFixedPointVerificationFiles />
|
||||
<param.ExcludedFixedPointSimulationFiles />
|
||||
<param.InstrumentedBuildChecksum />
|
||||
<param.FixedPointStaticAnalysisChecksum />
|
||||
<param.InstrumentedMexFile />
|
||||
<param.FixedPointValidationChecksum />
|
||||
<param.FixedPointSourceCodeChecksum />
|
||||
<param.FixedPointFunctionReplacements />
|
||||
<param.OptimizeWholeNumbers />
|
||||
<param.ContainerTypes />
|
||||
<param.GeneratedFixedPointFileSuffix>_fixpt</param.GeneratedFixedPointFileSuffix>
|
||||
<param.PlotFunction />
|
||||
<param.SDIPlot />
|
||||
<param.EnableCodeEfficiencyChecks />
|
||||
<param.DefaultFixedPointSignedness />
|
||||
<param.FixedPointTypeProposalMode />
|
||||
<param.EnableFixedPointStep />
|
||||
<var.lastFixedPointAction />
|
||||
<var.lastSimContext />
|
||||
<var.lastVerifyContext />
|
||||
<param.fpDataRoot />
|
||||
<param.fpUserFileChecksum />
|
||||
<var.snapshotChecksum />
|
||||
<param.fpLastConvertChecksum />
|
||||
<var.functionBlockSid />
|
||||
<param.fptSignedness />
|
||||
<var.FixedPointAnalysisMode />
|
||||
<param.FixedPointUseDesignRanges />
|
||||
<unset>
|
||||
<param.objective />
|
||||
<param.TestSnippets />
|
||||
<param.DefaultImportExportVariable />
|
||||
<param.RowMajor />
|
||||
<param.HighlightPotentialRowMajorIssues />
|
||||
<param.ExternalFcnMajority />
|
||||
<param.UseGlobals />
|
||||
<param.outputfile />
|
||||
<param.version />
|
||||
<param.HasECoderFeatures />
|
||||
<param.HasGpuCoder />
|
||||
<param.mex.mainhtml />
|
||||
<param.grt.mainhtml />
|
||||
<param.CallGeneratedCodeFromTest />
|
||||
<param.AutoInferDefaultFile />
|
||||
<param.AutoInferUseVariableSize />
|
||||
<param.AutoInferUseUnboundedSize />
|
||||
<param.AutoInferVariableSizeThreshold />
|
||||
<param.AutoInferUnboundedSizeThreshold />
|
||||
<param.EnableFixedPointStep />
|
||||
<param.EnableScreener />
|
||||
<param.AnnotationChecksum />
|
||||
<var.LegacyTarget />
|
||||
<var.MirrorOnOpen />
|
||||
<param.FixedPointEnabled />
|
||||
<var.redirectedInputTypeData />
|
||||
<param.unifiedParamStorage />
|
||||
<var.gc.lastOutputRoot />
|
||||
<var.gc.lastOutputType />
|
||||
<var.gc.preBuildChecksum />
|
||||
<var.cfi.lastOutputRoot />
|
||||
<var.cfi.preBuildChecksum />
|
||||
<var.outdatedOnRestore />
|
||||
<var.lastUserSourceChecksum />
|
||||
<param.forceMexBuild />
|
||||
<param.configImportActive />
|
||||
<param.mex.outputfile />
|
||||
<param.grt.outputfile />
|
||||
<param.EnableAutoExtrinsicCalls />
|
||||
<param.UsePreconditions />
|
||||
<param.FeatureFlags />
|
||||
<param.FixedPointMode />
|
||||
<param.AutoScaleLoopIndexVariables />
|
||||
<param.ComputedFixedPointData />
|
||||
<param.UserFixedPointData />
|
||||
<param.DefaultWordLength />
|
||||
<param.DefaultFractionLength />
|
||||
<param.FixedPointSafetyMargin />
|
||||
<param.FixedPointFimath />
|
||||
<param.FixedPointTypeSource />
|
||||
<param.StaticAnalysisTimeout />
|
||||
<param.StaticAnalysisGlobalRangesOnly />
|
||||
<param.LogAllIOValues />
|
||||
<param.DetectOverflows />
|
||||
<param.LogHistogram />
|
||||
<param.ShowCoverage />
|
||||
<param.ExcludedFixedPointVerificationFiles />
|
||||
<param.ExcludedFixedPointSimulationFiles />
|
||||
<param.InstrumentedBuildChecksum />
|
||||
<param.FixedPointStaticAnalysisChecksum />
|
||||
<param.InstrumentedMexFile />
|
||||
<param.FixedPointValidationChecksum />
|
||||
<param.FixedPointSourceCodeChecksum />
|
||||
<param.FixedPointFunctionReplacements />
|
||||
<param.OptimizeWholeNumbers />
|
||||
<param.ContainerTypes />
|
||||
<param.GeneratedFixedPointFileSuffix />
|
||||
<param.PlotFunction />
|
||||
<param.SDIPlot />
|
||||
<param.EnableCodeEfficiencyChecks />
|
||||
<param.DefaultFixedPointSignedness />
|
||||
<param.FixedPointTypeProposalMode />
|
||||
<var.lastFixedPointAction />
|
||||
<var.lastSimContext />
|
||||
<var.lastVerifyContext />
|
||||
<param.fpDataRoot />
|
||||
<param.fpUserFileChecksum />
|
||||
<var.snapshotChecksum />
|
||||
<param.fpLastConvertChecksum />
|
||||
<var.functionBlockSid />
|
||||
<param.fptSignedness />
|
||||
<var.FixedPointAnalysisMode />
|
||||
<param.FixedPointUseDesignRanges />
|
||||
</unset>
|
||||
<fileset.entrypoints>
|
||||
<file custom-data-expanded="false" value="${PROJECT_ROOT}/wellSetup.m" />
|
||||
</fileset.entrypoints>
|
||||
<fileset.testbench>
|
||||
<file>${PROJECT_ROOT}/barneyWellTest.mlx</file>
|
||||
</fileset.testbench>
|
||||
<fileset.inputtypes>
|
||||
<file>${PROJECT_ROOT}/wellSetup.m</file>
|
||||
</fileset.inputtypes>
|
||||
<build-deliverables>
|
||||
<file location="${PROJECT_ROOT}/codegen/lib/wellSetup" name="wellSetup.a" optional="false">/Users/patrickjmcd/GitHub/Henry-Pump/POC-MatLab/codegen/lib/wellSetup/wellSetup.a</file>
|
||||
</build-deliverables>
|
||||
<workflow />
|
||||
<matlab>
|
||||
<root>/Applications/MATLAB_R2017a.app</root>
|
||||
<toolboxes>
|
||||
<toolbox name="matlabcoder" />
|
||||
<toolbox name="embeddedcoder" />
|
||||
</toolboxes>
|
||||
<toolbox>
|
||||
<matlabcoder>
|
||||
<enabled>true</enabled>
|
||||
</matlabcoder>
|
||||
</toolbox>
|
||||
<toolbox>
|
||||
<embeddedcoder>
|
||||
<enabled>true</enabled>
|
||||
</embeddedcoder>
|
||||
</toolbox>
|
||||
</matlab>
|
||||
<platform>
|
||||
<unix>true</unix>
|
||||
<mac>true</mac>
|
||||
<windows>false</windows>
|
||||
<win2k>false</win2k>
|
||||
<winxp>false</winxp>
|
||||
<vista>false</vista>
|
||||
<linux>false</linux>
|
||||
<solaris>false</solaris>
|
||||
<osver>10.12.6</osver>
|
||||
<os32>false</os32>
|
||||
<os64>true</os64>
|
||||
<arch>maci64</arch>
|
||||
<matlab>true</matlab>
|
||||
</platform>
|
||||
</configuration>
|
||||
</deployment-project>
|
||||
189
welldata/456.csv
Normal file
189
welldata/456.csv
Normal file
@@ -0,0 +1,189 @@
|
||||
0,11578.90039
|
||||
0,11784
|
||||
0.300000012,11826.90039
|
||||
0.699999988,12008.09961
|
||||
1.100000024,12065.2998
|
||||
1.600000024,12122.5
|
||||
2.200000048,12289.5
|
||||
2.900000095,12375.2998
|
||||
3.799999952,12384.7998
|
||||
4.599999905,12446.7998
|
||||
5.599999905,12613.7002
|
||||
6.599999905,12680.5
|
||||
7.599999905,12766.2998
|
||||
8.800000191,12837.90039
|
||||
10.10000038,12809.2998
|
||||
11.30000019,12785.40039
|
||||
12.60000038,12752
|
||||
14.10000038,12723.40039
|
||||
15.5,12737.7002
|
||||
17,12809.2998
|
||||
18.60000038,12981
|
||||
20.20000076,13171.7002
|
||||
21.89999962,13443.5
|
||||
23.5,13653.40039
|
||||
25.20000076,13910.90039
|
||||
26.89999962,14154.09961
|
||||
28.70000076,14292.40039
|
||||
30.39999962,14306.7002
|
||||
32.20000076,14259
|
||||
34.20000076,14168.40039
|
||||
36.09999847,14154.09961
|
||||
38,14177.90039
|
||||
39.90000153,14192.2998
|
||||
41.90000153,14230.40039
|
||||
43.90000153,14273.2998
|
||||
45.90000153,14249.5
|
||||
47.90000153,14268.59961
|
||||
49.90000153,14344.90039
|
||||
52.09999847,14464.09961
|
||||
54.20000076,14554.7002
|
||||
56.20000076,14559.5
|
||||
58.29999924,14535.59961
|
||||
60.40000153,14483.2002
|
||||
62.5,14430.7002
|
||||
64.59999847,14344.90039
|
||||
66.69999695,14325.7998
|
||||
68.90000153,14249.5
|
||||
71.09999847,14163.59961
|
||||
73.09999847,14087.2998
|
||||
73.90000153,14020.59961
|
||||
76,13915.7002
|
||||
78,13820.2998
|
||||
80,13810.7002
|
||||
82,13863.2002
|
||||
84,13834.59961
|
||||
85.90000153,13724.90039
|
||||
88,13629.5
|
||||
90,13496
|
||||
91.90000153,13252.7998
|
||||
93.80000305,13076.2998
|
||||
95.69999695,12775.90039
|
||||
97.59999847,12456.40039
|
||||
99.40000153,11936.59961
|
||||
101.1999969,11679
|
||||
102.9000015,11669.5
|
||||
104.5999985,11693.2998
|
||||
106.3000031,11669.5
|
||||
107.9000015,11598
|
||||
109.5,11140.2002
|
||||
111,10868.2998
|
||||
112.3000031,10782.5
|
||||
113.5999985,10725.2998
|
||||
115,10505.90039
|
||||
116.1999969,10281.7998
|
||||
117.4000015,10057.59961
|
||||
118.4000015,9814.400391
|
||||
119.4000015,9728.599609
|
||||
120.3000031,9609.299805
|
||||
121.0999985,9533
|
||||
121.9000015,9356.599609
|
||||
122.6999969,9161.099609
|
||||
123.4000015,9056.099609
|
||||
124,9075.200195
|
||||
124.4000015,9070.400391
|
||||
124.9000015,9103.799805
|
||||
125.1999969,9180.099609
|
||||
125.5999985,9237.400391
|
||||
125.8000031,9204
|
||||
126,9156.299805
|
||||
126.0999985,9146.799805
|
||||
126.1999969,9108.599609
|
||||
126.1999969,9118.099609
|
||||
126.1999969,9027.5
|
||||
126.1999969,8898.799805
|
||||
126.1999969,8960.799805
|
||||
126.0999985,8951.200195
|
||||
125.9000015,9037.099609
|
||||
125.6999969,9227.799805
|
||||
125.3000031,9165.799805
|
||||
125,9056.099609
|
||||
124.5,8922.599609
|
||||
124.1999969,8612.599609
|
||||
123.6999969,8417.099609
|
||||
123.1999969,8393.299805
|
||||
122.5,8345.599609
|
||||
121.9000015,8188.200195
|
||||
121.3000031,8102.399902
|
||||
120.5999985,8107.100098
|
||||
119.9000015,8140.5
|
||||
119.0999985,8193
|
||||
118.3000031,8150.100098
|
||||
117.4000015,8040.399902
|
||||
116.5999985,7830.5
|
||||
115.5999985,7673.200195
|
||||
114.6999969,7563.5
|
||||
113.6999969,7449
|
||||
112.5999985,7348.899902
|
||||
111.5999985,7158.100098
|
||||
110.4000015,7143.799805
|
||||
109.1999969,7091.399902
|
||||
108.0999985,6829.100098
|
||||
106.9000015,6743.200195
|
||||
105.5999985,6690.799805
|
||||
104.3000031,6628.799805
|
||||
103,6719.399902
|
||||
101.6999969,6776.600098
|
||||
100.4000015,6800.5
|
||||
99,6795.700195
|
||||
97.5,6781.399902
|
||||
96.09999847,6810
|
||||
94.59999847,6852.899902
|
||||
93,6767.100098
|
||||
91.40000153,6585.899902
|
||||
89.80000305,6461.899902
|
||||
88.19999695,6409.399902
|
||||
86.5,6471.399902
|
||||
84.80000305,6652.600098
|
||||
83.09999847,6728.899902
|
||||
81.30000305,6795.700195
|
||||
79.5,6829.100098
|
||||
77.80000305,6891.100098
|
||||
75.90000153,6938.799805
|
||||
74,6948.299805
|
||||
72.09999847,6953.100098
|
||||
70.19999695,6929.200195
|
||||
68.09999847,6929.200195
|
||||
66.09999847,6943.5
|
||||
64,6986.399902
|
||||
62,7034.100098
|
||||
59.79999924,7077
|
||||
57.70000076,7139
|
||||
55.59999847,7210.600098
|
||||
53.5,7239.200195
|
||||
51.20000076,7234.399902
|
||||
49,7263
|
||||
46.70000076,7320.299805
|
||||
44.5,7377.5
|
||||
42.29999924,7582.600098
|
||||
40.09999847,7735.200195
|
||||
37.90000153,7744.700195
|
||||
35.79999924,7792.399902
|
||||
33.70000076,7821
|
||||
31.60000038,7859.100098
|
||||
29.5,7868.700195
|
||||
27.5,7816.200195
|
||||
25.39999962,7816.200195
|
||||
23.39999962,7883
|
||||
21.39999962,7959.299805
|
||||
19.39999962,8264.5
|
||||
17.70000076,8460
|
||||
16,8617.400391
|
||||
14.19999981,8708
|
||||
12.60000038,8817.700195
|
||||
11.10000038,8908.299805
|
||||
9.699999809,9018
|
||||
8.399999619,9070.400391
|
||||
7.099999905,9122.900391
|
||||
5.900000095,9218.299805
|
||||
4.900000095,9423.299805
|
||||
3.900000095,9604.599609
|
||||
3,9766.700195
|
||||
2.299999952,9924.099609
|
||||
1.600000024,10095.7998
|
||||
1.100000024,10238.7998
|
||||
0.699999988,10448.7002
|
||||
0.300000012,10682.2998
|
||||
0.100000001,10806.2998
|
||||
0,10954.2002
|
||||
0,11168.7998
|
||||
|
676
welldata/Mallet_No_Tag.csv
Normal file
676
welldata/Mallet_No_Tag.csv
Normal file
@@ -0,0 +1,676 @@
|
||||
0,9776.026
|
||||
0.005469917,9889.581
|
||||
0.013863833,10032.636
|
||||
0.025325333,10243.539
|
||||
0.040032,10488.118
|
||||
0.058248417,10661.443
|
||||
0.07980025,10718.797
|
||||
0.104515583,10687.978
|
||||
0.132326083,10620.406
|
||||
0.16308075,10498.72
|
||||
0.195990667,10401.043
|
||||
0.232066417,10441.696
|
||||
0.271218583,10526.409
|
||||
0.313498083,10628.152
|
||||
0.359020417,10737.421
|
||||
0.407674083,10845.921
|
||||
0.4593205,10926.294
|
||||
0.51380025,11047.595
|
||||
0.571258167,11276.132
|
||||
0.63128025,11503.57
|
||||
0.693512167,11739.085
|
||||
0.758432417,11992.673
|
||||
0.826354917,12256.92
|
||||
0.89726725,12511.497
|
||||
0.9712875,12731.464
|
||||
1.048186583,12876.278
|
||||
1.127629,12925.886
|
||||
1.20959525,12924.183
|
||||
1.293956833,12923.688
|
||||
1.380850583,13030.321
|
||||
1.470691583,13306.049
|
||||
1.562806,13623.199
|
||||
1.656998333,13950.403
|
||||
1.753329083,14278.376
|
||||
1.852025333,14574.101
|
||||
1.952786833,14803.847
|
||||
2.055333167,15081.718
|
||||
2.159586667,15410.35
|
||||
2.265318833,15706.46
|
||||
2.3733975,16035.092
|
||||
2.484817583,16412.453
|
||||
2.59948025,16801.681
|
||||
2.71644175,17036.536
|
||||
2.834529167,16972.534
|
||||
2.95454075,16866.287
|
||||
3.0765375,16790.748
|
||||
3.201042417,16735.592
|
||||
3.328021917,16637.255
|
||||
3.457062,16447.942
|
||||
3.587754333,16175.73
|
||||
3.7197685,15843.802
|
||||
3.853573333,15517.477
|
||||
3.989576583,15256.582
|
||||
4.127587917,15145.994
|
||||
4.26697625,15090.343
|
||||
4.407120917,14970.086
|
||||
4.548720667,14891.362
|
||||
4.692186667,14842.962
|
||||
4.837357167,14740.34
|
||||
4.98334575,14499.057
|
||||
5.129595167,14326.721
|
||||
5.27664525,14369.901
|
||||
5.424664833,14485.104
|
||||
5.573320667,14591.681
|
||||
5.722529083,14679.086
|
||||
5.8719985,14766.051
|
||||
6.021790083,14919.434
|
||||
6.171415167,15126.162
|
||||
6.321026,15310.2
|
||||
6.470778417,15376.069
|
||||
6.62113375,15440.62
|
||||
6.771690917,15476
|
||||
6.92142425,15446.828
|
||||
7.070682583,15428.04
|
||||
7.219948833,15377.058
|
||||
7.369218333,15312.727
|
||||
7.517862583,15275.865
|
||||
7.665456333,15279.6
|
||||
7.81258175,15273.283
|
||||
7.95967025,15173.133
|
||||
8.106388583,15022.496
|
||||
8.251937833,14858.125
|
||||
8.39614225,14745.339
|
||||
8.53943,14636.839
|
||||
8.681693667,14430.496
|
||||
8.822886833,14220.802
|
||||
8.96252875,14055.937
|
||||
9.100747583,13982.486
|
||||
9.237511083,13908.102
|
||||
9.372204667,13851.627
|
||||
9.504688833,13881.018
|
||||
9.634593417,13925.517
|
||||
9.762460917,14039.895
|
||||
9.88810475,14149.439
|
||||
10.01133025,14239.756
|
||||
10.13194283,14293.484
|
||||
10.24966075,14316.173
|
||||
10.36420408,14430.991
|
||||
10.47555567,14679.855
|
||||
10.58395958,14924.489
|
||||
10.68960167,15012.168
|
||||
10.79186508,15026.451
|
||||
10.89072792,15122.316
|
||||
10.98580667,15239.826
|
||||
11.07743458,15393.979
|
||||
11.16544292,15480.175
|
||||
11.24972158,15551.648
|
||||
11.33033592,15622.736
|
||||
11.4071015,15593.4
|
||||
11.48018525,15485.943
|
||||
11.54942825,15270.646
|
||||
11.61424633,14921.577
|
||||
11.674432,14544.71
|
||||
11.72986992,14224.263
|
||||
11.78069242,13971.114
|
||||
11.82665033,13684.399
|
||||
11.86771467,13375.159
|
||||
11.90365167,13002.742
|
||||
11.93385692,12640.544
|
||||
11.95854375,12384.043
|
||||
11.97725417,12122.214
|
||||
11.99019917,11907.961
|
||||
11.99821617,11556.585
|
||||
12,10818.453
|
||||
11.99437833,10218.872
|
||||
11.98168992,9974.513
|
||||
11.96236683,9966.822
|
||||
11.93623683,10046.975
|
||||
11.90283792,10210.082
|
||||
11.86283425,10566.073
|
||||
11.81606508,10971.727
|
||||
11.76242917,11263.277
|
||||
11.70194025,11417.265
|
||||
11.635014,11506.812
|
||||
11.56213983,11355.131
|
||||
11.48255125,10783.129
|
||||
11.39636908,9951.934
|
||||
11.30301192,9180.95
|
||||
11.2028855,8568.624
|
||||
11.09612617,8027.276
|
||||
10.98281183,7570.531
|
||||
10.86439075,7120.324
|
||||
10.74053733,6429.602
|
||||
10.61033417,5731.465
|
||||
10.47414308,5262.799
|
||||
10.331585,4993.608
|
||||
10.18328317,4887.8
|
||||
10.02944475,4866.045
|
||||
9.870938667,4903.347
|
||||
9.708080667,4908.126
|
||||
9.541035917,4860.331
|
||||
9.370086833,4740.019
|
||||
9.194264167,4623.608
|
||||
9.011303833,4806.163
|
||||
8.823120833,5495.896
|
||||
8.630679917,6335.056
|
||||
8.434706083,7096.646
|
||||
8.235212917,7736.001
|
||||
8.031737583,8240.211
|
||||
7.823389583,8565.273
|
||||
7.609442167,8874.732
|
||||
7.394066333,9242.04
|
||||
7.18177575,9725.045
|
||||
6.971143917,10100.648
|
||||
6.76005725,10223.652
|
||||
6.547905917,10202.061
|
||||
6.335514583,10102.626
|
||||
6.1247145,10005.552
|
||||
5.915829583,9948.583
|
||||
5.70865225,9976.106
|
||||
5.502857083,10010.661
|
||||
5.29959525,9951.22
|
||||
5.0998445,9703.729
|
||||
4.90439275,9250.665
|
||||
4.712906583,8789.8
|
||||
4.525125833,8425.513
|
||||
4.34108925,8209.502
|
||||
4.161316917,8221.533
|
||||
3.985825667,8288.006
|
||||
3.81218425,8331.242
|
||||
3.639778833,8203.953
|
||||
3.47038125,8070.566
|
||||
3.30502375,8083.531
|
||||
3.144516,8198.954
|
||||
2.9875085,8453.806
|
||||
2.833456917,8828.805
|
||||
2.683372083,9145.351
|
||||
2.538298167,9273.079
|
||||
2.397747333,9299.449
|
||||
2.261532,9382.898
|
||||
2.128944,9634.838
|
||||
1.9997345,9987.423
|
||||
1.874468417,10264.305
|
||||
1.754004833,10515.696
|
||||
1.638998417,10693.087
|
||||
1.529095667,10687.429
|
||||
1.423291583,10592.882
|
||||
1.320598583,10505.588
|
||||
1.221731833,10531.792
|
||||
1.12771575,10595.739
|
||||
1.038479333,10568.875
|
||||
0.95374375,10443.948
|
||||
0.873229167,10212.17
|
||||
0.796579167,9881.834
|
||||
0.723449833,9552.763
|
||||
0.653880417,9342.464
|
||||
0.587873833,9236.052
|
||||
0.525776833,9193.421
|
||||
0.467945417,9160.623
|
||||
0.413685,9046.41
|
||||
0.362936583,8910.99
|
||||
0.315684333,8743.488
|
||||
0.271219,8566.646
|
||||
0.230005083,8550.44
|
||||
0.1921475,8679.871
|
||||
0.158036583,8881.379
|
||||
0.127829583,9023.831
|
||||
0.1008755,9046.739
|
||||
0.076851667,9062.177
|
||||
0.055667083,9212.429
|
||||
0.037832833,9532.985
|
||||
0.0232665,9776.026
|
||||
0.012359417,9889.581
|
||||
0.005017167,10032.636
|
||||
0.000966833,10243.539
|
||||
0,10488.118
|
||||
0.005469917,10661.443
|
||||
0.013863833,10718.797
|
||||
0.025325333,10687.978
|
||||
0.040032,10620.406
|
||||
0.058248417,10498.72
|
||||
0.07980025,10401.043
|
||||
0.104515583,10441.696
|
||||
0.132326083,10526.409
|
||||
0.16308075,10628.152
|
||||
0.195990667,10737.421
|
||||
0.232066417,10845.921
|
||||
0.271218583,10926.294
|
||||
0.313498083,11047.595
|
||||
0.359020417,11276.132
|
||||
0.407674083,11503.57
|
||||
0.4593205,11739.085
|
||||
0.51380025,11992.673
|
||||
0.571258167,12256.92
|
||||
0.63128025,12511.497
|
||||
0.693512167,12731.464
|
||||
0.758432417,12876.278
|
||||
0.826354917,12925.886
|
||||
0.89726725,12924.183
|
||||
0.9712875,12923.688
|
||||
1.048186583,13030.321
|
||||
1.127629,13306.049
|
||||
1.20959525,13623.199
|
||||
1.293956833,13950.403
|
||||
1.380850583,14278.376
|
||||
1.470691583,14574.101
|
||||
1.562806,14803.847
|
||||
1.656998333,15081.718
|
||||
1.753329083,15410.35
|
||||
1.852025333,15706.46
|
||||
1.952786833,16035.092
|
||||
2.055333167,16412.453
|
||||
2.159586667,16801.681
|
||||
2.265318833,17036.536
|
||||
2.3733975,16972.534
|
||||
2.484817583,16866.287
|
||||
2.59948025,16790.748
|
||||
2.71644175,16735.592
|
||||
2.834529167,16637.255
|
||||
2.95454075,16447.942
|
||||
3.0765375,16175.73
|
||||
3.201042417,15843.802
|
||||
3.328021917,15517.477
|
||||
3.457062,15256.582
|
||||
3.587754333,15145.994
|
||||
3.7197685,15090.343
|
||||
3.853573333,14970.086
|
||||
3.989576583,14891.362
|
||||
4.127587917,14842.962
|
||||
4.26697625,14740.34
|
||||
4.407120917,14499.057
|
||||
4.548720667,14326.721
|
||||
4.692186667,14369.901
|
||||
4.837357167,14485.104
|
||||
4.98334575,14591.681
|
||||
5.129595167,14679.086
|
||||
5.27664525,14766.051
|
||||
5.424664833,14919.434
|
||||
5.573320667,15126.162
|
||||
5.722529083,15310.2
|
||||
5.8719985,15376.069
|
||||
6.021790083,15440.62
|
||||
6.171415167,15476
|
||||
6.321026,15446.828
|
||||
6.470778417,15428.04
|
||||
6.62113375,15377.058
|
||||
6.771690917,15312.727
|
||||
6.92142425,15275.865
|
||||
7.070682583,15279.6
|
||||
7.219948833,15273.283
|
||||
7.369218333,15173.133
|
||||
7.517862583,15022.496
|
||||
7.665456333,14858.125
|
||||
7.81258175,14745.339
|
||||
7.95967025,14636.839
|
||||
8.106388583,14430.496
|
||||
8.251937833,14220.802
|
||||
8.39614225,14055.937
|
||||
8.53943,13982.486
|
||||
8.681693667,13908.102
|
||||
8.822886833,13851.627
|
||||
8.96252875,13881.018
|
||||
9.100747583,13925.517
|
||||
9.237511083,14039.895
|
||||
9.372204667,14149.439
|
||||
9.504688833,14239.756
|
||||
9.634593417,14293.484
|
||||
9.762460917,14316.173
|
||||
9.88810475,14430.991
|
||||
10.01133025,14679.855
|
||||
10.13194283,14924.489
|
||||
10.24966075,15012.168
|
||||
10.36420408,15026.451
|
||||
10.47555567,15122.316
|
||||
10.58395958,15239.826
|
||||
10.68960167,15393.979
|
||||
10.79186508,15480.175
|
||||
10.89072792,15551.648
|
||||
10.98580667,15622.736
|
||||
11.07743458,15593.4
|
||||
11.16544292,15485.943
|
||||
11.24972158,15270.646
|
||||
11.33033592,14921.577
|
||||
11.4071015,14544.71
|
||||
11.48018525,14224.263
|
||||
11.54942825,13971.114
|
||||
11.61424633,13684.399
|
||||
11.674432,13375.159
|
||||
11.72986992,13002.742
|
||||
11.78069242,12640.544
|
||||
11.82665033,12384.043
|
||||
11.86771467,12122.214
|
||||
11.90365167,11907.961
|
||||
11.93385692,11556.585
|
||||
11.95854375,10818.453
|
||||
11.97725417,10218.872
|
||||
11.99019917,9974.513
|
||||
11.99821617,9966.822
|
||||
12,10046.975
|
||||
11.99437833,10210.082
|
||||
11.98168992,10566.073
|
||||
11.96236683,10971.727
|
||||
11.93623683,11263.277
|
||||
11.90283792,11417.265
|
||||
11.86283425,11506.812
|
||||
11.81606508,11355.131
|
||||
11.76242917,10783.129
|
||||
11.70194025,9951.934
|
||||
11.635014,9180.95
|
||||
11.56213983,8568.624
|
||||
11.48255125,8027.276
|
||||
11.39636908,7570.531
|
||||
11.30301192,7120.324
|
||||
11.2028855,6429.602
|
||||
11.09612617,5731.465
|
||||
10.98281183,5262.799
|
||||
10.86439075,4993.608
|
||||
10.74053733,4887.8
|
||||
10.61033417,4866.045
|
||||
10.47414308,4903.347
|
||||
10.331585,4908.126
|
||||
10.18328317,4860.331
|
||||
10.02944475,4740.019
|
||||
9.870938667,4623.608
|
||||
9.708080667,4806.163
|
||||
9.541035917,5495.896
|
||||
9.370086833,6335.056
|
||||
9.194264167,7096.646
|
||||
9.011303833,7736.001
|
||||
8.823120833,8240.211
|
||||
8.630679917,8565.273
|
||||
8.434706083,8874.732
|
||||
8.235212917,9242.04
|
||||
8.031737583,9725.045
|
||||
7.823389583,10100.648
|
||||
7.609442167,10223.652
|
||||
7.394066333,10202.061
|
||||
7.18177575,10102.626
|
||||
6.971143917,10005.552
|
||||
6.76005725,9948.583
|
||||
6.547905917,9976.106
|
||||
6.335514583,10010.661
|
||||
6.1247145,9951.22
|
||||
5.915829583,9703.729
|
||||
5.70865225,9250.665
|
||||
5.502857083,8789.8
|
||||
5.29959525,8425.513
|
||||
5.0998445,8209.502
|
||||
4.90439275,8221.533
|
||||
4.712906583,8288.006
|
||||
4.525125833,8331.242
|
||||
4.34108925,8203.953
|
||||
4.161316917,8070.566
|
||||
3.985825667,8083.531
|
||||
3.81218425,8198.954
|
||||
3.639778833,8453.806
|
||||
3.47038125,8828.805
|
||||
3.30502375,9145.351
|
||||
3.144516,9273.079
|
||||
2.9875085,9299.449
|
||||
2.833456917,9382.898
|
||||
2.683372083,9634.838
|
||||
2.538298167,9987.423
|
||||
2.397747333,10264.305
|
||||
2.261532,10515.696
|
||||
2.128944,10693.087
|
||||
1.9997345,10687.429
|
||||
1.874468417,10592.882
|
||||
1.754004833,10505.588
|
||||
1.638998417,10531.792
|
||||
1.529095667,10595.739
|
||||
1.423291583,10568.875
|
||||
1.320598583,10443.948
|
||||
1.221731833,10212.17
|
||||
1.12771575,9881.834
|
||||
1.038479333,9552.763
|
||||
0.95374375,9342.464
|
||||
0.873229167,9236.052
|
||||
0.796579167,9193.421
|
||||
0.723449833,9160.623
|
||||
0.653880417,9046.41
|
||||
0.587873833,8910.99
|
||||
0.525776833,8743.488
|
||||
0.467945417,8566.646
|
||||
0.413685,8550.44
|
||||
0.362936583,8679.871
|
||||
0.315684333,8881.379
|
||||
0.271219,9023.831
|
||||
0.230005083,9046.739
|
||||
0.1921475,9062.177
|
||||
0.158036583,9212.429
|
||||
0.127829583,9532.985
|
||||
0.1008755,9862.826
|
||||
0.076851667,10190.689
|
||||
0.055667083,10424.885
|
||||
0.037832833,10515.421
|
||||
0.0232665,9776.026
|
||||
0.012359417,9889.581
|
||||
0.005017167,10032.636
|
||||
0.000966833,10243.539
|
||||
0,10488.118
|
||||
0.005469917,10661.443
|
||||
0.013863833,10718.797
|
||||
0.025325333,10687.978
|
||||
0.040032,10620.406
|
||||
0.058248417,10498.72
|
||||
0.07980025,10401.043
|
||||
0.104515583,10441.696
|
||||
0.132326083,10526.409
|
||||
0.16308075,10628.152
|
||||
0.195990667,10737.421
|
||||
0.232066417,10845.921
|
||||
0.271218583,10926.294
|
||||
0.313498083,11047.595
|
||||
0.359020417,11276.132
|
||||
0.407674083,11503.57
|
||||
0.4593205,11739.085
|
||||
0.51380025,11992.673
|
||||
0.571258167,12256.92
|
||||
0.63128025,12511.497
|
||||
0.693512167,12731.464
|
||||
0.758432417,12876.278
|
||||
0.826354917,12925.886
|
||||
0.89726725,12924.183
|
||||
0.9712875,12923.688
|
||||
1.048186583,13030.321
|
||||
1.127629,13306.049
|
||||
1.20959525,13623.199
|
||||
1.293956833,13950.403
|
||||
1.380850583,14278.376
|
||||
1.470691583,14574.101
|
||||
1.562806,14803.847
|
||||
1.656998333,15081.718
|
||||
1.753329083,15410.35
|
||||
1.852025333,15706.46
|
||||
1.952786833,16035.092
|
||||
2.055333167,16412.453
|
||||
2.159586667,16801.681
|
||||
2.265318833,17036.536
|
||||
2.3733975,16972.534
|
||||
2.484817583,16866.287
|
||||
2.59948025,16790.748
|
||||
2.71644175,16735.592
|
||||
2.834529167,16637.255
|
||||
2.95454075,16447.942
|
||||
3.0765375,16175.73
|
||||
3.201042417,15843.802
|
||||
3.328021917,15517.477
|
||||
3.457062,15256.582
|
||||
3.587754333,15145.994
|
||||
3.7197685,15090.343
|
||||
3.853573333,14970.086
|
||||
3.989576583,14891.362
|
||||
4.127587917,14842.962
|
||||
4.26697625,14740.34
|
||||
4.407120917,14499.057
|
||||
4.548720667,14326.721
|
||||
4.692186667,14369.901
|
||||
4.837357167,14485.104
|
||||
4.98334575,14591.681
|
||||
5.129595167,14679.086
|
||||
5.27664525,14766.051
|
||||
5.424664833,14919.434
|
||||
5.573320667,15126.162
|
||||
5.722529083,15310.2
|
||||
5.8719985,15376.069
|
||||
6.021790083,15440.62
|
||||
6.171415167,15476
|
||||
6.321026,15446.828
|
||||
6.470778417,15428.04
|
||||
6.62113375,15377.058
|
||||
6.771690917,15312.727
|
||||
6.92142425,15275.865
|
||||
7.070682583,15279.6
|
||||
7.219948833,15273.283
|
||||
7.369218333,15173.133
|
||||
7.517862583,15022.496
|
||||
7.665456333,14858.125
|
||||
7.81258175,14745.339
|
||||
7.95967025,14636.839
|
||||
8.106388583,14430.496
|
||||
8.251937833,14220.802
|
||||
8.39614225,14055.937
|
||||
8.53943,13982.486
|
||||
8.681693667,13908.102
|
||||
8.822886833,13851.627
|
||||
8.96252875,13881.018
|
||||
9.100747583,13925.517
|
||||
9.237511083,14039.895
|
||||
9.372204667,14149.439
|
||||
9.504688833,14239.756
|
||||
9.634593417,14293.484
|
||||
9.762460917,14316.173
|
||||
9.88810475,14430.991
|
||||
10.01133025,14679.855
|
||||
10.13194283,14924.489
|
||||
10.24966075,15012.168
|
||||
10.36420408,15026.451
|
||||
10.47555567,15122.316
|
||||
10.58395958,15239.826
|
||||
10.68960167,15393.979
|
||||
10.79186508,15480.175
|
||||
10.89072792,15551.648
|
||||
10.98580667,15622.736
|
||||
11.07743458,15593.4
|
||||
11.16544292,15485.943
|
||||
11.24972158,15270.646
|
||||
11.33033592,14921.577
|
||||
11.4071015,14544.71
|
||||
11.48018525,14224.263
|
||||
11.54942825,13971.114
|
||||
11.61424633,13684.399
|
||||
11.674432,13375.159
|
||||
11.72986992,13002.742
|
||||
11.78069242,12640.544
|
||||
11.82665033,12384.043
|
||||
11.86771467,12122.214
|
||||
11.90365167,11907.961
|
||||
11.93385692,11556.585
|
||||
11.95854375,10818.453
|
||||
11.97725417,10218.872
|
||||
11.99019917,9974.513
|
||||
11.99821617,9966.822
|
||||
12,10046.975
|
||||
11.99437833,10210.082
|
||||
11.98168992,10566.073
|
||||
11.96236683,10971.727
|
||||
11.93623683,11263.277
|
||||
11.90283792,11417.265
|
||||
11.86283425,11506.812
|
||||
11.81606508,11355.131
|
||||
11.76242917,10783.129
|
||||
11.70194025,9951.934
|
||||
11.635014,9180.95
|
||||
11.56213983,8568.624
|
||||
11.48255125,8027.276
|
||||
11.39636908,7570.531
|
||||
11.30301192,7120.324
|
||||
11.2028855,6429.602
|
||||
11.09612617,5731.465
|
||||
10.98281183,5262.799
|
||||
10.86439075,4993.608
|
||||
10.74053733,4887.8
|
||||
10.61033417,4866.045
|
||||
10.47414308,4903.347
|
||||
10.331585,4908.126
|
||||
10.18328317,4860.331
|
||||
10.02944475,4740.019
|
||||
9.870938667,4623.608
|
||||
9.708080667,4806.163
|
||||
9.541035917,5495.896
|
||||
9.370086833,6335.056
|
||||
9.194264167,7096.646
|
||||
9.011303833,7736.001
|
||||
8.823120833,8240.211
|
||||
8.630679917,8565.273
|
||||
8.434706083,8874.732
|
||||
8.235212917,9242.04
|
||||
8.031737583,9725.045
|
||||
7.823389583,10100.648
|
||||
7.609442167,10223.652
|
||||
7.394066333,10202.061
|
||||
7.18177575,10102.626
|
||||
6.971143917,10005.552
|
||||
6.76005725,9948.583
|
||||
6.547905917,9976.106
|
||||
6.335514583,10010.661
|
||||
6.1247145,9951.22
|
||||
5.915829583,9703.729
|
||||
5.70865225,9250.665
|
||||
5.502857083,8789.8
|
||||
5.29959525,8425.513
|
||||
5.0998445,8209.502
|
||||
4.90439275,8221.533
|
||||
4.712906583,8288.006
|
||||
4.525125833,8331.242
|
||||
4.34108925,8203.953
|
||||
4.161316917,8070.566
|
||||
3.985825667,8083.531
|
||||
3.81218425,8198.954
|
||||
3.639778833,8453.806
|
||||
3.47038125,8828.805
|
||||
3.30502375,9145.351
|
||||
3.144516,9273.079
|
||||
2.9875085,9299.449
|
||||
2.833456917,9382.898
|
||||
2.683372083,9634.838
|
||||
2.538298167,9987.423
|
||||
2.397747333,10264.305
|
||||
2.261532,10515.696
|
||||
2.128944,10693.087
|
||||
1.9997345,10687.429
|
||||
1.874468417,10592.882
|
||||
1.754004833,10505.588
|
||||
1.638998417,10531.792
|
||||
1.529095667,10595.739
|
||||
1.423291583,10568.875
|
||||
1.320598583,10443.948
|
||||
1.221731833,10212.17
|
||||
1.12771575,9881.834
|
||||
1.038479333,9552.763
|
||||
0.95374375,9342.464
|
||||
0.873229167,9236.052
|
||||
0.796579167,9193.421
|
||||
0.723449833,9160.623
|
||||
0.653880417,9046.41
|
||||
0.587873833,8910.99
|
||||
0.525776833,8743.488
|
||||
0.467945417,8566.646
|
||||
0.413685,8550.44
|
||||
0.362936583,8679.871
|
||||
0.315684333,8881.379
|
||||
0.271219,9023.831
|
||||
0.230005083,9046.739
|
||||
0.1921475,9062.177
|
||||
0.158036583,9212.429
|
||||
0.127829583,9532.985
|
||||
0.1008755,9862.826
|
||||
0.076851667,10190.689
|
||||
0.055667083,10424.885
|
||||
0.037832833,10515.421
|
||||
0.0232665,10534.1
|
||||
0.012359417,10661.443
|
||||
0.005017167,10718.797
|
||||
0.000966833,10687.978
|
||||
0,10620.406
|
||||
|
180
welldata/barney.csv
Normal file
180
welldata/barney.csv
Normal file
@@ -0,0 +1,180 @@
|
||||
98.878479,19687.71875
|
||||
98.833061,19608.97656
|
||||
98.687271,19612.3457
|
||||
98.496696,19617.55859
|
||||
98.207436,19576.69141
|
||||
97.906197,19510.25391
|
||||
97.608604,19436.69141
|
||||
97.173904,19366.32422
|
||||
96.616814,19293.74609
|
||||
96.06707,19212.42578
|
||||
95.433464,19121.12695
|
||||
94.750229,18985.37695
|
||||
93.93502,18818.625
|
||||
93.058502,18631.74219
|
||||
92.094398,18416.21875
|
||||
91.115143,18170.38086
|
||||
90.038254,18007.29492
|
||||
88.876823,17900.4375
|
||||
87.800278,17741.07617
|
||||
86.602104,17562.10938
|
||||
85.338539,17415.25781
|
||||
84.031471,17233.49805
|
||||
82.621895,17034.44922
|
||||
81.234825,16871.27148
|
||||
79.743828,16691.58398
|
||||
78.161911,16506.85547
|
||||
76.624016,16325.87402
|
||||
74.942314,16161.14941
|
||||
73.294777,15983.00977
|
||||
71.784866,15803.35645
|
||||
69.821587,15646.15918
|
||||
68.057617,15501.06152
|
||||
66.191177,15320.59375
|
||||
64.338715,15120.2168
|
||||
62.373264,14918.42969
|
||||
60.399395,14698.55273
|
||||
58.512794,14469.47559
|
||||
56.390789,14288.49414
|
||||
54.341087,14071.99609
|
||||
52.511631,13792.64746
|
||||
50.630878,13525.46582
|
||||
48.341488,13301.0293
|
||||
46.053364,13113.85938
|
||||
43.820122,12951.33594
|
||||
41.556591,12804.93066
|
||||
39.372406,12658.11328
|
||||
37.154778,12548.74707
|
||||
34.933659,12547.72754
|
||||
32.695152,12614.78418
|
||||
30.451603,12721.59473
|
||||
28.177065,12871.17481
|
||||
26.004868,13069.79883
|
||||
23.809713,13288.17578
|
||||
21.60713,13527.0127
|
||||
19.421371,13794.61719
|
||||
17.294621,14039.40234
|
||||
15.197564,14301.56641
|
||||
13.184119,14633.20313
|
||||
11.266252,14979.44824
|
||||
9.394399,15288.05664
|
||||
7.674011,15624.27734
|
||||
6.022047,15980.21387
|
||||
4.538721,16348.66211
|
||||
3.267299,16731.54492
|
||||
2.119907,17103.81836
|
||||
1.141826,17435.94922
|
||||
0.418223,17803.7207
|
||||
-0.12613,18275.1875
|
||||
-0.467637,18628.31641
|
||||
-0.51326,18861.23242
|
||||
-0.364345,19057.53125
|
||||
0.018931,19199.125
|
||||
0.580402,19272.33203
|
||||
1.374856,19284.80859
|
||||
2.370766,19296.14063
|
||||
3.548366,19280.52344
|
||||
4.901436,19209.49219
|
||||
6.289977,19161.12305
|
||||
7.810155,19124.56445
|
||||
9.249138,19056.27148
|
||||
11.200404,18958.39648
|
||||
13.0338,18852.51367
|
||||
14.848969,18668.73633
|
||||
16.729538,18527.5332
|
||||
18.612474,18544.78516
|
||||
20.602987,18633.49609
|
||||
22.702454,18795.25195
|
||||
24.77833,19109.18945
|
||||
25.177294,19172.98047
|
||||
28.490406,19890.91406
|
||||
30.613531,20248.89063
|
||||
32.711479,20567.33008
|
||||
34.75729,20858.19336
|
||||
36.782173,21162.08203
|
||||
38.776138,21393.24414
|
||||
40.72184,21584.99414
|
||||
42.52161,21713.19531
|
||||
44.369289,21738.40039
|
||||
46.143349,21729.17773
|
||||
47.779621,21707.57031
|
||||
49.412922,21653.39063
|
||||
50.949528,21590.86133
|
||||
52.417835,21525.71875
|
||||
53.857075,21437.76563
|
||||
55.185429,21373.25195
|
||||
56.485561,21344.87305
|
||||
57.768398,21328.21484
|
||||
58.943233,21319.17578
|
||||
60.056538,21330.51758
|
||||
61.14143,21291.62305
|
||||
62.110706,21135.88086
|
||||
63.0681,20903.34375
|
||||
63.947544,20606.11133
|
||||
64.808846,20297.81055
|
||||
65.595825,20000.29102
|
||||
66.412445,19717.73438
|
||||
67.192184,19500.10352
|
||||
67.992744,19290.37695
|
||||
68.720482,19124.36914
|
||||
69.426147,19051.0918
|
||||
70.138245,19031.12305
|
||||
70.885918,19030.51563
|
||||
71.595657,19061.15039
|
||||
72.285698,19116.24609
|
||||
72.975212,19188.95117
|
||||
73.707901,19285.1875
|
||||
74.392151,19376.19922
|
||||
75.067535,19453.31445
|
||||
75.794853,19522.01953
|
||||
76.391739,19578.1582
|
||||
77.127335,19592.81055
|
||||
77.781105,19605.13867
|
||||
78.431618,19693.26367
|
||||
79.051086,19876.69727
|
||||
79.68145,20072.04492
|
||||
80.275848,20140.12109
|
||||
80.891983,20179.69141
|
||||
81.519623,20299.28906
|
||||
82.112488,20475.50391
|
||||
82.612625,20623.14648
|
||||
83.177994,20686.78906
|
||||
83.742981,20706.4375
|
||||
84.29689,20728.62891
|
||||
84.801743,20770.10156
|
||||
85.366142,20794.39063
|
||||
85.919426,20807.11914
|
||||
86.426506,20824.57813
|
||||
86.913559,20864.11523
|
||||
87.46875,20914.57031
|
||||
87.971497,20934.42578
|
||||
88.451851,20932.81055
|
||||
88.878235,20948.83789
|
||||
89.36071,20969.20898
|
||||
89.832573,20990.38086
|
||||
90.312851,21037.22656
|
||||
90.791679,21036.99805
|
||||
91.224022,20952.89453
|
||||
91.686485,20898.39453
|
||||
92.04731,20878.73438
|
||||
92.485863,20836.66602
|
||||
92.906303,20748.04883
|
||||
93.350357,20647.80273
|
||||
93.768356,20570.61719
|
||||
94.2202,20527.04883
|
||||
94.641785,20494.83203
|
||||
95.037338,20464.71289
|
||||
95.384933,20440.7793
|
||||
95.739662,20423.43359
|
||||
96.111412,20414.75
|
||||
96.439934,20385.69531
|
||||
96.781326,20322.00781
|
||||
97.07505,20278.27734
|
||||
97.321877,20266.07617
|
||||
97.556763,20244.46875
|
||||
97.762444,20222.60938
|
||||
98.018829,20203.42969
|
||||
98.207611,20120.64453
|
||||
98.385574,20003.58008
|
||||
98.512047,19839.70313
|
||||
98.611382,19752.30078
|
||||
|
72
welldata/barney.data
Normal file
72
welldata/barney.data
Normal file
@@ -0,0 +1,72 @@
|
||||
[ [98.878479 98.833061 98.687271 98.496696 98.207436 ...
|
||||
97.906197 97.608604 97.173904 96.616814 96.06707 ...
|
||||
95.433464 94.750229 93.93502 93.058502 92.094398 ...
|
||||
91.115143 90.038254 88.876823 87.800278 86.602104 ...
|
||||
85.338539 84.031471 82.621895 81.234825 79.743828 ...
|
||||
78.161911 76.624016 74.942314 73.294777 71.784866 ...
|
||||
69.821587 68.057617 66.191177 64.338715 62.373264 ...
|
||||
60.399395 58.512794 56.390789 54.341087 52.511631 ...
|
||||
50.630878 48.341488 46.053364 43.820122 41.556591 ...
|
||||
39.372406 37.154778 34.933659 32.695152 30.451603 ...
|
||||
28.177065 26.004868 23.809713 21.60713 19.421371 ...
|
||||
17.294621 15.197564 13.184119 11.266252 9.394399 ...
|
||||
7.674011 6.022047 4.538721 3.267299 2.119907 ...
|
||||
1.141826 0.418223 -0.12613 -0.467637 -0.51326 ...
|
||||
-0.364345 0.018931 0.580402 1.374856 2.370766 ...
|
||||
3.548366 4.901436 6.289977 7.810155 9.249138 ...
|
||||
11.200404 13.0338 14.848969 16.729538 18.612474 ...
|
||||
20.602987 22.702454 24.77833 25.177294 28.490406 ...
|
||||
30.613531 32.711479 34.75729 36.782173 38.776138 ...
|
||||
40.72184 42.52161 44.369289 46.143349 47.779621 ...
|
||||
49.412922 50.949528 52.417835 53.857075 55.185429 ...
|
||||
56.485561 57.768398 58.943233 60.056538 61.14143 ...
|
||||
62.110706 63.0681 63.947544 64.808846 65.595825 ...
|
||||
66.412445 67.192184 67.992744 68.720482 69.426147 ...
|
||||
70.138245 70.885918 71.595657 72.285698 72.975212 ...
|
||||
73.707901 74.392151 75.067535 75.794853 76.391739 ...
|
||||
77.127335 77.781105 78.431618 79.051086 79.68145 ...
|
||||
80.275848 80.891983 81.519623 82.112488 82.612625 ...
|
||||
83.177994 83.742981 84.29689 84.801743 85.366142 ...
|
||||
85.919426 86.426506 86.913559 87.46875 87.971497 ...
|
||||
88.451851 88.878235 89.36071 89.832573 90.312851 ...
|
||||
90.791679 91.224022 91.686485 92.04731 92.485863 ...
|
||||
92.906303 93.350357 93.768356 94.2202 94.641785 ...
|
||||
95.037338 95.384933 95.739662 96.111412 96.439934 ...
|
||||
96.781326 97.07505 97.321877 97.556763 97.762444 ...
|
||||
98.018829 98.207611 98.385574 98.512047 98.611382 ]
|
||||
[19687.71875 19608.97656 19612.3457 19617.55859 19576.69141 ...
|
||||
19510.25391 19436.69141 19366.32422 19293.74609 19212.42578 ...
|
||||
19121.12695 18985.37695 18818.625 18631.74219 18416.21875 ...
|
||||
18170.38086 18007.29492 17900.4375 17741.07617 17562.10938 ...
|
||||
17415.25781 17233.49805 17034.44922 16871.27148 16691.58398 ...
|
||||
16506.85547 16325.87402 16161.14941 15983.00977 15803.35645 ...
|
||||
15646.15918 15501.06152 15320.59375 15120.2168 14918.42969 ...
|
||||
14698.55273 14469.47559 14288.49414 14071.99609 13792.64746 ...
|
||||
13525.46582 13301.0293 13113.85938 12951.33594 12804.93066 ...
|
||||
12658.11328 12548.74707 12547.72754 12614.78418 12721.59473 ...
|
||||
12871.17481 13069.79883 13288.17578 13527.0127 13794.61719 ...
|
||||
14039.40234 14301.56641 14633.20313 14979.44824 15288.05664 ...
|
||||
15624.27734 15980.21387 16348.66211 16731.54492 17103.81836 ...
|
||||
17435.94922 17803.7207 18275.1875 18628.31641 18861.23242 ...
|
||||
19057.53125 19199.125 19272.33203 19284.80859 19296.14063 ...
|
||||
19280.52344 19209.49219 19161.12305 19124.56445 19056.27148 ...
|
||||
18958.39648 18852.51367 18668.73633 18527.5332 18544.78516 ...
|
||||
18633.49609 18795.25195 19109.18945 19172.98047 19890.91406 ...
|
||||
20248.89063 20567.33008 20858.19336 21162.08203 21393.24414 ...
|
||||
21584.99414 21713.19531 21738.40039 21729.17773 21707.57031 ...
|
||||
21653.39063 21590.86133 21525.71875 21437.76563 21373.25195 ...
|
||||
21344.87305 21328.21484 21319.17578 21330.51758 21291.62305 ...
|
||||
21135.88086 20903.34375 20606.11133 20297.81055 20000.29102 ...
|
||||
19717.73438 19500.10352 19290.37695 19124.36914 19051.0918 ...
|
||||
19031.12305 19030.51563 19061.15039 19116.24609 19188.95117 ...
|
||||
19285.1875 19376.19922 19453.31445 19522.01953 19578.1582 ...
|
||||
19592.81055 19605.13867 19693.26367 19876.69727 20072.04492 ...
|
||||
20140.12109 20179.69141 20299.28906 20475.50391 20623.14648 ...
|
||||
20686.78906 20706.4375 20728.62891 20770.10156 20794.39063 ...
|
||||
20807.11914 20824.57813 20864.11523 20914.57031 20934.42578 ...
|
||||
20932.81055 20948.83789 20969.20898 20990.38086 21037.22656 ...
|
||||
21036.99805 20952.89453 20898.39453 20878.73438 20836.66602 ...
|
||||
20748.04883 20647.80273 20570.61719 20527.04883 20494.83203 ...
|
||||
20464.71289 20440.7793 20423.43359 20414.75 20385.69531 ...
|
||||
20322.00781 20278.27734 20266.07617 20244.46875 20222.60938 ...
|
||||
20203.42969 20120.64453 20003.58008 19839.70313 19752.30078 ] ]
|
||||
30
welldata/csv_to_matlab.py
Normal file
30
welldata/csv_to_matlab.py
Normal file
@@ -0,0 +1,30 @@
|
||||
"""Convert a CSV file of position,load pairs to a string representative of a matlab array."""
|
||||
|
||||
import csv
|
||||
|
||||
position = []
|
||||
load = []
|
||||
|
||||
with open("barney.csv", 'r') as csv_file:
|
||||
csvreader = csv.reader(csv_file)
|
||||
for row in csvreader:
|
||||
position.append(row[0])
|
||||
load.append(row[1])
|
||||
|
||||
|
||||
def array_to_matlab_split(a, split_after=5):
|
||||
"""Turn a python array into a matlab array."""
|
||||
a_string = "["
|
||||
for i in range(0, len(a)):
|
||||
if i > 0 and i % split_after == 0:
|
||||
a_string += " ...\n"
|
||||
a_string += a[i] + " "
|
||||
|
||||
a_string += "]"
|
||||
return a_string
|
||||
|
||||
|
||||
position_string = array_to_matlab_split(position, split_after=5)
|
||||
load_string = array_to_matlab_split(load, split_after=5)
|
||||
|
||||
print("[ " + position_string + "\n" + load_string + " ];")
|
||||
225
welldata/mallet_single.csv
Normal file
225
welldata/mallet_single.csv
Normal file
@@ -0,0 +1,225 @@
|
||||
0,8484.74
|
||||
0.066215,8615.27
|
||||
0.171112,8951.1
|
||||
0.316819,9280.12
|
||||
0.498586,9613.75
|
||||
0.715024,10084.6
|
||||
0.97621,10624.4
|
||||
1.2883,10886
|
||||
1.63867,10787.3
|
||||
2.02093,10515.7
|
||||
2.43243,10317
|
||||
2.87705,10188.2
|
||||
3.36461,10107.5
|
||||
3.8875,10058.3
|
||||
4.44299,10128.3
|
||||
5.03967,10279.2
|
||||
5.67946,10368
|
||||
6.35611,10397.3
|
||||
7.05754,10422.5
|
||||
7.7809,10496.4
|
||||
8.53069,10721.6
|
||||
9.32235,11145.6
|
||||
10.1506,11569.2
|
||||
11.013,12015.8
|
||||
11.9097,12514.9
|
||||
12.842,12892
|
||||
13.8065,12964.3
|
||||
14.7986,12892.5
|
||||
15.8226,12869.7
|
||||
16.8842,12904.7
|
||||
17.9785,12974.2
|
||||
19.1005,13055.2
|
||||
20.2442,13145.5
|
||||
21.4129,13406.1
|
||||
22.6127,13789.8
|
||||
23.8375,13974.4
|
||||
25.0839,14102
|
||||
26.3506,14397.5
|
||||
27.6347,14832.5
|
||||
28.936,15269.6
|
||||
30.2719,15730.9
|
||||
31.6607,16128.3
|
||||
33.0885,16138.4
|
||||
34.5314,15870.9
|
||||
35.9861,15687
|
||||
37.4602,15666
|
||||
38.9614,15642.7
|
||||
40.4966,15570.9
|
||||
42.0607,15503.3
|
||||
43.6394,15452.3
|
||||
45.2335,15386.8
|
||||
46.8483,15105.5
|
||||
48.4878,14678
|
||||
50.152,14434.2
|
||||
51.8308,14364.4
|
||||
53.5259,14356.1
|
||||
55.2375,14236.2
|
||||
56.9713,14093.1
|
||||
58.7226,13891.4
|
||||
60.4832,13598.9
|
||||
62.2413,13513.1
|
||||
64.007,13694.1
|
||||
65.7803,13886.4
|
||||
67.5656,13987.5
|
||||
69.3593,14073.4
|
||||
71.1599,14208.2
|
||||
72.9585,14286.5
|
||||
74.7583,14322
|
||||
76.556,14312
|
||||
78.3522,14427.3
|
||||
80.1504,14687.4
|
||||
81.9521,14818.9
|
||||
83.7547,14816.3
|
||||
85.5546,14750.8
|
||||
87.3472,14682.4
|
||||
89.1313,14642.8
|
||||
90.9046,14661.6
|
||||
92.6711,14728.2
|
||||
94.4368,14709.3
|
||||
96.2018,14537.4
|
||||
97.9579,14323.4
|
||||
99.6993,14149.4
|
||||
101.428,13975.5
|
||||
103.143,13769.3
|
||||
104.844,13652.9
|
||||
106.527,13573.9
|
||||
108.191,13526.9
|
||||
109.842,13466.2
|
||||
111.478,13316.7
|
||||
113.09,13212.9
|
||||
114.669,13210.8
|
||||
116.219,13258
|
||||
117.74,13319.1
|
||||
119.238,13443.1
|
||||
120.709,13533.1
|
||||
122.148,13525.3
|
||||
123.547,13536
|
||||
124.909,13699.2
|
||||
126.234,14000.9
|
||||
127.523,14235.3
|
||||
128.772,14383.4
|
||||
129.979,14674.1
|
||||
131.149,14953.1
|
||||
132.282,14981
|
||||
133.374,14929.8
|
||||
134.416,14898.1
|
||||
135.41,14954.7
|
||||
136.359,14988.7
|
||||
137.266,14932.4
|
||||
138.126,14798
|
||||
138.939,14617.8
|
||||
139.7,14300.7
|
||||
140.403,13873.7
|
||||
141.05,13581.8
|
||||
141.639,13342
|
||||
142.175,13062.5
|
||||
142.646,12627.3
|
||||
143.058,12231.8
|
||||
143.405,11767.8
|
||||
143.683,11330.1
|
||||
143.878,10991
|
||||
143.996,10990.7
|
||||
144,11457.4
|
||||
143.95,13420
|
||||
143.839,14602.7
|
||||
143.662,15329.3
|
||||
143.407,15622.4
|
||||
143.091,15098.6
|
||||
142.687,14170.6
|
||||
142.183,13026.4
|
||||
141.6,12231.2
|
||||
140.93,11669.8
|
||||
140.172,11416.2
|
||||
139.341,11030.2
|
||||
138.434,10372.5
|
||||
137.43,9651.43
|
||||
136.346,9073.28
|
||||
135.19,8552.75
|
||||
133.945,7961.3
|
||||
132.611,7503.35
|
||||
131.196,7265.97
|
||||
129.659,7476.43
|
||||
128.044,8425.79
|
||||
126.37,8998.29
|
||||
124.599,9058.83
|
||||
122.758,8750.14
|
||||
120.876,7922.02
|
||||
119.005,6829.66
|
||||
117.1,5739.27
|
||||
115.16,4938.02
|
||||
113.195,4556.92
|
||||
111.124,4009.97
|
||||
108.956,3076.65
|
||||
106.734,2809.43
|
||||
104.501,3435.44
|
||||
102.236,4114.62
|
||||
99.8892,4774.08
|
||||
97.4932,5494.42
|
||||
95.0781,6051.92
|
||||
92.6506,6267.32
|
||||
90.2226,6215.52
|
||||
87.773,6104.6
|
||||
85.3137,6203.32
|
||||
82.8008,6609.69
|
||||
80.2456,7243.11
|
||||
77.6691,7868.18
|
||||
75.059,8409.37
|
||||
72.4444,8770.91
|
||||
69.889,9123
|
||||
67.3891,9726.37
|
||||
64.9092,10533.1
|
||||
62.449,10876.2
|
||||
60.006,10686.3
|
||||
57.606,10357
|
||||
55.2767,9938.64
|
||||
53.0145,9433.22
|
||||
50.7868,8896.33
|
||||
48.581,8634.28
|
||||
46.4189,8698.11
|
||||
44.3031,8840.73
|
||||
42.2375,8833.26
|
||||
40.2273,8726.52
|
||||
38.2721,8607.14
|
||||
36.3855,8449.8
|
||||
34.5648,8343.22
|
||||
32.8088,8334.71
|
||||
31.0978,8226.37
|
||||
29.4095,7798.63
|
||||
27.7617,7187.13
|
||||
26.1538,6973.54
|
||||
24.6108,7240.64
|
||||
23.1211,7661.24
|
||||
21.6577,8004.98
|
||||
20.237,8433.32
|
||||
18.8709,9012.46
|
||||
17.57,9429.65
|
||||
16.3306,9509.81
|
||||
15.1428,9421.25
|
||||
13.9942,9405.43
|
||||
12.8928,9478.66
|
||||
11.837,9530.74
|
||||
10.8323,9548.98
|
||||
9.88763,9552.49
|
||||
8.99399,9483.55
|
||||
8.1242,9405.81
|
||||
7.2898,9492.06
|
||||
6.51456,9765.15
|
||||
5.80287,9996.22
|
||||
5.14662,9887.11
|
||||
4.5243,9551.61
|
||||
3.93801,9254.68
|
||||
3.40371,8961.15
|
||||
2.91193,8378.6
|
||||
2.4483,7819.07
|
||||
2.01826,7649.43
|
||||
1.63363,7745.02
|
||||
1.29812,7860
|
||||
1.00485,7939.93
|
||||
0.741844,8024.7
|
||||
0.515951,8110.57
|
||||
0.329747,8151.66
|
||||
0.179453,8272.08
|
||||
0.073617,8535.67
|
||||
0.018252,8665.32
|
||||
0,8484.74
|
||||
|
87
welldata/melinda252.csv
Normal file
87
welldata/melinda252.csv
Normal file
@@ -0,0 +1,87 @@
|
||||
126.5051,10223.6484
|
||||
123.9029,10230.2314
|
||||
121.0463,10189.2041
|
||||
117.5635,10083.4697
|
||||
113.8426,9917.5088
|
||||
109.5759,9707.9521
|
||||
106.2378,9516.8672
|
||||
101.8044,9289.751
|
||||
97.3519,9089.0195
|
||||
92.8,8866.0742
|
||||
88.4091,8614.7021
|
||||
84.0076,8358.5879
|
||||
79.4541,8115.3457
|
||||
73.9173,7900.021
|
||||
68.8499,7737.3984
|
||||
64.0064,7629.6919
|
||||
59.7473,7575.2832
|
||||
54.2922,7550.3623
|
||||
49.2909,7553.3936
|
||||
45.0403,7569.3081
|
||||
40.2633,7617.9331
|
||||
35.5266,7699.2344
|
||||
31.471,7834.8071
|
||||
27.2086,8026.6318
|
||||
22.9661,8260.4336
|
||||
19.2719,8528.791
|
||||
16.2453,8817.7529
|
||||
13.1741,9082.624
|
||||
10.9223,9415.6523
|
||||
8.0221,9724.8018
|
||||
5.5349,10025.0273
|
||||
3.4914,10320.8779
|
||||
2.4433,10608.1514
|
||||
1.7148,10871.1895
|
||||
0.6192,11109.6748
|
||||
1.7067,11306.8379
|
||||
2.9805,11469.5664
|
||||
4.4613,11593.3682
|
||||
6.7297,11745.6162
|
||||
9.3626,11901.7324
|
||||
11.8843,12057.29
|
||||
15.1879,12195.709
|
||||
18.4037,12295.3252
|
||||
21.3285,12352.6484
|
||||
24.8961,12380.8867
|
||||
29.3451,12399.6924
|
||||
33.9272,12436.4443
|
||||
38.6627,12508.127
|
||||
43.3936,12693.4512
|
||||
48.5832,12947.9678
|
||||
53.3561,13279.9844
|
||||
58.4396,13640.2158
|
||||
63.1561,13988.7295
|
||||
67.9264,14302.9248
|
||||
72.3098,14561.3086
|
||||
77.6417,14780.2432
|
||||
81.9482,14970.4375
|
||||
87.1089,15137.6719
|
||||
91.5611,15345.9346
|
||||
96.0731,15522.124
|
||||
100.0094,15656.2988
|
||||
103.7351,15724.6758
|
||||
108.128,15701.9902
|
||||
111.5638,15592.5537
|
||||
114.0383,15405.3252
|
||||
118.2311,15168.708
|
||||
121.0557,14897.0527
|
||||
124.7529,14637.6436
|
||||
127.9931,14284.2031
|
||||
130.6817,13907.2744
|
||||
132.779,13482.124
|
||||
135.5623,13016.0996
|
||||
137.6565,12550.0195
|
||||
139.2685,12102.9883
|
||||
140.2527,11735.0107
|
||||
141.1513,11428.2813
|
||||
141.4701,11193.6563
|
||||
141.7055,11011.8604
|
||||
142.144,10804.417
|
||||
141.2585,10480.751
|
||||
140.0993,10376.5615
|
||||
138.4791,10307.9443
|
||||
136.8406,10259.3877
|
||||
135.2337,10218.1396
|
||||
133.2669,10192.2598
|
||||
130.8739,10191.4248
|
||||
126.5051,10223.6484
|
||||
|
87
welldata/melinda254.csv
Normal file
87
welldata/melinda254.csv
Normal file
@@ -0,0 +1,87 @@
|
||||
103.8524,13004.6484
|
||||
99.3235,13028.7656
|
||||
94.6525,13041.959
|
||||
90.3378,13048.8369
|
||||
85.9424,13055.4863
|
||||
81.5922,13066.1152
|
||||
77.7294,13085.7695
|
||||
72.2623,13106.7188
|
||||
67.7774,13124.3232
|
||||
62.7635,13131.6006
|
||||
58.5869,13126.2197
|
||||
55.9227,13108.9531
|
||||
51.9493,13084.5322
|
||||
47.5958,13058.8652
|
||||
43.4364,13038.957
|
||||
39.6636,13028.2158
|
||||
35.9572,13021.4463
|
||||
31.702,13015.9033
|
||||
28.2235,13006.2363
|
||||
24.4126,12991.1279
|
||||
21.145,12974.1172
|
||||
17.8644,12959.8584
|
||||
14.7241,12954.2061
|
||||
11.6427,12959.3555
|
||||
9.5707,12974.1572
|
||||
7.5519,12993.5811
|
||||
5.684,13020.9707
|
||||
4.5142,13044.9941
|
||||
3.407,13066.5684
|
||||
2.6415,13087.3486
|
||||
1.9993,13110.4453
|
||||
2.4759,13141.1279
|
||||
3.1328,13221.6377
|
||||
3.9276,13270.7041
|
||||
6.3712,13316.8613
|
||||
10.8141,13416.2461
|
||||
11.7525,13445.5029
|
||||
15.5456,13451.9746
|
||||
18.2811,13430.4287
|
||||
21.5436,13386.2188
|
||||
25.3076,13341.4785
|
||||
29.0923,13319.165
|
||||
32.6206,13328.5195
|
||||
36.0253,13362.4609
|
||||
41.5656,13420.6543
|
||||
46.1242,13465.6563
|
||||
48.9711,13490.5332
|
||||
52.8448,13495.6016
|
||||
57.4217,13492.8281
|
||||
61.6421,13494.4248
|
||||
65.6471,13508.1133
|
||||
70.5472,13537.1016
|
||||
75.5646,13576.4512
|
||||
79.8047,13611.0479
|
||||
84.1742,13634.6172
|
||||
89.215,13628.5977
|
||||
93.2983,13600.9209
|
||||
98.0339,13561.9141
|
||||
101.932,13527.0811
|
||||
106.4618,13505.1328
|
||||
110.2827,13494.4043
|
||||
114.0381,13482.3555
|
||||
117.735,13456.8242
|
||||
120.9061,13420.4795
|
||||
125.1445,13358.7002
|
||||
128.2455,13298.249
|
||||
131.6063,13238.7744
|
||||
134.2098,13190.1445
|
||||
136.7013,13156.8242
|
||||
138.0084,13133.3457
|
||||
139.6546,13112.498
|
||||
140.6283,13085.415
|
||||
141.2953,13048.1016
|
||||
141.0792,13008.6719
|
||||
140.3856,12960.6914
|
||||
139.3338,12933.0498
|
||||
138.0939,12921.9873
|
||||
136.2462,12921.4219
|
||||
134.3031,12922.918
|
||||
131.4601,12921.0811
|
||||
128.6249,12914.5273
|
||||
125.4015,12904.8623
|
||||
122.3661,12898.126
|
||||
119.0274,12898.8545
|
||||
115.1404,12912.5039
|
||||
112.1398,12936.4561
|
||||
103.8524,13004.6484
|
||||
|
Reference in New Issue
Block a user