Está en la página 1de 10

APLICACIÓN

CALCULO DE LA PRESION DE FRACTURA, PRESION HIDROSTATICA DEL FLUIDO FRACTURANTE,


PRESION DE INYECCION, MODELOS DE FRACTURACION Y VOLUMENES.

Para la realización de este programa se ha tomado en cuenta las variables principales para realizar
el cálculo de presiones, volúmenes etc.

Los datos que dependen de estos cálculos son:

 Gradiente de fractura
 Profundidad del pozo
 Profundidad del fluido fracturante
 Índice de flujo (n)
 Índice de consistencia (k)
 Caudal de inyección
 Longitud de la fractura
 Ancho de la fractura
 Tipo de arena
 Permeabilidad
 Espesor baleado
 Volúmenes
 Otros

DISEÑO
CODIFICACIÓN

Para el formulario 1:
ublic Class Form3

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles


Button1.Click
Me.Hide()
Form2.Show()
End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles


Button2.Click
End
End Sub
End Class

Para el formulario 2:
Public Class Form2

Dim vR As Byte
Dim NombreUsuario, Clave As String

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles


Button1.Click
NombreUsuario = TextBox1.Text
Clave = TextBox2.Text
If NombreUsuario = "Diego Suarez" Then
If Clave = "1234" Then
Form1.Show()
Me.Hide()

Else
vR = MsgBox("Clave Incorrecta", 5 + 16, "Acceso Denegado")
If vR = 4 Then

TextBox1.Text = ""
TextBox2.Text = ""
TextBox2.Focus()
Else
End If
End If
End If
End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles


Button2.Click
End
End Sub
End Class
Para el formulario 3:
Public Class Form1

Private Sub Button1_Click(sender As Object, e As EventArgs) Handles


