general_toroidal

openpnm.models.physics.meniscus.general_toroidal(target, profile_equation='elliptical', mode='max', target_Pc=None, num_points=1000, throat_scale_a='throat.scale_a', throat_scale_b='throat.scale_b', throat_diameter='throat.diameter', touch_length='throat.touch_length', surface_tension='pore.surface_tension', contact_angle='pore.contact_angle')[source]

The general model for meniscus properties inside a toroidal throat

Parameters
  • %(target_blurb)s

  • profile_equation (str) – Options are ‘elliptical’ (default), ‘sinusoidal’.

  • mode (str) –

    Determines what information to send back. Options are:

    Mode

    Description

    ’max’

    (default) The maximum capillary pressure along the throat axis

    ’touch’

    The maximum capillary pressure a meniscus can sustain before touching a solid feature

  • target_Pc (float) – The target capillary pressure to return data for when mode is ‘men’

  • num_points (float) – The number of divisions to make along the profile length to assess the meniscus properties in order to find target pressures, touch lengths, minima and maxima. The default is 1000.

  • throat_scale_a (str) – %(dict_blurb)s scale factor for adjusting the profile along the throat axis (x).

  • throat_scale_b (str) – %(dict_blurb)s scale factor for adjusting the profile perpendicular to the throat axis (y).

  • throat_diameter (str) – %(dict_blurb)s throat diameter values to be used.

  • touch_length (str) – %(dict_blurb)s maximum length that a meniscus can protrude into the connecting pore before touching a solid feature and therfore invading

  • surface_tension (str) – %(dict_blurb)s surface tension values to be used. If a pore property is given, it is interpolated to a throat list.

  • contact_angle (str) – %(dict_blurb)s contact angle values to be used. If a pore property is given, it is interpolated to a throat list.

Returns

values – A dictionary containing the following entries:

Item

Description

’pos’

xpos

’rx’

rx(xpos, fa, fb, throatRad)

’alpha’

fill_angle(xpos, fa, fb, throatRad)

’alpha_min’

fill_angle(xmin, fa, fb, throatRad)

’alpha_max’

fill_angle(xmax, fa, fb, throatRad)

’c2x’

c2x(xpos, fa, fb, throatRad, contact)

’gamma’

cap_angle(xpos, fa, fb, throatRad, contact)

’radius’

rad_curve(xpos, fa, fb, throatRad, contact)

’center’

(xpos - men_data[‘c2x’])

’men_max’

??

Return type

dict