ARF

Examples using this class are:

Doinikov 2021 Viscous - Convergence Study

Doinikov 2021 Viscous - Convergence Study

Doinikov 2021 Viscous - Streaming Plots

Doinikov 2021 Viscous - Streaming Plots
class osaft.solutions.doinikov2021viscous.arf.ARF(f, R_0, rho_s, E_s, nu_s, rho_f, c_f, eta_f, zeta_f, p_0, wave_type, position=None, N_max=5, inf_factor=60.0, inf_type=None, integration_rel_eps=0.001)[source]

Bases: StreamingField, BaseARF

ARF class for Doinikov (viscous fluid-elastic sphere; 2021)

Parameters:
  • f (Union[Frequency, float]) – frequency [Hz]

  • R_0 (Union[Sphere, float]) – radius [m]

  • rho_s (float) – density of the particle [kg/m^3]

  • E_s (float) – Young’s modulus of the particle [Pa]

  • nu_s (float) – Poisson’s ratio of the particle [-]

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

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

  • eta_f (float) – fluid component shear viscosity [Pa s]

  • zeta_f (float) – fluid component bulk viscosity [Pa s]

  • p_0 (float) – pressure amplitude [Pa]

  • wave_type (WaveType) – wave type

  • position (Optional[float], optional) – position in the standing wave field [m]

    Default: None

  • N_max (int, optional) – truncation of the summation index (highest order mode)

    Default: 5

  • inf_factor (float, optional) – see inf_factor

    Default: 60.0

  • inf_type (Optional[str], optional) – see inf_type

    Default: None

  • integration_rel_eps (float, optional) – relative eps for adaptive integration

    Default: 0.001

Public Data Attributes:

Inherited from StreamingField

inf_factor

Infinity factor

inf_type

Infinity type

integration_rel_eps

Relative integration error goal for adaptive integration

dict_C_ml

Container for integrals \(C_{ml}\)

inf

Upper limit for the integration to the far-field (to infinity) [m]

Inherited from ScatteringField
Inherited from BaseScatteringDoinikov2021

range_N_max

Returns range(0, N_max + 1)

range_1_N_max

Returns range(1, N_max + 1)

range_2_N_max

Returns range(2, N_max + 1)

Inherited from BaseDoinikov

supported_wavetypes

eta

Fluid shear viscosity.

zeta

Fluid bulk viscosity.

x_l

Dimensionless primary wavenumber in the solid

x_t

Dimensionless secondary wavenumber in the solid

x_f

Dimensionless acoustic wavenumber in the fluid

x_v

Dimensionless viscous wavenumber in the fluid

rho_s

Wraps to osaft.core.solids.ElasticSolid.rho_s

E_s

Wraps to osaft.core.solids.ElasticSolid.E_s

nu_s

Wraps to osaft.core.solids.ElasticSolid.nu_s

k_l

Wraps to osaft.core.solids.ElasticSolid.k_l

k_t

Wraps to osaft.core.solids.ElasticSolid.k_t

rho_f

Wraps to osaft.core.fluids.ViscousFluid.rho_0 or to osaft.core.fluids.ViscoelasticFluid.rho_0

c_f

Wraps to osaft.core.fluids.ViscousFluid.c_f or to osaft.core.fluids.ViscoelasticFluid.c_f

eta_f

Wraps to osaft.core.fluids.ViscousFluid.eta_f or to osaft.core.fluids.ViscoelasticFluid.eta_f

zeta_f

Wraps to osaft.core.fluids.ViscousFluid.zeta_f or to osaft.core.fluids.ViscoelasticFluid.zeta_f

k_f

Wraps to osaft.core.fluids.ViscousFluid.k_f or to osaft.core.fluids.ViscoelasticFluid.k_f

k_v

Wraps to osaft.core.fluids.ViscousFluid.k_v or to osaft.core.fluids.ViscoelasticFluid.k_v

delta

Wraps to osaft.core.fluids.ViscousFluid.delta or to osaft.core.fluids.ViscoelasticFluid.delta

lambda_v

Wraps to osaft.core.fluids.ViscousFluid.lambda_v or to osaft.core.fluids.ViscoelasticFluid.lambda_v

position

Wraps to osaft.core.backgroundfields.BackgroundField.position

p_0

Wraps to osaft.core.backgroundfields.BackgroundField.p_0

wave_type