Button1.Click
If (TextBox1.Text = "") Or (TextBox2.Text = "") Then
MessageBox.Show("Por favor ingrese los datos completos.", "Datos
requeridos.", MessageBoxButtons.OK)
TextBox1.Focus()
Return
End If

R1.Text = (Convert.ToString(Convert.ToDouble(TextBox1.Text) *
Convert.ToDouble(TextBox2.Text)))

End Sub

Private Sub Button2_Click(sender As Object, e As EventArgs) Handles


Button2.Click
If (TextBox4.Text = "") Or (TextBox3.Text = "") Then
MessageBox.Show("Por favor ingrese los datos completos.", "Datos
requeridos.", MessageBoxButtons.OK)
TextBox4.Focus()
Return
End If
R2.Text = Convert.ToString(Convert.ToDouble(TextBox4.Text) *
Convert.ToDouble(TextBox3.Text) * 0.052)
End Sub

Private Sub Button3_Click(sender As Object, e As EventArgs) Handles


Button3.Click
If (R1.Text = "") Or (R2.Text = "") Or (R1.Text = "0") Or (R2.Text = "0")
Then
MessageBox.Show("Por favor ingrese los datos completos.", "Datos
requeridos.", MessageBoxButtons.OK)
TextBox1.Focus()
Return
End If
R3.Text = Convert.ToString(Convert.ToDouble(R1.Text) -
Convert.ToDouble(R2.Text))

End Sub

Private Sub Button4_Click(sender As Object, e As EventArgs) Handles


Button4.Click
Dim Pneta, Wmax, Wmedia As Double

Dim Qiny, Ep, Vis, Gam, Hf, Xf, K, n As Double

Select Case Cb1.SelectedIndex


Case 0
Ep = 5.5
Case 1
Ep = 3.0
Case 2
Ep = 1.05
Case 3
Ep = 4.0
Case 4
Ep = 9.5
Case 5
Ep = 3.0
Case 6
Ep = 4.5
Case 7
Ep = 7.5
Case Else
MessageBox.Show("No ha seleccionado ningun parametro del modulo de
Young.", "Datos requeridos.", MessageBoxButtons.OK)
Cb1.Focus()
Return
End Select
''MessageBox.Show(Convert.ToString(Ep), "Datos EP tomado",
MessageBoxButtons.OK)

Qiny = Convert.ToDouble(TextBox6.Text)
Vis = Convert.ToDouble(TextBox5.Text)
Gam = Convert.ToDouble(TextBox9.Text)
Hf = Convert.ToDouble(TextBox8.Text)
Xf = Convert.ToDouble(TextBox7.Text)
K = Convert.ToDouble(TextBox11.Text)
n = Convert.ToDouble(TextBox13.Text)

Pneta = 0.05 * (((((Ep ^ 3) * Qiny * Vis * Xf) / (((1 - Gam) ^ 3) * Hf * (Xf


^ 2)))) ^ 0.25)

Wmax = (11.1 ^ (1 / (2 * n + 2))) * (2.24 ^ (n / (2 * n + 2))) * (K ^ (1 /


(2 * n + 2))) * (((1 + 2 * n) / n) ^ (n / (2 * n + 2))) * ((((((Qiny ^ n) * (Xf ^
2)) / (Ep * (Hf ^ n)))) ^ 1 / (2 * n + 2)))
Wmedia = Wmax * (Math.PI / 4 * Gam)
R4.Text = Convert.ToString(Pneta)
R5.Text = Convert.ToString(Wmax)
R6.Text = Convert.ToString(Wmedia)

End Sub

Private Sub Button5_Click(sender As Object, e As EventArgs) Handles


Button5.Click
Dim Pneta, Wmax, Wmedia As Double

Dim Qiny, Ep, Vis, Gam, Hf, Xf, K, n As Double

Select Case ComboBox1.SelectedIndex


Case 0
Ep = 5.5
Case 1
Ep = 3.0
Case 2
Ep = 1.05
Case 3
Ep = 4.0
Case 4
Ep = 9.5
Case 5
Ep = 3.0
Case 6
Ep = 4.5
Case 7
Ep = 7.5
Case Else
MessageBox.Show("No ha seleccionado ningun parametro del modulo de
Young.", "Datos requeridos.", MessageBoxButtons.OK)
ComboBox1.Focus()
Return
End Select
''MessageBox.Show(Convert.ToString(Ep), "Datos EP tomado",
MessageBoxButtons.OK)

Qiny = Convert.ToDouble(TextBox20.Text)
Vis = Convert.ToDouble(TextBox19.Text)
Gam = Convert.ToDouble(TextBox15.Text)
Hf = Convert.ToDouble(TextBox18.Text)
Xf = Convert.ToDouble(TextBox17.Text)
K = Convert.ToDouble(TextBox12.Text)
n = Convert.ToDouble(TextBox14.Text)

Pneta = 0.0254 * ((((Ep ^ 3) * Qiny * Vis * Xf) / (((1 - Gam) ^ 3) * Hf *


(Xf ^ 2))) ^ 0.25)

Wmax = 12 * (((128 / 3 * Math.PI) * (n + 1) * (((2 * n + 1) / n) ^ n) *


(0.9737 / 144) * ((5.61 / 60) ^ n)) ^ (1 / (2 * n + 2))) * ((((Qiny ^ n) * K * Xf *
(Hf ^ (1 - n))) / (Ep)) ^ (1 / (2 * n + 2)))
Wmedia = Wmax * (Math.PI / 4 * Gam)

R7.Text = Convert.ToString(Pneta)
R8.Text = Convert.ToString(Wmax)
R9.Text = Convert.ToString(Wmedia)
End Sub

Private Sub Button6_Click(sender As Object, e As EventArgs) Handles


Button6.Click
Dim Qsucio, Qlimpio, Varena, Marena, Vsucio, Vlimpio, VApunt, Mapunt As
Double
Dim k, eB, SG, Pfract, Pyac, Vis, Re, Rw, CMS As Double

Select Case ComboBox2.SelectedIndex


Case 0
SG = 2.65
Case 1
SG = 2.55
Case 2
SG = 2.6
Case 3
SG = 2.7
Case 4
SG = 3.1
Case 5
SG = 3.55
Case 6
SG = 3.57
Case Else
MessageBox.Show("No ha seleccionado ningun valor de Gravedad
Especifica.", "Datos requeridos.", MessageBoxButtons.OK)
ComboBox2.Focus()
Return
End Select
''MessageBox.Show(Convert.ToString(SG), "Datos SG tomado",
MessageBoxButtons.OK)

k = Convert.ToDouble(TextBox16.Text)
eB = Convert.ToDouble(TextBox21.Text)
Pfract = Convert.ToDouble(TextBox22.Text)
Pyac = Convert.ToDouble(TextBox10.Text)
Vis = Convert.ToDouble(TextBox26.Text)
Re = Convert.ToDouble(TextBox25.Text)
Rw = Convert.ToDouble(TextBox24.Text)
CMS = Convert.ToDouble(TextBox23.Text)

Qsucio = ((4.917 * 10 ^ -6) * k * eB * (Pfract - Pyac)) / (Vis * Math.Exp(Re


/ Rw))
Qlimpio = (Qsucio * SG * 8.34) / ((SG * 8.34) + CMS)
Varena = Qsucio - Qlimpio
Marena = Varena * SG * 8.34
Vlimpio = (Varena * SG * 8.34) / ((SG * 8.34) + CMS)
Vsucio = Vlimpio * ((1) / ((CMS) / (SG * 8.34)))
VApunt = Marena / (SG * 8.34)
Mapunt = (SG * 8.34) / (VApunt)

R10.Text = Convert.ToString(Qsucio)
R11.Text = Convert.ToString(Qlimpio)
R12.Text = Convert.ToString(Vsucio)
R13.Text = Convert.ToString(Vlimpio)
R14.Text = Convert.ToString(VApunt)
R15.Text = Convert.ToString(Mapunt)
R16.Text = Convert.ToString(Varena)
R17.Text = Convert.ToString(Marena)

End Sub

Private Sub R11_Click(sender As Object, e As EventArgs) Handles R11.Click

End Sub
End Class
Manual de uso para el usuario

Este programa nos da la facilidad tanto para la entrada directa de datos como la salida de estos
mismos. A continuación, se le detallara cómo manejarlo de la mejor manera:

1. Abrir aplicación
2. Click en Continuar

3. Ingresar nombre de usuario y contraseña


4. Luego aparecerá una sola ventana donde en la parte lateral derecha estarán los botones
ejecutables y el resto de la ventana todas las variables para ingresar como dato, para
obtener un determinado resultado.

BOTONES EJECUTABLES VARIABLES PARA INGRESAR COMO


DATOS

5. Elegir el cálculo que el usuario desea obtener y proceder a ingresar los datos requeridos
para cada sistema
6. Al momento de ingresar todos los datos requeridos en un determinado sistema, Hacer
Click en el botón ejecutable y nos dará el resultado que deseábamos obtener.

También podría gustarte