ARF

Examples using this class are:

Acoustofluidics 2022: ARF Comparison

Acoustofluidics 2022: ARF Comparison

Acoustofluidics 2022: ARF Comparison
Frontiers: Air Bubble in Water

Frontiers: Air Bubble in Water

Frontiers: Air Bubble in Water
Frontiers: HFE Droplet in Water

Frontiers: HFE Droplet in Water

Frontiers: HFE Droplet in Water
Frontiers: PS Particle in Water

Frontiers: PS Particle in Water

Frontiers: PS Particle in Water
Yosioka and Kawasima (1955) Figure 2

Yosioka and Kawasima (1955) Figure 2

Yosioka and Kawasima (1955) Figure 2
Multicore ARF Computation

Multicore ARF Computation

Multicore ARF Computation
class osaft.solutions.yosioka1955.arf.ARF(f, R_0, rho_s, c_s, rho_f, c_f, p_0, wave_type, position=None, N_max=5, small_particle=False, bubble_solution=False)[source]

Bases: ScatteringField, BaseARF

ARF class for Yosioka & Kawasima (1955)

Parameters
  • f (Frequency | float | int) – Frequency [Hz]

  • R_0 (Sphere | float | int) – Radius of the sphere [m]

  • rho_s (float) – Density of the fluid-like sphere [kg/m^3]

  • c_s (float) – Speed of sound of the particle [m/s]

  • rho_f (float) – Density of the fluid [kg/m^3]

  • c_f (float) – Speed of sound of the fluid [m/s]

  • p_0 (float) – Pressure amplitude of the field [Pa]

  • position (None | float, optional) – Position in the standing wave field [rad]

    Default: None

  • wave_type (WaveType) – either standing or progressive wave

  • N_max (int, optional) –

    Default: 5

  • small_particle (bool, optional) –

    Default: False

  • bubble_solution (bool, optional) –

    Default: False

Public Data Attributes:

small_particle

Small particle limit option.

bubble_solution

Bubble solution option.

F

Density-compressibility factor \(F\) [-]

Inherited from BaseYosioka
Inherited from BaseSphereFrequencyComposite
Inherited from BaseFrequencyComposite
Inherited from BaseSolution
Inherited from BaseScattering

N_max

Cutoff mode number for infinite sums

Public Methods:

compute_arf()

Acoustic radiation force [N]

K_n(n)

Coefficient \(K_n\) [m^2/s]

M_n(n)

Coefficient \(M_n\) [m^2/s]

Inherited from ScatteringField

radial_particle_velocity(r, theta, t[, mode])

Radial particle velocity [m/s]

tangential_particle_velocity(r, theta, t[, mode])

Tangential particle velocity [m/s]

potential_coefficient(n)

Wrapper to the fluid scattering coefficients for an inviscid fluid

Phi_1(r, theta, t[, mode])

Fluid velocity potential \(\Phi_1\) [m^2/s]

Phi_i(r, theta, t[, mode])

Fluid velocity potential of the incident field \(\Phi_i\) [m^2/s]

Phi_s(r, theta, t[, mode])

Fluid velocity potential of the scattered field \(\Phi_s\) [m^2/s]

Phi_star(r, theta, t[, mode])

Particle velocity potential \(\Phi^*\) [m^2/s]

V_r_sc(n, r)

Radial scattering field velocity term of mode n without Legendre coefficients

V_theta_sc(n, r)

Tangential scattering field velocity term of mode n without Legendre coefficients

A_n(n)

Coefficient \(A_n\) [m^2/s]

B_n(n)

Coefficient \(B_n\) [m^2/s]

Inherited from BaseYosioka
Inherited from BaseFrequencyComposite

input_variables()

Returns all properties that are settable.

Inherited from BaseSolution

copy()

Returns a copy of the object

check_wave_type()

Checks if wave_type is in supported_wavetypes

Inherited from BaseScattering

radial_acoustic_fluid_velocity(r, theta, t, ...)

Returns the value for the radial acoustic velocity in [m/s].

tangential_acoustic_fluid_velocity(r, theta, ...)

Returns the value for the tangential acoustic velocity in [m/s].

pressure(r, theta, t, scattered, incident[, ...])

Returns the acoustic pressure [Pa].

potential_coefficient(n)

Wrapper to the fluid scattering coefficients for an inviscid fluid

velocity_potential(r, theta, t, scattered, ...)

Returns the velocity potential of the fluid in [m^2/s].

radial_particle_velocity(r, theta, t[, mode])

Returns the value for the radial particle velocity in [m/s].

tangential_particle_velocity(r, theta, t[, mode])

Returns the value for the tangential particle velocity in [m/s].

radial_particle_displacement(r, theta, t[, mode])

Particle displacement in radial direction

