ARF#

Examples using this class are:

Frontiers: HFE Droplet in Water

Frontiers: HFE Droplet in Water

Frontiers: HFE Droplet in Water
Doinikov Rigid (1994): Sandstone in Glycerin

Doinikov Rigid (1994): Sandstone in Glycerin

Doinikov Rigid (1994): Sandstone in Glycerin
Multicore ARF Computation

Multicore ARF Computation

Multicore ARF Computation
class osaft.solutions.king1934.arf.ARF(f, R_0, rho_s, rho_f, c_f, p_0, wave_type, position=None, N_max=5, small_particle_limit=False)[source]#

Bases: ScatteringField, BaseARF

ARF class for King (1934)

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]

  • 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]

  • wave_type (WaveType) – Type of incident wave (traveling/standing)

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

    Default: None

  • N_max (int, optional) – Highest order mode

    Default: 5

  • small_particle_limit (bool, optional) – compute ARF based on small particle limit

    Default: False

Public Data Attributes:

f_2

Dipole scatting coefficient \(f_2\) [-]

Phi

Acoustic contrast factor \(\Phi\) [-]

small_particle_limit

ARF for the small particle limit

Inherited from BaseKing
Inherited from BaseSphereFrequencyComposite
Inherited from BaseFrequencyComposite
Inherited from BaseSolution

supported_wavetypes

wave_type

returns the wave type of the solution

Inherited from BaseScatteringRigidParticle

R_0

Inherited from BaseScattering

N_max

Cutoff mode number for infinite sums

field

omega

R_0

rho_f

k_f

Public Methods:

compute_arf()

Acoustic radiation fore in [N]

FFGG(n)

Returns the coefficient \(F_{n+1}F_{n}+G_{n+1}G_{n}\) for n.

FGFG(n)

Returns the coefficient \(F_{n+1}G_{n}-G_{n+1}F_{n}\) for n.

HH(n)

Returns the coefficient \(H_{n}^2(n)H_{n}^2(n+1)\) for n of (56) and (57).

Inherited from ScatteringField

particle_velocity(t)

Particle velocity

potential_coefficient(n)

Wrapper to the fluid scattering coefficients for an inviscid fluid

phi_n(n, arg)

From King equation (22)

psi_n(n, arg)

From King equation (22)

F_n(n, arg)

From King equation (30) and (31)

G_n(n, arg)

From King equation (30) and (31)

A_dash_n(n)

From King equation (21), (28) potential from 28 to form of 21

Phi_scattering(r, theta, t)

King equation (28) for scattering potential \(\Phi_{\mathrm{scattering}}\)

Phi_incident(r, theta, t)

King equation (28) for scattering potential \(\Phi_{\mathrm{incident}}\)

V_r_sc(n, r)

Implements osaft.solutions.base_scattering.BaseScattering.V_r_sc()

V_theta_sc(n, r)

Implements osaft.solutions.base_scattering.BaseScattering.V_theta_sc()

Inherited from BaseKing
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 BaseScatteringRigidParticle

particle_velocity(t)

Particle velocity

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

Particle velocity in radial direction

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

Particle velocity in tangential direction

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_dash_n(n)#

From King equation (21), (28) potential from 28 to form of 21

Returns Scattering field coefficient \(A^{\prime}_{n}\)

Parameters:

n (int) – mode number

Return type:

complex

A_in(n)#

Wraps to osaft.core.backgroundfields.BackgroundField.A_in

Parameters:

n (int) –

Return type:

complex

FFGG(n)[source]#

Returns the coefficient \(F_{n+1}F_{n}+G_{n+1}G_{n}\) for n.

Parameters:

n (int) – order

Return type:

complex

FGFG(n)[source]#

Returns the coefficient \(F_{n+1}G_{n}-G_{n+1}F_{n}\) for n.

Parameters:

n (int) – order

Return type:

complex

F_n(n, arg)#

From King equation (30) and (31)

