Analysis Functions (pybow.analysis)¶
Beckhoff 1964¶
-
pybow.analysis.beckhoff1964(data, MoE, MoR[, name=None[, shape=halfround[, G=None[, braceheight=None[, strict=False]]]]])¶ Calculate bow properties from artefact measurements after the method described in Beckhoff 1964. [kb1964] See Beckhoff 1964 for a description of the method.
Parameters: - data (pandas.DataFrame) – A dataframe containing a sequence of measurements as described in Limb Measurement Conventions.
- MoE (float) – The artefact material’s modulus of elasticity. (in Pa)
- MoR (float) – The artefact material’s modulus of rupture. (in Pa)
- name (str) – The artefact name.
If given, the result pandas.Series’
nameattribute will be set to its value. - shape (function) – A bundle function (see Beam Theory Properties) describing the cross-section shape to assume for the artefact.
- G (float) – A Beckhoff-G (see Beckhoff 1964) for the artefact. If no value is given, a rough approximation will be estimated. (default behaviour)
- braceheight (float) – A brace height for the artefact. (in cm) If no value is given, a rough approximation will be estimated. (default behaviour)
- strict (bool) – Indicated whether to calculate bending force strictly by maximum permissible stress or apply an approximation of Beckhoff’s rounding up beyond that level. (default behaviour)
Return type: tuple(pandas.Series, pandas.DataFrame):
Returns: A tuple:
- A pandas.Series containing the calculated bow properties.
- A pandas.DataFrame based on
data, but with all additionally calculated properties.
Calculated Properties¶
beckhoff1964() calculates the following properties:
- Draw weight (Series key:
drawweight, in N) - Draw length (Series key:
drawlength, in cm) - Brace height (Series key:
braceheight, in cm) - Effective length (Series key:
ntnlength, in cm) - Set taken (Series key:
stringfollow, in cm) - Energy stored (Series key:
energy, in J)
Data Requirements¶
beckhoff1964() computes on the following properties:
- Second moment of area (
data['I']) - Neutral plane distance to belly (
data['e_belly']) - Section modulus towards belly (
data['W_belly'])
Any of these columns not present in data will be calculated from data['width'] and data['thickness'] via shape.
Junkmanns 2013¶
-
pybow.analysis.junkmanns2013(data, correlationfactor[, spread=None[, name=None]])¶ Calculate bow properties from artefact measurements after the method described in Junkmanns 2013. [jj2013] See Junkmanns 2013 for a description of the method.
Parameters: - data (pandas.DataFrame) – A dataframe containing a sequence of measurements as described in Limb Measurement Conventions.
- correlationfactor (float) – A Junkmanns correlation factor for the artefact material. (See Junkmanns 2013)
- spread (float) – Percentage of spread in correlation factors for artefacts of this material.
If supplied, low and high boundaries of draw weight get calculated.
They are
NaNotherwise. - name (str) – The artefact name.
If given, the result pandas.Series’
nameattribute will be set to its value.
Return type: tuple(pandas.Series, pandas.DataFrame):
Returns: A tuple:
- A pandas.Series containing the calculated bow properties.
- A pandas.DataFrame based on
data, but with all additionally calculated properties.
Calculated Properties¶
junkmanns2013() calculates the following properties:
- Draw weight (Series key:
drawweight, in N) - Low end of draw weight spectrum (Series key:
drawweight_low, in N) - High end of draw weight spectrum (Series key:
drawweight_high, in N) - Draw length (Series key:
drawlength, in cm) - Effective length (Series key:
ntnlength, in cm)
Data Requirements¶
junkmanns2013() computes on the following properties:
- Junkmanns ‘Querschnittsstärke’ (
data['Qs']) - Junkmanns ‘Biegewiderstand’ (
data['Bw'])
If these columns are not present in data, they will get calculated from data['width'] and data['thickness'] after Junkmanns’ formula.
| [kb1964] | Beckhoff, K 1964, ‘Der Eigenbogen von Vrees‘, Die Kunde N.F. 15, pp. 113–125. |
| [jj2013] | Junkmanns, J 2013, Pfeil und Bogen, Verlag Angelika Hörnig, Ludwigshafen. |