tangential_particle_displacement(r, theta, t)

Particle displacement in tangential direction

radial_mode_superposition(radial_func, r, ...)

Returns either a single mode (mode=int) or a the sum until N_max (mode=None).

tangential_mode_superposition(...)

Returns either a single mode (mode=int) or a the sum until N_max (mode=None).

V_r_i(n, r)

Radial incident field velocity term of mode n without Legendre coefficients

V_theta_i(n, r)

Tangential incident field velocity term of mode n without Legendre coefficients

V_r_sc(n, r)

Radial scattering field velocity term of mode n without Legendre coefficients

V_theta_sc(n, r)

Tangential scattering field velocity term of mode n without Legendre coefficients

V_r(n, r, scattered, incident)

Superposition of V_r_sc() and V_r_i() depending on scattered and incident

V_theta(n, r, scattered, incident)

Superposition of V_theta_sc() and V_theta_i() depending on scattered and incident

Inherited from BaseARF

compute_arf()

Returns the value for the ARF in Newton [N].


A_in(n)

Wraps to osaft.core.backgroundfields.BackgroundField.A_in

Return type

complex

A_n(n)

Coefficient \(A_n\) [m^2/s]

(Eq. 22)

Parameters

n (int) – mode [-]

Return type

complex

B_n(n)

Coefficient \(B_n\) [m^2/s]

(Eq. 23)

Parameters

n (int) – mode [-]

Return type

complex

K_n(n)[source]

Coefficient \(K_n\) [m^2/s]

(Eq. 43)

Parameters

n (int) – mode [-]

Return type

complex

Returns

coefficient [m^2/s]

M_n(n)[source]

Coefficient \(M_n\) [m^2/s]

(Eq. 42)

Parameters

n (int) – mode [-]

Return type

complex

Returns

coefficient [m^2/s]

Phi_1(r, theta, t, mode=None)

Fluid velocity potential \(\Phi_1\) [m^2/s]

(Eq. 17)

Parameters
  • r (float) – radial coordinate [m]

  • theta (float) – tangential coordinate [rad]

  • t (float) – time [s]

  • mode (None | int, optional) – mode

    Default: None

Return type

complex

Phi_i(r, theta, t, mode=None)

Fluid velocity potential of the incident field \(\Phi_i\) [m^2/s]

(Eq. 16, 27)

Parameters
  • r (float) – radial coordinate [m]

  • theta (float) – tangential coordinate [rad]

  • t (float) – time [s]

  • mode (None | int, optional) – mode

    Default: None

Return type

complex

Phi_s(r, theta, t, mode=None)

Fluid velocity potential of the scattered field \(\Phi_s\) [m^2/s]

(Eq. 18, 29)

Parameters
  • r (float) – radial coordinate [m]

  • theta (float) – tangential coordinate [rad]

  • t (float) – time [s]

  • mode (None | int, optional) – mode

    Default: None

Return type

complex

Phi_star(r, theta, t, mode=None)

Particle velocity potential \(\Phi^*\) [m^2/s]

Parameters
  • r (float) – radial coordinate [m]

  • theta (float) – tangential coordinate [rad]

  • t (float) – time [s]

  • mode (None | int, optional) – mode

    Default: None

Return type

complex

V_r(n, r, scattered, incident)

Superposition of V_r_sc() and V_r_i() depending on scattered and incident

At least one of the two must be True.

Parameters
  • n (int) – mode

  • r (float) – radial coordinate [m]

  • scattered (bool) – add scattered field

  • incident (bool) – add incident

Return type

complex

V_r_i(n, r)

Radial incident field velocity term of mode n without Legendre coefficients

Returns radial incident field velocity in [m/s]

Parameters
  • n (int) – mode

  • r (float | Sequence) – radial coordinate [m]

Return type

complex

V_r_sc(n, r)

Radial scattering field velocity term of mode n without Legendre coefficients

Returns radial scattering field velocity in [m/s]

Parameters
  • n (int) – mode

  • r (float | Sequence[float]) – radial coordinate [m]

Return type

complex | Sequence[complex]

V_theta(n, r, scattered, incident)

Superposition of V_theta_sc() and V_theta_i() depending on scattered and incident

At least one of the two must be True.

Parameters
  • n (int) – mode

  • r (float) – radial coordinate [m]

  • scattered (bool) – add scattered field

  • incident (bool) – add incident

Return type

complex

V_theta_i(n, r)

Tangential incident field velocity term of mode n without Legendre coefficients

Returns tangential incident field velocity in [m/s]

Parameters
  • n (int) – mode

  • r (float | Sequence) – radial coordinate [m]

Return type

complex

V_theta_sc(n, r)

Tangential scattering field velocity term of mode n without Legendre coefficients