Wraps to osaft.core.backgroundfields.BackgroundField.wave_type

Inherited from BaseSphereFrequencyComposite
Inherited from BaseFrequencyComposite
Inherited from BaseSolution

supported_wavetypes

wave_type

returns the wave type of the solution

Inherited from BaseScattering

N_max

Cutoff mode number for infinite sums

field

omega

R_0

rho_f

k_f

Inherited from BaseStreaming

range_N_max

range_1_N_max

Public Methods:

compute_arf([return_error])

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

I_1()

Integral \(I_1\)

I_1_error()

Estimated numerical error for integral \(I_1\)

Inherited from StreamingField

C_ml0(m, l)

Returns the value of the integral \(C_{ml0}\)

C_ml0_error(m, l)

Returns the error of the integral \(C_{ml0}\)

C(m, l, r)

Integral \(C_{mn}(r)\)

E(l, r, ac)

\(E_l(r)\)

F(n, m, r, ac)

\(F_{mn}(r)\)

G(n, m, r, ac)

\(G_{mn}(r)\)

V_S_r(l, r, ac)

\(V_{Srl}(r)\)

V_S_theta(l, r, ac)

\(V_{S \theta l}(r)\)

alpha(l, r, ac)

\(\alpha_l(r)\)

beta(l, r, ac)

\(\beta_l(r)\)

gamma(l, r, ac)

\(\gamma_l(l, r)\)

d_gamma(l, r, ac)

\(\partial_r \gamma_l(r)\)

Phi(l, r)

\(\Phi_l(r)\)

d_Phi(l, r)

\(\partial_r \Phi_l(r)\)

Psi(l, r)

\(\Psi_l(r)\)

d_Psi(l, r)

\(\partial_r \Psi_l(r)\)

Inherited from BaseScatteringDoinikov2021

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

First-order radial particle displacements [m]

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

First-order radial particle velocity [m/s]

tangential_particle_displacement(r, theta, t)

First-order tangential particle displacements [m]

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

First-order tangential particle displacements [m]

potential_coefficient(n)

Wrapper to the fluid scattering coefficients for an inviscid fluid

a(n)

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

a_hat(n)

Coefficient \(\hat{a}_n\) [m^2/s]

b(n)

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

b_hat(n)

Coefficient \(\hat{b}_n\) [m^2/s]

V_r_sc(n, r)

Scattering contribution to \(V_{rn}(r)\) [m/s]

d_V_r(n, r, scattered, incident)

\(\partial_r V_{rn}(r)\) [m/s]

d_V_r_sc(n, r)

\(\partial_r V_{rn}^{sc}(r)\) [m/s]

d_V_r_i(n, r)

\(\partial_r V_{rn}^{i}(r)\) [m/s]

d2_V_r(n, r, scattered, incident)

\(\partial^2_r V_{rn}(r)\) [m/s]

d2_V_r_i(n, r)

\(\partial^2_r V_{rn}^{i}(r)\) [m/s]

d2_V_r_sc(n, r)

\(\partial^2_r V_{rn}^{sc}(r)\) [m/s]

V_theta_sc(n, r)

Scattering contribution to \(V_{\theta n}(r)\) [m/s]

d_V_theta(n, r, scattered, incident)

\(\partial_r V_{\theta n}(r)\) [m/s]

d_V_theta_sc(n, r)

\(\partial_r V_{\theta n}^{sc}(r)\) [m/s]

d_V_theta_i(n, r)

\(\partial_r V_{\theta n}^{i}(r)\) [m/s]

d2_V_theta(n, r, scattered, incident)

\(\partial^2_r V_{\theta n}(r)\) [m/s]

d2_V_theta_sc(n, r)

\(\partial^2_r V_{\theta n}^{sc}(r)\) [m/s]

d2_V_theta_i(n, r)

\(\partial^2_r V_{\theta n}^{i}(r)\) [m/s]

phi(n, r, scattered, incident)

\(\varphi_n(r)\)

phi_sc(n, r)

\(\varphi_n^{sc}(r)\)

phi_i(n, r)

\(\varphi_n^i(r)\)

d_phi(n, r, scattered, incident)

\(\partial_r \varphi_n(r)\)

d_phi_sc(n, r)

\(\partial_r \varphi_n^{sc}(r)\)

d_phi_i(n, r)

\(\partial_r \varphi_n^{i}(r)\)

Inherited from CoefficientMatrix

