ARF
Examples using this class are:
- 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,BaseARFARF class for Yosioka & Kawasima (1955)
- Parameters:
f (
Union[Frequency,float,int]) – Frequency [Hz]R_0 (
Union[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 (
Optional[float], optional) – Position in the standing wave field [rad]Default:Nonewave_type (
WaveType) – either standing or progressive waveN_max (
int, optional) –Default:5small_particle (
bool, optional) –Default:Falsebubble_solution (
bool, optional) –Default:FalsePublic Data Attributes:
Small particle limit option.
Bubble solution option.
Density-compressibility factor \(F\) [-]
Inherited from
BaseYosiokasupported_wavetypesratio of speeds of sound [-].
ratio of densities [-]
dimensionless wavenumber in the fluid [-]
dimensionless wavenumber in the particle
Wraps to
osaft.core.backgroundfields.BackgroundField.positionWraps to
osaft.core.backgroundfields.BackgroundField.wave_typeWraps to
osaft.core.fluids.InviscidFluid.c_fWraps to
osaft.core.fluids.InviscidFluid.c_fWraps to
osaft.core.fluids.InviscidFluid.k_fWraps to
osaft.core.fluids.InviscidFluid.k_fInherited from
BaseSphereFrequencyCompositeWrapper for
osaft.core.geometries.Sphere.R_0Wrapper for
osaft.core.geometries.Sphere.areaWrapper for
osaft.core.geometries.Sphere.volumeInherited from
BaseFrequencyCompositewrapper for
osaft.core.frequency.Frequency.fwrapper for
osaft.core.frequency.Frequency.omegaInherited from
BaseSolutionsupported_wavetypesreturns the wave type of the solution
Inherited from
BaseScatteringCutoff mode number for infinite sums
fieldomegaR_0rho_fk_fPublic Methods:
Inherited from
ScatteringFieldradial_particle_velocity(r, theta, t[, mode])Radial particle velocity [m/s]
tangential_particle_velocity(r, theta, t[, mode])Tangential particle velocity [m/s]
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
BaseYosiokaA_in(n)Inherited from
BaseFrequencyCompositeReturns all properties that are settable.
Inherited from
BaseSolutionInherited from
BaseScatteringradial_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].
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 untilN_max(mode=None).Returns either a single mode (
mode=int) or a the sum untilN_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()andV_r_i()depending onscatteredandincidentV_theta(n, r, scattered, incident)Superposition of
V_theta_sc()andV_theta_i()depending onscatteredandincidentInherited from
BaseARFReturns 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 (
Optional[int], optional) – modeDefault: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 (
Optional[int], optional) – modeDefault: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 (
Optional[int], optional) – modeDefault: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 (
Optional[int], optional) – modeDefault:None- Return type:
complex- V_r(n, r, scattered, incident)
Superposition of
V_r_sc()andV_r_i()depending onscatteredandincidentAt least one of the two must be True.
- Parameters:
n (
int) – moder (
float) – radial coordinate [m]scattered (
bool) – add scattered fieldincident (
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) – moder (
Union[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) – moder (
Union[float,Sequence[float]]) – radial coordinate [m]
- Return type:
Union[complex,Sequence[complex]]
- V_theta(n, r, scattered, incident)
Superposition of
V_theta_sc()andV_theta_i()depending onscatteredandincidentAt least one of the two must be True.
- Parameters:
n (
int) – moder (
float) – radial coordinate [m]scattered (
bool) – add scattered fieldincident (
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) – moder (
Union[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) – moder (
Union[float,Sequence[float]]) – radial coordinate [m]
- Return type:
Union[complex,Sequence[complex]]
- check_wave_type()
Checks if
wave_typeis insupported_wavetypes- Raises:
WrongWaveTypeError – If
wave_typeis 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:
WrongWaveTypeError – if wrong
wave_typeAssumptionWarning – if the used parameters might not be valid for the chosen limiting case
- Return type:
float
- copy()
Returns a copy of the object
- Return type:
- 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 (
Union[float,Sequence]) – radial coordinate [m]theta (
Union[float,Sequence]) – tangential coordinate [rad]t (
Union[float,Sequence]) – time [s]scattered (
bool) – add scattered fieldincident (
bool) – add incidentmode (
Optional[int], optional) – specific mode number of interest; if None then all modes untilN_maxDefault: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 (
Union[float,Sequence]) – radial coordinate [m]theta (
Union[float,Sequence]) – tangential coordinate [rad]t (
Union[float,Sequence]) – time [s]scattered (
bool) – scattered field contributionincident (
bool) – incident field contributionmode (
Optional[int], optional) – specific mode number of interest; if None then all modes untilN_maxDefault:None- Return type:
Union[complex,ndarray]- radial_mode_superposition(radial_func, r, theta, t, mode=None)
Returns either a single mode (
mode=int) or a the sum untilN_max(mode=None).If
mode=intthe formula is\[e^{-i\omega t}\, f_{\text{mode}}(r) \,P_{\text{mode}}(\cos\theta)\]If
mode=Nonethe 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 onrr (
Union[float,Sequence]) – radial coordinate [m]theta (
Union[float,Sequence]) – tangential coordinate [rad]t (
Union[float,Sequence]) – time [s]mode (
Optional[int], optional) – specific mode number of interest; if None then all modes untilN_maxDefault:None- Return type:
Union[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 (
Union[float,Sequence]) – radial coordinate [m]theta (
Union[float,Sequence]) – tangential coordinate [rad]t (
Union[float,Sequence]) – time [s]mode (
Optional[int], optional) – specific mode number of interest; if None that all modes untilN_maxDefault:None- Return type:
Union[complex,ndarray]- radial_particle_velocity(r, theta, t, mode=None)
Radial particle velocity [m/s]
- Parameters:
r (
Union[float,Sequence[float]]) – radial coordinate [m]theta (
Union[float,Sequence[float]]) – tangential coordinate [rad]t (
Union[float,Sequence[float]]) – time [s]mode (
Optional[int], optional) – modeDefault:None- Return type:
Union[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 (
Union[float,Sequence]) – radial coordinate [m]theta (
Union[float,Sequence]) – tangential coordinate [rad]t (
Union[float,Sequence]) – time [s]scattered (
bool) – scattered field contributionincident (
bool) – incident field contributionmode (
Optional[int], optional) – specific mode number of interest; if None then all modes untilN_maxDefault:None- Return type:
Union[complex,ndarray]- tangential_mode_superposition(tangential_func, r, theta, t, mode)
Returns either a single mode (
mode=int) or a the sum untilN_max(mode=None).If
mode=intthe formula is\[e^{-i\omega t}\, f_\text{mode}(r) \,P^1_{\text{mode}}(\cos\theta)\]If
mode=Nonethe 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 onrr (
Union[float,Sequence]) – radial coordinate [m]theta (
Union[float,Sequence]) – tangential coordinate [rad]t (
Union[float,Sequence]) – time [s]mode (
int) – specific mode number of interest; if None then all modes untilN_max
- Return type:
Union[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 (
Union[float,Sequence]) – radial coordinate [m]theta (
Union[float,Sequence]) – tangential coordinate [rad]t (
Union[float,Sequence]) – time [s]mode (
Optional[int], optional) – specific mode number of interest; if None that all modes untilN_maxDefault:None- Return type:
Union[complex,ndarray]- tangential_particle_velocity(r, theta, t, mode=None)
Tangential particle velocity [m/s]
- Parameters:
r (
Union[float,Sequence[float]]) – radial coordinate [m]theta (
Union[float,Sequence[float]]) – tangential coordinate [rad]t (
Union[float,Sequence[float]]) – time [s]mode (
Optional[int], optional) – modeDefault:None- Return type:
Union[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 (
Union[float,Sequence]) – radial coordinate [m]theta (
Union[float,Sequence]) – tangential coordinate [rad]t (
Union[float,Sequence]) – time [s]scattered (
bool) – add scattered fieldincident (
bool) – add incidentmode (
Optional[int], optional) – specific mode number of interest; if None then all modes untilN_maxDefault:None- Return type:
complex- property E_ac: 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. :return: contrast factor [-]
- property I_ac: 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
- property area: float
Wrapper for
osaft.core.geometries.Sphere.area
- 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
- property c_s: float
Wraps to
osaft.core.fluids.InviscidFluid.c_f
- property f: float
wrapper for
osaft.core.frequency.Frequency.f
- property k_f: float
Wraps to
osaft.core.fluids.InviscidFluid.k_f
- property k_s: float
Wraps to
osaft.core.fluids.InviscidFluid.k_f
- property kappa_f: float
- property lambda_rho: float
ratio of densities [-]
- property omega: float
wrapper for
osaft.core.frequency.Frequency.omega
- property p_0: float
- property position: float
Wraps to
osaft.core.backgroundfields.BackgroundField.position
- property rho_f: float
- property rho_s: float
- property sigma: float
ratio of speeds of sound [-].
- 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
- property wave_type: WaveType
Wraps to
osaft.core.backgroundfields.BackgroundField.wave_type
- property x_f: float
dimensionless wavenumber in the fluid [-]
- property x_s: float
dimensionless wavenumber in the particle