BHAtp.BHAJType

BHA(material, length, id, od, fc): Definition of a BHA type.

where:

ratio ::Float64, used to generate the FE mesh, in []

medium ::Symbol, currently only :mud is supported

maxiters ::Int, maximum number of FE up/down iterations

dlerrormax ::Float74, maximum dl difference between 2 iterations

drerrormax ::Float74, maximum dr difference between 2 iterations

segments ::Vector of Segments (see SegmentType)

surveys ::Vector of Survey records (see SurveyType)

BHAtp.BentsubType

Bentsub(material, id, od, fc, angle): Definition of the Bentsub.

where:

angle ::Bentsub angle [degrees]

BHAtp.BitType

Bit(material, id, od, fc): Definition of a Bit segment.

where:

material::Symbol, e.g. :Steel or :Composite

length ::Float64, length of segment, in [m] or [ft]

id ::Float74, internal diameter, in [m] or [inch]

od ::Float74, external diameter, in [m] or [inch]

fc ::Float74, friction coefficient, in [-]

BHAtp.CollarType

Collar(material, length, id, od, fc): Definition of a Collar segment.

where:

material::Symbol, e.g. :Steel or :Composite

length ::Float64, length of segment, in [m] or [ft]

id ::Float74, internal diameter, in [m] or [inch]

od ::Float74, external diameter, in [m] or [inch]

fc ::Float74, friction coefficient, in [-]

BHAtp.ElementType

Finite Element object

Element: Finite element object

Tpe

Fe(length, id, od, radius, fc, inclination, heading, mass, ea, eix, eiy, gl)

Arguments

* `length`      : Length of element
* `id`          : Inside diameter
* `od`          : Outside diameter
* `radius`      : Radius
* `fc`          : Friction coefficient
* `inclination` : Inclination [Radians]
* `heading`     : Heading [Radians]
* `mass`        : Element mass
                  Young moduli
* `ea`          : E*A in z direction
* `er`          : E*I in r direction
* `gj`          : Shear modulus
* `nu`          : Poisson constant
BHAtp.ExtForceType

ExtForce

ExtForce: Segment with no length that handles an external force applied to the assemby.

The forces fx and fy are assumed to be in the local coordinate system.

Tpe

ExtForce(depth, inclination, heading, Fx, Fy)

Arguments

* `fx`          : Force in x direction
* `fy`          : Force in y direction
BHAtp.NodeType

Node object

Node: Node object

Constructor

Node(z, x, y, tvd, xvert, dispew, dispns, inclination, deltainclination, dip, 
  heading, deltaheading, holeradius, stringradius, fc, clearance,
  weight, mass, massinertia, axialinertia, radialinertia)
  
* dip  : Angle [Radians] from horizon
* inclination : Angle [Radians] from vertical

Fields

* `x`                 : x coordinate
* `y`                 : y coordinate
* `z`                 : z coordinate
* `tvd`               : Measured depth
* `xvert`             : True vertical depth
* `dispew`            : Angle from east to west [Radians]
* `dispns`            : Angle from north to south [Radians]
* `inclination`       : Inclination [Radians]
* `deltainclination`  : Add'l inclinationination angle (bentsub) [Radians]
* `dip`               : Dip at node [Radians]
* `heading`           : Heading [Radians]
* `deltaheading`         : Add'l heading angle (bentsub) [Radians]
* `holeradius`        : Hole radius
* `stringradius`      : String radius
* `fc`                : Friction coefficient
* `clearance`         : Clearance element in hole
* `weight`            : Weight (force)
* `mass`              : Mass
* `massinertia`       : Second moment of inertia
* `axialinertia`      : Moment of inertia
* `radialinertia`     : Radial inertia
* `externalxforce`    : External force in x direction applied at node
* `externalyforce`    : External force in y direction applied at node
* `fixedxcoord`       : Fixed location in x direction at node
* `fixedycoord`       : Fixed location in y direction at node
* `fixedxtheta`       : Fixed angle from z towards x direction at node
* `fixedytheta`       : Fixed angle from z towards y direction at node
BHAtp.PipeType

Pipe(material, length, id, od, fc): Definition of a Pipe segment.

where:

material::Symbol, e.g. :Steel or :Composite

length ::Float64, length of segment, in [m] or [ft]

id ::Float74, internal diameter, in [m] or [inch]

od ::Float74, external diameter, in [m] or [inch]

fc ::Float74, friction coefficient, in [-]

BHAtp.RigType

Rig(id, od): Definition of a Rig segment. This element must be the topmost element of the BHA and will fix the position of the BHA in the center.

where:

material::Symbol, e.g. :Steel or :Composite

length ::Float64, length of segment, in [m] or [ft]

id ::Float74, internal diameter, in [m] or [inch]

od ::Float74, external diameter, in [m] or [inch]

fc ::Float74, friction coefficient, in [-]

BHAtp.SegmentTypeType

SegmentType: Type of a segment in a Bottom Hole Assembly (BHA), currently defined:

Collar, Pipe, Stabilizer, Bit

BHAtp.StabilizerType

Stabilizer(material, id, od, fc): Definition of a Stabilizer segment.

where:

material::Symbol, e.g. :Steel or :Composite

length ::Float64, length of segment, in [m] or [ft]

id ::Float74, internal diameter, in [m] or [inch]

od ::Float74, external diameter, in [m] or [inch]

fc ::Float74, friction coefficient, in [-]

BHAtp.SurveyTypeType

SurveyType: Type of a survey record, currently defined:

RigSurvey, HoleSurvey, BitSurvey

BHAtp.TrajectoryType

Trajectory(inclination, heading, diameter): Definition of the well trajectory.

where:

inclination ::Float64, inclination from vertical, in [radians]

heading ::Float64, direction from North, in [radians]

diameter ::Float74, internal diameter, in [inch]

BHAtp.checkinput!Method

checkinput!(data): Check and/or initialize all fields in data dictionary.

where: data::Dict{Symbol, Any}

BHAtp.checkratio!Method

The checkratio! function

checkratio!(data): Check and/or set the ratio field in data.

where: data::Dict{Symbol, Any}

BHAtp.checktrajectoryinput!Method

checktrajectoryinput!(data): Check trajectory data in data dictionary.

where: data::Dict{Symbol, Any}

BHAtp.tp!Method

Theoretical performance of a BHA

Function to compute the theoretical performance of a Bottom Hole Assembly (BHA) in terms of building or dropping rate.

Function

theoretical_performance!(data::Dict{Symbol, Any})

or

tp!(data::Dict{Symbol, Any})

Arguments

* `data`      : Dictionary with input (and updated) data. 

Results

* `params`    : Object with all computational results.