det_M_n(n[, column])

Determinant of the matrix M for the mode n

matrix_M(n)

Matrix \(M_l\)

vector_n(n)

Vector \(n_l\)

viscosity_term()

Often used function of fluids shear and bulk viscosity

a_0()

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

a_hat_0()

Coefficient \(\hat{a}_0\) [m^2/s]

D_0()

Coefficient \(D_0\)

Inherited from BaseDoinikov
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 BaseStreaming

Phi(l, r)

\(\Phi_l(r)\)

d_Phi(l, r)

\(\partial_r \Phi_l(r)\)

Psi(l, r)

\(\Psi_l(r)\)

d_Psi(l, r)

\(\partial_r \Psi_l(r)\)

V_S_r(l, r, ac)

\(V_{Srl}(r)\)

V_S_theta(l, r, ac)

\(V_{S \theta l}(r)\)

radial_Stokes_drift_coefficients(r[, mode])

Radial Stokes drift coefficient [m/s]

radial_Stokes_drift(r, theta[, mode])

Radial Stokes drift velocity [m/s]

tangential_Stokes_drift_coefficients(r[, mode])

Tangential Stokes drift coefficient [m/s]

tangential_Stokes_drift(r, theta[, mode])

Tangential Stokes drift velocity [m/s]

radial_Euler_streaming_coefficients(r[, mode])

Radial Euler streaming coefficient [m/s]

radial_Euler_streaming(r, theta[, mode])

Radial Euler streaming velocity [m/s]

tangential_Euler_streaming_coefficients(r[, ...])

Tangential Euler streaming coefficient [m/s]

tangential_Euler_streaming(r, theta[, mode])

Tangential Euler streaming coefficient [m/s]

radial_Lagrange_streaming_coefficients(r[, mode])

Radial Lagrange streaming coefficient [m/s]

tangential_Lagrange_streaming_coefficients(r)

Tangential Lagrange streaming coefficient [m/s]

radial_Lagrange_streaming(r, theta[, mode])

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

tangential_Lagrange_streaming(r, theta[, mode])

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

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

C(m, l, r)

Integral \(C_{mn}(r)\)

(Eq. B13, B14, C20 - C23)

Integral \(C_{mn}(r)\) with integration boundaries R_0 and r

Parameters:
  • m (int) – index m

  • l (int) – index l

  • r (float) – upper integration boundary [m]

Return type:

float

C_ml0(m, l)

Returns the value of the integral \(C_{ml0}\)

(Eq. E5 - E7)

Parameters:
  • m (int) – index \(m\)

  • l (int) – index \(l\)

Return type:

ndarray

C_ml0_error(m, l)

Returns the error of the integral \(C_{ml0}\)

(Eq. E5 - E7)

Parameters:
  • m (int) – index \(m\)

  • l (int) – index \(l\)

Return type:

ndarray

D_0()

Coefficient \(D_0\)

(Eq. A17)

Returns:

coefficient D_0

E(l, r, ac)

\(E_l(r)\)

(Eq. C17)

Parameters:
  • l (int) – index l

  • r (float) – radial coordinate [m]

  • ac (bool) – if True only the incident field contribution

Return type:

float

Returns:

E(l, r)

F(n, m, r, ac)

\(F_{mn}(r)\)

(Eq. B5)

Parameters:
  • n (int) – index n

  • m (int) – index m

  • r (float) – radial coordinate [m]

  • ac (bool) – if True only the incident field contribution

Return type:

complex

Returns:

F(n, m, r)

G(n, m, r, ac)

\(G_{mn}(r)\)

(Eq. B6)

Parameters:
  • n (int) – index n

  • m (int) – index m

  • r (float) – radial coordinate [m]

  • ac (bool) – if True only the incident field contribution

Return type:

complex

Returns:

G(m, n, r)

I_1()[source]

Integral \(I_1\)

(Eq. 27)

Return type:

float

I_1_error()[source]

Estimated numerical error for integral \(I_1\)

(Eq. 27)

Return type:

float

Phi(l, r)

\(\Phi_l(r)\)

(Eq. B12)

Parameters:
  • l (int) – index l

  • r (float) – radial coordinate [m]

Return type:

float

Returns:

Phi_l(r)

Psi(l, r)

\(\Psi_l(r)\)

(Eq. C18)

Parameters:
  • l (int) – index l

  • r (float) – radial coordinate [m]