Returns tangential scattering field velocity in [m/s]

Parameters
  • n (int) – mode

  • r (float | Sequence[float]) – radial coordinate [m]

Return type

complex | Sequence[complex]

check_wave_type()

Checks if wave_type is in supported_wavetypes

Raises

WrongWaveTypeError – If wave_type is not supported

Return type

None

compute_arf()[source]

Acoustic radiation force [N]

Computes the ARF, based on the general solution (Eq. 44), or the approximation for either small particles (Eq. 59, 62) or small bubbles (Eq. 68, 73), if the respective options are selected.

Raises
Return type

float

copy()

Returns a copy of the object

Return type

BaseSolution

classmethod input_variables()

Returns all properties that are settable.

Returns a list of the names of all properties that are settable, i.e. all properties that wrap a PassiveVariable.

Return type

list[str]

potential_coefficient(n)

Wrapper to the fluid scattering coefficients for an inviscid fluid

This method must be implemented by every theory to have a common interface for other modules.

Parameters

n (int) – mode

Return type

complex

pressure(r, theta, t, scattered, incident, mode=None)

Returns the acoustic pressure [Pa].

Parameters
  • r (float | Sequence) – radial coordinate [m]

  • theta (float | Sequence) – tangential coordinate [rad]

  • t (float | Sequence) – time [s]

  • scattered (bool) – add scattered field

  • incident (bool) – add incident

  • mode (None | int, optional) – specific mode number of interest; if None then all modes until N_max

    Default: None

Return type

complex

radial_acoustic_fluid_velocity(r, theta, t, scattered, incident, mode=None)

Returns the value for the radial acoustic velocity in [m/s].

This method must be implemented by every theory to have a common interface for other modules.

Parameters
  • r (float | Sequence) – radial coordinate [m]

  • theta (float | Sequence) – tangential coordinate [rad]

  • t (float | Sequence) – time [s]

  • scattered (bool) – scattered field contribution

  • incident (bool) – incident field contribution

  • mode (None | int, optional) – specific mode number of interest; if None then all modes until N_max

    Default: None

Return type

complex | NDArray

radial_mode_superposition(radial_func, r, theta, t, mode=None)

Returns either a single mode (mode=int) or a the sum until N_max (mode=None).

If mode=int the formula is

\[e^{-i\omega t}\, f_{\text{mode}}(r) \,P_{\text{mode}}(\cos\theta)\]

If mode=None the formula is

\[e^{-i\omega t} \sum_{n=0}^{\text{N}_{\text{max}}} \,f_n(r) \,P_n(\cos\theta)\]

where \(f_\text{n}(r)\) is the radial_func(n, r) passed to the method.

Parameters
  • radial_func (Callable[[int, float], complex]) – radial function dependent on r

  • r (float | Sequence) – radial coordinate [m]

  • theta (float | Sequence) – tangential coordinate [rad]

  • t (float | Sequence) – time [s]

  • mode (int, optional) – specific mode number of interest; if None then all modes until N_max

    Default: None

Return type

complex | NDArray

radial_particle_displacement(r, theta, t, mode=None)

Particle displacement in radial direction

Returns the value of the particle displacement in radial direction in [m]

Parameters
  • r (float | Sequence) – radial coordinate [m]

  • theta (float | Sequence) – tangential coordinate [rad]

  • t (float | Sequence) – time [s]

  • mode (None | int, optional) – specific mode number of interest; if None that all modes until N_max

    Default: None

Return type

complex | NDArray

radial_particle_velocity(r, theta, t, mode=None)

Radial particle velocity [m/s]

Parameters
  • r (float | Sequence[float]) – radial coordinate [m]

  • theta (float | Sequence[float]) – tangential coordinate [rad]

  • t (float | Sequence[float]) – time [s]

  • mode (None | int, optional) – mode

    Default: None

Return type

float | Sequence[float]

tangential_acoustic_fluid_velocity(r, theta, t, scattered, incident, mode=None)

Returns the value for the tangential acoustic velocity in [m/s].

This method must be implemented by every theory to have a common interface for other modules.

Parameters
  • r (float | Sequence) – radial coordinate [m]

  • theta (float | Sequence) – tangential coordinate [rad]

  • t (float | Sequence) – time [s]

  • scattered (bool) – scattered field contribution

  • incident (bool) – incident field contribution

  • mode (None | int, optional) – specific mode number of interest; if None then all modes until N_max

    Default: None

Return type

complex | NDArray

tangential_mode_superposition(tangential_func, r, theta, t, mode)

Returns either a single mode (mode=int) or a the sum until N_max (mode=None).

If mode=int the formula is

\[e^{-i\omega t}\, f_\text{mode}(r) \,P^1_{\text{mode}}(\cos\theta)\]

