Releases: jonnymaserati/welleng
Torque and Drag
Completely re-written torque_drag
and architecture
modules and added units
module.
For instructions on how to use the new features, have a read of this post. Expect to see the units
module grow and some streamlining of the survey
module over the next weeks.
Vertical section
Minor release that adds vertical section methods to survey
.
Update bug in visual module
Update a bug in the visual
module that prevented the vtk renderer from initiating.
Updated visual module
- Updates the
visual
module:- Initiates a
vtkPlotter
instance that can be updated by the user to change the layout or add additional data. - Added dynamic axes versus the previous static ones.
- Initiates a
- Fixed a bug in
survey
when using a survey with a kick-off point. - Handled a bug with
scipy.spatial.KDTree
that was causing a crash with no error. - General housekeeping.
Added attributes to clearance
Additional attributes have been added to the clearance
module to track relative separations between the reference and offset well.
Minor fix
Minor update to include missing header when creating using survey.SurveyData.get_survey
.
Hello Python 3.8
It seems that previously trying to install on Python versions > 3.7 has resulted in welleng
v0.2.1. This should now be fixed.
Additional tweaks include:
- Some more docstrings including reference material to try and guide the user a bit more.
- Functions for joining surveys together, which is particularly useful when sections of the well have been drilled with different survey tools/models.
Have fun!
Hello version 0.4
Major update:
• Added EDM module for importing data from an EDM datafile.
• Added OWSG error models and brought back the ISCWSA MWD Rev4 model.
• Added an interpolate_survey_tvd function and convenience method for Survey
• Added projection functions to project a survey to the bit or to a target.
• Streamlining the modules.
• Updated the examples to run the new version.
Note that it's likely code written for previous versions of welleng will not run on version 0.4 and newer without some modifications - if you've been developing code with welleng then please lock in the last minor version update of the major version that you've been developing with in the env.
Nodes and interpolation
It's now much more convenient to interpolate a point (or a Node
) using a Survey.interpolate_md
method, and then to list the properties of the Node
using the Node.properties()
method.
Here's an example:
>>> import welleng as we
>>> survey = we.connector.interpolate_survey(
... survey=we.survey.Survey(
... md=[0, 500, 1000, 2000, 3000],
... inc=[0, 0, 30, 90, 90],
... azi=[0, 0, 45, 135, 180],
... ),
... step=30
... )
>>> node = survey.interpolate_md(1234)
>>> node.properties()
{
'vec_nev': [0.07584209568113438, 0.5840332282889957, 0.8081789187902809],
'vec_xyz': [0.5840332282889957, 0.07584209568113438, 0.8081789187902809],
'inc_rad': 0.6297429542197106,
'azi_rad': 1.4416597719915565,
'inc_deg': 36.081613454889634,
'azi_deg': 82.60102042890875,
'pos_nev': [141.27728744087796, 201.41424652428694, 1175.5823295305202],
'pos_xyz': [201.41424652428694, 141.27728744087796, 1175.5823295305202],
'md': 1234.0,
'unit': 'meters',
'interpolated': True
}
connector updates
- Split out the
target_pos_and_vec_defined
function in theconnector.py
module- Function no longer recursive when balancing the radii.
- Because the function is no longer recursive, the
max_iterations
can be set higher without hitting the recursive limit. - A more accurate solution is more likely to be calculated.
numba
fy a bunch of functions to speed things up when crunching a lot of connections - but only whennumba
is available.- Things might end up being a bit slower where the required DLS is much higher than the
dls_design
parameter, but things should be more stable and more accurate. - Bumped the version as a minor update.