Return type:

float

Returns:

Psi_l(l, r)

V_S_r(l, r, ac)

\(V_{Srl}(r)\)

(Eq. F8)

Parameters:
  • l (int) – index l

  • r (float) – radial coordinate [m]

  • ac (bool) – if True only the incident field contribution

Return type:

float

V_S_theta(l, r, ac)

\(V_{S \theta l}(r)\)

Parameters:
  • l (int) – index l

  • r (float) – radial coordinate [m]

  • ac (bool) – if True only the incident field contribution

Return type:

float

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 (Union[float, Sequence]) – radial coordinate [m]

Return type:

complex

V_r_sc(n, r)

Scattering contribution to \(V_{rn}(r)\) [m/s]

(Eq. 35)

Parameters:
  • n (int) – mode

  • r (float) – radial coordinate [m]

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 (Union[float, Sequence]) – radial coordinate [m]

Return type:

complex

V_theta_sc(n, r)

Scattering contribution to \(V_{\theta n}(r)\) [m/s]

(Eq. 36)

Parameters:
  • n (int) – mode

  • r (float) – radial coordinate [m]

Return type:

complex

a(n)

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

(Eq. A18)

Parameters:

n (int) – mode

Return type:

complex

Returns:

coefficient a_n

a_0()

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

(Eq. A15)

Returns:

coefficient a_0

a_hat(n)

Coefficient \(\hat{a}_n\) [m^2/s]

(Eq. A18)

Parameters:

n (int) – mode

Return type:

complex

Returns:

coefficient a_hat_n

a_hat_0()

Coefficient \(\hat{a}_0\) [m^2/s]

(Eq. A15)

Returns:

coefficient a_0

alpha(l, r, ac)

\(\alpha_l(r)\)

(Eq. B9)

Parameters:
  • l (int) – index l

  • r (float) – radial coordinate [m]

  • ac (bool) – if True only the incident field contribution

Return type:

float

Returns:

alpha(l, r)

b(n)

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

(Eq. A18)

Parameters:

n (int) – mode

Return type:

complex

b_hat(n)

Coefficient \(\hat{b}_n\) [m^2/s]

(Eq. A18)

Parameters:

n (int) – mode

Return type:

complex

beta(l, r, ac)

\(\beta_l(r)\)

(Eq. C5)

Parameters:
  • l (int) – index l

  • r (float) – radial coordinate r

  • ac (bool) – if True only the contribution from the

Return type:

float

Returns:

beta(l, r)

check_wave_type()

Checks if wave_type is in supported_wavetypes

Raises:

WrongWaveTypeError – If wave_type is not supported

Return type:

None

compute_arf(return_error=False)[source]

Returns the value for the ARF in Newton [N]. This method must be implemented by every theory to have a common interface for other modules.

Parameters:

return_error (bool, optional) –

Default: False

Return type:

Union[float, tuple[float, float]]

copy()

Returns a copy of the object

Return type:

BaseSolution

d2_V_r(n, r, scattered, incident)

\(\partial^2_r V_{rn}(r)\) [m/s]

(Eq. 35)

Parameters:
  • n (int) – mode

  • r (float) – radial coordinate [m]

  • scattered (bool) – scattered field

  • incident (bool) – incident field

Return type:

complex

d2_V_r_i(n, r)

\(\partial^2_r V_{rn}^{i}(r)\) [m/s]

(Eq. 35)

Parameters:
  • n (int) – mode

  • r (float) – radial coordinate [m]

Return type:

complex

d2_V_r_sc(n, r)

\(\partial^2_r V_{rn}^{sc}(r)\) [m/s]

(Eq. 35)

Parameters:
  • n (int) – mode

  • r (float) – radial coordinate [m]

Return type:

complex

d2_V_theta(n, r, scattered, incident)

\(\partial^2_r V_{\theta n}(r)\) [m/s]

(Eq. 36)

Parameters:
  • n (int) – mode

  • r (float) – radial coordinate [m]

  • scattered (bool) – scattered field

  • incident (bool) – incident field

Return type:

complex

d2_V_theta_i(n, r)

\(\partial^2_r V_{\theta n}^{i}(r)\) [m/s]

(Eq. 36)

Parameters:
  • n (int) – mode

  • r (float) – radial coordinate [m]

Return type:

complex

d2_V_theta_sc(n, r)