If mode=None the formula is

\[e^{-i\omega t}\sum_{n=0}^{\text{N}_{\text{max}}} \,f_n(r) \,P^1_n(\cos\theta)\]

where \(f_n(r)\) is the tangential_func(n, r) passed to the method.

Parameters
  • tangential_func (Callable[[int, float], complex]) – tangential function dependent on r

  • r (float | Sequence) – radial coordinate [m]

  • theta (float | Sequence) – tangential coordinate [rad]

  • t (float | Sequence) – time [s]

  • mode (int) – specific mode number of interest; if None then all modes until N_max

Return type

complex | NDArray

tangential_particle_displacement(r, theta, t, mode=None)

Particle displacement in tangential direction

Returns the value of the particle displacement in tangential direction in [m]

Parameters
  • r (float | Sequence) – radial coordinate [m]

  • theta (float | Sequence) – tangential coordinate [rad]

  • t (float | Sequence) – time [s]

  • mode (None | int, optional) – specific mode number of interest; if None that all modes until N_max

    Default: None

Return type

complex | NDArray

tangential_particle_velocity(r, theta, t, mode=None)

Tangential particle velocity [m/s]

Parameters
  • r (float | Sequence[float]) – radial coordinate [m]

  • theta (float | Sequence[float]) – tangential coordinate [rad]

  • t (float | Sequence[float]) – time [s]

  • mode (None | int, optional) – mode

    Default: None

Return type

float | Sequence[float]

velocity_potential(r, theta, t, scattered, incident, mode=None)

Returns the velocity potential of the fluid in [m^2/s].

Parameters
  • r (float | Sequence) – radial coordinate [m]

  • theta (float | Sequence) – tangential coordinate [rad]

  • t (float | Sequence) – time [s]

  • scattered (bool) – add scattered field

  • incident (bool) – add incident

  • mode (None | int, optional) – specific mode number of interest; if None then all modes until N_max

    Default: None

Return type

complex

property E_ac: float

Wraps to osaft.core.backgroundfields.BackgroundField.E_ac

Return type

float

property F: float

Density-compressibility factor \(F\) [-]

(Eq. 60, 63, 75)

Acoustic contrast factor for small particle solutions. The error from the article in the factor for a bubble in standing wave has been corrected. :rtype: float :return: contrast factor [-]

property I_ac: float

Wraps to osaft.core.backgroundfields.BackgroundField.I_ac

Return type

float

property N_max

Cutoff mode number for infinite sums

Getter

returns number of infinite sum term

Setter

automatically invokes osaft.core.variable.BaseVariable.notify()

property R_0: float

Wrapper for osaft.core.geometries.Sphere.R_0

Return type

float

property area: float

Wrapper for osaft.core.geometries.Sphere.area

Return type

float

property bubble_solution: bool

Bubble solution option.

Getter

returns the setting for the bubble solution

Return type

bool

Setter

automatically invokes osaft.core.variable.BaseVariable.notify()

Type

bool

property c_f: float

Wraps to osaft.core.fluids.InviscidFluid.c_f

Return type

float

property c_s: float

Wraps to osaft.core.fluids.InviscidFluid.c_f

Return type

float

property f: float

wrapper for osaft.core.frequency.Frequency.f

Return type

float

property k_f: float

Wraps to osaft.core.fluids.InviscidFluid.k_f

Return type

float

property k_s: float

Wraps to osaft.core.fluids.InviscidFluid.k_f

Return type

float

property kappa_f: float

Wraps to osaft.core.fluids.InviscidFluid.kappa_f

Return type

float

property lambda_rho: float

ratio of densities [-]

Return type

float

property omega: float

wrapper for osaft.core.frequency.Frequency.omega

Return type

float

property p_0: float

Wraps to osaft.core.backgroundfields.BackgroundField.p_0

Return type

float

property position: float

Wraps to osaft.core.backgroundfields.BackgroundField.position

Return type

float

property rho_f: float

Wraps to osaft.core.fluids.InviscidFluid.rho_f

Return type

float

property rho_s: float

Wraps to osaft.core.fluids.InviscidFluid.rho_f

Return type

float

property sigma: float

ratio of speeds of sound [-].

Return type

float

property small_particle: bool

Small particle limit option.

Getter

returns the setting for the small particle limit

Return type

bool

Setter

automatically invokes osaft.core.variable.BaseVariable.notify()

Type

bool

property volume: float

Wrapper for osaft.core.geometries.Sphere.volume

Return type

float

property wave_type: WaveType

Wraps to osaft.core.backgroundfields.BackgroundField.wave_type

Return type

WaveType

property x_f: float

dimensionless wavenumber in the fluid [-]

Return type

float

property x_s: float

dimensionless wavenumber in the particle

Return type

float