Returns \(F_n\)

Parameters:
  • n (int) – mode

  • arg (float) – argument for spherical Bessel function

Return type:

float

G_n(n, arg)#

From King equation (30) and (31)

Returns \(G_n\)

Parameters:
  • n (int) – mode

  • arg (float) – argument for spherical Bessel function

Return type:

complex

HH(n)[source]#

Returns the coefficient \(H_{n}^2(n)H_{n}^2(n+1)\) for n of (56) and (57).

Parameters:

n (int) – order

Return type:

float

Phi_incident(r, theta, t)#

King equation (28) for scattering potential \(\Phi_{\mathrm{incident}}\)

Parameters:
  • r (float | NDArray | list[float]) – radial coordinate [m]

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

  • t (float | NDArray | list[float]) – time [s]

Return type:

complex

Phi_scattering(r, theta, t)#

King equation (28) for scattering potential \(\Phi_{\mathrm{scattering}}\)

Parameters:
  • r (float | NDArray | list[float]) – radial coordinate [m]

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

  • t (float | NDArray | list[float]) – time [s]

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)#

Implements osaft.solutions.base_scattering.BaseScattering.V_r_sc()

Parameters:
  • n (int) –

  • r (float | NDArray | list[float]) –

Return type:

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)#

Implements osaft.solutions.base_scattering.BaseScattering.V_theta_sc()

Parameters:
  • n (int) –

  • r (float | NDArray | list[float]) –

Return type:

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 fore in [N]

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]

particle_velocity(t)#

Particle velocity

Returns the value of the particle velocity in the direction of the axis of rotational symmetry of the radiation field in [m/s]

Parameters:

t (float) – time [s]

Return type:

float

static phi_n(n, arg)#

From King equation (22)

Returns \(\phi_n\)

Parameters:
  • n (int) – mode

  • arg (float) – argument for spherical Bessel function

Return type:

complex

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

static psi_n(n, arg)#

From King equation (22)

Returns \(\psi_n\)

Parameters:
  • n (int) – mode

  • arg (float) – argument for spherical Bessel function

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)#

Particle velocity in radial direction

Returns the value of the particle velocity in radial direction in [m/s]

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_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)#

Particle velocity in tangential direction

Returns the value of the particle velocity in tangential direction in [m/s]

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

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 N_max#

Cutoff mode number for infinite sums

Getter:

returns number of infinite sum term

Setter:

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

property Phi: float#

Acoustic contrast factor \(\Phi\) [-]

property R_0: float#

Wrapper for osaft.core.geometries.Sphere.R_0

property alpha#

Wave number times radius of the particle (\(kR\)) [-]

property area: float#

Wrapper for osaft.core.geometries.Sphere.area

property c_f: float#

Wraps to osaft.core.fluids.InviscidFluid.c_f

property f: float#

wrapper for osaft.core.frequency.Frequency.f

property f_2: float#

Dipole scatting coefficient \(f_2\) [-]

property k_f: float#

Wraps to osaft.core.fluids.InviscidFluid.k_f

property kappa_f: float#

Wraps to osaft.core.fluids.InviscidFluid.kappa_f

property omega: float#

wrapper for osaft.core.frequency.Frequency.omega

property p_0: float#

Wraps to osaft.core.backgroundfields.BackgroundField.p_0

property position: float#

Wraps to osaft.core.backgroundfields.BackgroundField.position

property rho_f: float#

Wraps to osaft.core.fluids.InviscidFluid.rho_f

property rho_s: float#

Wraps to osaft.core.solids.RigidSolid.rho_s

property rho_tilde: float#

Density ratio rho_s/ rho_f [-]

property small_particle_limit: bool#

ARF for the small particle limit

Getter:

returns if small particle limit is computed

Setter:

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

property volume: float#

Wrapper for osaft.core.geometries.Sphere.volume

property wave_type: WaveType#

Wraps to osaft.core.backgroundfields.BackgroundField.wave_type