\(\partial^2_r V_{\theta n}^{sc}(r)\) [m/s]

(Eq. 36)

Parameters:
  • n (int) – mode

  • r (float) – radial coordinate [m]

Return type:

complex

d_Phi(l, r)

\(\partial_r \Phi_l(r)\)

(Eq. B12)

Parameters:
  • l (int) – index l

  • r (float) – radial coordinate [m]

Return type:

float

Returns:

d_Phi_l(l, r)

d_Psi(l, r)

\(\partial_r \Psi_l(r)\)

Parameters:
  • l (int) – index l

  • r (float) – radial coordinate [m]

Return type:

float

Returns:

d_Psi(l, r)

d_V_r(n, r, scattered, incident)

\(\partial_r V_{rn}(r)\) [m/s]

(Eq. 35)

Parameters:
  • n (int) – mode

  • r (float) – radial coordinate [m]

  • scattered (bool) – scattered field

  • incident (bool) – incident field

Return type:

complex

d_V_r_i(n, r)

\(\partial_r V_{rn}^{i}(r)\) [m/s]

(Eq. 35)

Parameters:
  • n (int) – mode

  • r (float) – radial coordinate [m]

Return type:

complex

d_V_r_sc(n, r)

\(\partial_r V_{rn}^{sc}(r)\) [m/s]

(Eq. 35)

Parameters:
  • n (int) – mode

  • r (float) – radial coordinate [m]

Return type:

complex

d_V_theta(n, r, scattered, incident)

\(\partial_r V_{\theta n}(r)\) [m/s]

(Eq. 36)

Parameters:
  • n (int) – mode

  • r (float) – radial coordinate [m]

  • scattered (bool) – scattered field

  • incident (bool) – incident field

Return type:

complex

d_V_theta_i(n, r)

\(\partial_r V_{\theta n}^{i}(r)\) [m/s]

(Eq. 36)

Parameters:
  • n (int) – mode

  • r (float) – radial coordinate [m]

Return type:

complex

d_V_theta_sc(n, r)

\(\partial_r V_{\theta n}^{sc}(r)\) [m/s]

(Eq. 36)

Parameters:
  • n (int) – mode

  • r (float) – radial coordinate [m]

Return type:

complex

d_gamma(l, r, ac)

\(\partial_r \gamma_l(r)\)

(Eq. C9)

Parameters:
  • l (int) – index l

  • r (float) – radial coordinate [m]

  • ac (bool) – if True only the incident field contribution

Return type:

float

Returns:

d_gamma(l, r)

d_phi(n, r, scattered, incident)

\(\partial_r \varphi_n(r)\)

(Eq. 28, 30)

Parameters:
  • n (int) – mode

  • r (float) – radial coordinate [m]

  • scattered (bool) – scattered field

  • incident (bool) – incident field

Return type:

complex

d_phi_i(n, r)

\(\partial_r \varphi_n^{i}(r)\)

(Eq. 28, 30)

Parameters:
  • n (int) – mode

  • r (float) – radial coordinate [m]

Return type:

complex

d_phi_sc(n, r)

\(\partial_r \varphi_n^{sc}(r)\)

(Eq. 28, 30)

Parameters:
  • n (int) – mode

  • r (float) – radial coordinate [m]

Return type:

complex

det_M_n(n, column=None)

Determinant of the matrix M for the mode n

Parameters:
  • n (int) – mode

  • column (Optional[int], optional) – the l`th coefficient is replaced with the vector `N

    Default: None

Return type:

complex

gamma(l, r, ac)

\(\gamma_l(l, r)\)

(Eq. C9)

Parameters:
  • l (int) – index l

  • r (float) – radial coordinate [m]

  • ac (bool) – if True only the incident field contribution

Return type:

float

Returns:

gamma(l, r)

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]

matrix_M(n)

Matrix \(M_l\)

(Eq. A19 - A 22)

Parameters:

n (int) – mode

Return type:

ndarray

phi(n, r, scattered, incident)

\(\varphi_n(r)\)

(Eq. 28, 30)

Parameters:
  • n (int) – mode

  • r (float) – radial coordinate [m]

  • scattered (bool) – scattered field

  • incident (bool) – incident field

Return type:

complex

phi_i(n, r)

\(\varphi_n^i(r)\)

(Eq. 28, 30)

Parameters:
  • n (int) – mode

  • r (float) – radial coordinate [m]

Return type:

complex

phi_sc(n, r)

\(\varphi_n^{sc}(r)\)

(Eq. 28, 30)

Parameters:
  • n (int) – mode

  • r (float) – radial coordinate [m]

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 (Union[float, Sequence]) – radial coordinate [m]

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

  • t (Union[float, Sequence]) – time [s]

  • scattered (bool) – add scattered field

  • incident (bool) – add incident

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

    Default: None

Return type:

complex

radial_Euler_streaming(r, theta, mode=None)

Radial Euler streaming velocity [m/s]

(Eq. 47)

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

  • theta (float | np.ndarray) – tangential coordinate [rad]

  • mode (Optional[int], optional) – mode

    Default: None

Return type:

float | np.ndarray

Returns:

radial Euler streaming velocity

radial_Euler_streaming_coefficients(r, mode=None)

Radial Euler streaming coefficient [m/s]

(Eq. 47)

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

  • mode (Optional[int], optional) – mode

    Default: None

Return type:

float | np.ndarray

Returns:

radial Euler streaming coefficient

radial_Lagrange_streaming(r, theta, mode=None)

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

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

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

  • theta (float | np.ndarray) – tangential coordinate [rad]

  • mode (Optional[int], optional) – mode, if None all modes to N_max

    Default: None

Return type:

float

radial_Lagrange_streaming_coefficients(r, mode=None)

Radial Lagrange streaming coefficient [m/s]

(Eq. 51)

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

  • mode (Optional[int], optional) – mode

    Default: None

Return type:

float | np.ndarray

Returns:

radial Lagrange streaming coefficient

radial_Stokes_drift(r, theta, mode=None)

Radial Stokes drift velocity [m/s]

(Eq. F6)

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

  • theta (float) – tangential coordinate [rad]

  • mode (Optional[int], optional) – mode

    Default: None

Return type:

float | np.ndarray

Returns:

radial Stokes drift velocity

radial_Stokes_drift_coefficients(r, mode=None)

Radial Stokes drift coefficient [m/s]

(Eq. F8)

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

  • mode (Optional[int], optional) – mode

    Default: None

Return type:

float | np.ndarray

Returns:

radial Stokes drift coefficient

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 contribution

  • incident (bool) – incident field contribution

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

    Default: 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 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 (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 until N_max

    Default: None

Return type:

Union[complex, ndarray]

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

First-order radial particle displacements [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) – mode

    Default: None

Return type:

Union[complex, ndarray]

Returns:

first-order radial particle displacement

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

First-order radial particle velocity [m/s]

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) – mode

    Default: None

Return type:

Union[complex, ndarray]

tangential_Euler_streaming(r, theta, mode=None)

Tangential Euler streaming coefficient [m/s]

(Eq. 48)

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

  • theta (float | np.ndarray) – tangential coordinate [rad]

  • mode (Optional[int], optional) – mode

    Default: None

Return type:

float | np.ndarray

Returns:

tangential Euler streaming coefficients

tangential_Euler_streaming_coefficients(r, mode=None)

Tangential Euler streaming coefficient [m/s]

(Eq. 48)

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

  • mode (Optional[int], optional) – mode

    Default: None

Return type:

float | np.ndarray

Returns:

tangential Euler streaming coefficient

tangential_Lagrange_streaming(r, theta, mode=None)

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

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

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

  • theta (float | np.ndarray) – tangential coordinate [rad]

  • mode (Optional[int], optional) – mode, if None all modes to N_max

    Default: None

Return type:

float

tangential_Lagrange_streaming_coefficients(r, mode=None)

Tangential Lagrange streaming coefficient [m/s]

(Eq. 52)

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

  • mode (Optional[int], optional) – mode

    Default: None

Return type:

float | np.ndarray

Returns:

tangential Lagrange streaming coefficient

tangential_Stokes_drift(r, theta, mode=None)

Tangential Stokes drift velocity [m/s]

(Eq. F7)

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

  • theta (float) – tangential coordinate [rad]

  • mode (Optional[int], optional) – mode

    Default: None

Return type:

float | np.ndarray

Returns:

tangential Stokes drift velocity

tangential_Stokes_drift_coefficients(r, mode=None)

Tangential Stokes drift coefficient [m/s]

(Eq. F9)

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

  • mode (Optional[int], optional) – mode

    Default: None

Return type:

float | np.ndarray

Returns:

tangential Stokes drift coefficient

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 contribution

  • incident (bool) – incident field contribution

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

    Default: 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 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 (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 until N_max

Return type:

Union[complex, ndarray]

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

First-order tangential particle displacements [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) – mode

    Default: None

Return type:

Union[complex, ndarray]

Returns:

first-order tangential particle displacements

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

First-order tangential particle displacements [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) – mode

    Default: None

Return type:

Union[complex, ndarray]

Returns:

first-order tangential particle displacements

vector_n(n)

Vector \(n_l\)

(Eq. A19 - A 22)

Parameters:

n (int) – mode

Return type:

ndarray

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 field

  • incident (bool) – add incident

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

    Default: None

Return type:

complex

viscosity_term()

Often used function of fluids shear and bulk viscosity

Return type:

complex

property E_s: float

Wraps to osaft.core.solids.ElasticSolid.E_s

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 c_f: float

Wraps to osaft.core.fluids.ViscousFluid.c_f or to osaft.core.fluids.ViscoelasticFluid.c_f

property delta: float

Wraps to osaft.core.fluids.ViscousFluid.delta or to osaft.core.fluids.ViscoelasticFluid.delta

property dict_C_ml: dict

Container for integrals \(C_{ml}\)

(Eq. C19 - C23)

Stores the last computed value of the integral that is reused in the computation.

property eta: float

Wraps to osaft.core.fluids.ViscousFluid.eta_f

property eta_f: float

Wraps to osaft.core.fluids.ViscousFluid.eta_f or to osaft.core.fluids.ViscoelasticFluid.eta_f

property f: float

wrapper for osaft.core.frequency.Frequency.f

property inf

Upper limit for the integration to the far-field (to infinity) [m]

property inf_factor: float

Infinity factor

Factor that is multiplied with the length given through inf_type to get the upper limit for integration to the far-field.

Getter:

returns the infinity factor

Return type:

float

Setter:

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

Type:

float

property inf_type: str

Infinity type

the upper limit of the integration to the far-field is defined as a multiple of either radius, boundary layer thickness, acoustic wavelength, viscous wavelength, or a user-defined value. The options are - ‘delta’ - ‘radius’ - ‘1’ or 1 - None

The multiplier is set through inf_value

Getter:

returns the infinity type

Return type:

str

Setter:

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

property integration_rel_eps: float

Relative integration error goal for adaptive integration

Relative error goal for the computation of C_integral

Getter:

returns the relative integration error

Return type:

float

Setter:

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

Type:

float

property k_f: complex

Wraps to osaft.core.fluids.ViscousFluid.k_f or to osaft.core.fluids.ViscoelasticFluid.k_f

property k_l: float

Wraps to osaft.core.solids.ElasticSolid.k_l

property k_t: float

Wraps to osaft.core.solids.ElasticSolid.k_t

property k_v: complex

Wraps to osaft.core.fluids.ViscousFluid.k_v or to osaft.core.fluids.ViscoelasticFluid.k_v

property lambda_v: float

Wraps to osaft.core.fluids.ViscousFluid.lambda_v or to osaft.core.fluids.ViscoelasticFluid.lambda_v

property nu_s: float

Wraps to osaft.core.solids.ElasticSolid.nu_s

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 range_1_N_max: Iterable

Returns range(1, N_max + 1)

property range_2_N_max: Iterable

Returns range(2, N_max + 1)

property range_N_max: Iterable

Returns range(0, N_max + 1)

property rho_f: float

Wraps to osaft.core.fluids.ViscousFluid.rho_0 or to osaft.core.fluids.ViscoelasticFluid.rho_0

property rho_s: float

Wraps to osaft.core.solids.ElasticSolid.rho_s

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

Dimensionless acoustic wavenumber in the fluid

\(k_f \cdot R_0\)

property x_l

Dimensionless primary wavenumber in the solid

\(k_l \cdot R_0\)

property x_t

Dimensionless secondary wavenumber in the solid

\(k_t \cdot R_0\)

property x_v

Dimensionless viscous wavenumber in the fluid

\(k_v \cdot R_0\)

property zeta: float

Wraps to osaft.core.fluids.ViscousFluid.zeta_f

property zeta_f: float

Wraps to osaft.core.fluids.ViscousFluid.zeta_f or to osaft.core.fluids.ViscoelasticFluid.zeta_f