BaseScatteringDoinikov2021
Examples using this class are:
- class osaft.solutions.basedoinikov2021.scattering.BaseScatteringDoinikov2021(f, R_0, rho_s, E_s, nu_s, fluid, p_0, wave_type, position=None, N_max=5)[source]
Bases:
CoefficientMatrix,BaseScattering,ABCScattering field class for Doinikov (viscous fluid-elastic sphere; 2021)
- Parameters
f (Frequency | float) – frequency [Hz]
R_0 (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 [-]
fluid (ViscousFluid | ViscoelasticFluid) – Fluid instance of the model
p_0 (float) – pressure amplitude [Pa]
wave_type (WaveType) – wave type
position (None | float, optional) – position in the standing wave field [m]
Default:NoneN_max (int, optional) –
Default:5Public Data Attributes:
Returns
range(0, N_max + 1)Returns
range(1, N_max + 1)Returns
range(2, N_max + 1)Inherited from
BaseDoinikovInherited 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_wavetypesWraps to
osaft.core.backgroundfields.BackgroundField.wave_typeInherited from
BaseScatteringCutoff mode number for infinite sums
Public Methods:
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]
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
CoefficientMatrixInherited from
BaseDoinikovA_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 onscatteredandincident
- A_in(n)
- D_0()
Coefficient \(D_0\)
(Eq. A17)
- Returns
coefficient D_0
- 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) – mode
r (float | Sequence) – radial coordinate [m]
- Return type
complex
- V_r_sc(n, r)[source]
Scattering contribution to \(V_{rn}(r)\) [m/s]
(Eq. 35)
- Parameters
n (
int) – moder (
float) – radial coordinate [m]
- Return type
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) – mode
r (float | Sequence) – radial coordinate [m]
- Return type
complex
- V_theta_sc(n, r)[source]
Scattering contribution to \(V_{\theta n}(r)\) [m/s]
(Eq. 36)
- Parameters
n (
int) – moder (
float) – radial coordinate [m]
- Return type
complex
- a(n)[source]
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)[source]
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
- b_hat(n)[source]
Coefficient \(\hat{b}_n\) [m^2/s]
(Eq. A18)
- Parameters
n (
int) – mode- Return type
complex
- check_wave_type()
Checks if
wave_typeis insupported_wavetypes- Raises
WrongWaveTypeError – If
wave_typeis not supported- Return type
None
- copy()
Returns a copy of the object
- Return type
- d2_V_r(n, r, scattered, incident)[source]
\(\partial^2_r V_{rn}(r)\) [m/s]
(Eq. 35)
- Parameters
n (
int) – moder (
float) – radial coordinate [m]scattered (
bool) – scattered fieldincident (
bool) – incident field
- Return type
complex
- d2_V_r_i(n, r)[source]
\(\partial^2_r V_{rn}^{i}(r)\) [m/s]
(Eq. 35)
- Parameters
n (
int) – moder (
float) – radial coordinate [m]
- Return type
complex
- d2_V_r_sc(n, r)[source]
\(\partial^2_r V_{rn}^{sc}(r)\) [m/s]
(Eq. 35)
- Parameters
n (
int) – moder (
float) – radial coordinate [m]
- Return type
complex
- d2_V_theta(n, r, scattered, incident)[source]
\(\partial^2_r V_{\theta n}(r)\) [m/s]
(Eq. 36)
- Parameters
n (
int) – moder (
float) – radial coordinate [m]scattered (
bool) – scattered fieldincident (
bool) – incident field
- Return type
complex
- d2_V_theta_i(n, r)[source]
\(\partial^2_r V_{\theta n}^{i}(r)\) [m/s]
(Eq. 36)
- Parameters
n (
int) – moder (
float) – radial coordinate [m]
- Return type
complex
- d2_V_theta_sc(n, r)[source]
\(\partial^2_r V_{\theta n}^{sc}(r)\) [m/s]
(Eq. 36)
- Parameters
n (
int) – moder (
float) – radial coordinate [m]
- Return type
complex
- d_V_r(n, r, scattered, incident)[source]
\(\partial_r V_{rn}(r)\) [m/s]
(Eq. 35)
- Parameters
n (
int) – moder (
float) – radial coordinate [m]scattered (
bool) – scattered fieldincident (
bool) – incident field
- Return type
complex
- d_V_r_i(n, r)[source]
\(\partial_r V_{rn}^{i}(r)\) [m/s]
(Eq. 35)
- Parameters
n (
int) – moder (
float) – radial coordinate [m]
- Return type
complex
- d_V_r_sc(n, r)[source]
\(\partial_r V_{rn}^{sc}(r)\) [m/s]
(Eq. 35)
- Parameters
n (
int) – moder (
float) – radial coordinate [m]
- Return type
complex
- d_V_theta(n, r, scattered, incident)[source]
\(\partial_r V_{\theta n}(r)\) [m/s]
(Eq. 36)
- Parameters
n (
int) – moder (
float) – radial coordinate [m]scattered (
bool) – scattered fieldincident (
bool) – incident field
- Return type
complex
- d_V_theta_i(n, r)[source]
\(\partial_r V_{\theta n}^{i}(r)\) [m/s]
(Eq. 36)
- Parameters
n (
int) – moder (
float) – radial coordinate [m]
- Return type
complex
- d_V_theta_sc(n, r)[source]
\(\partial_r V_{\theta n}^{sc}(r)\) [m/s]
(Eq. 36)
- Parameters
n (
int) – moder (
float) – radial coordinate [m]
- Return type
complex
- d_phi(n, r, scattered, incident)[source]
\(\partial_r \varphi_n(r)\)
(Eq. 28, 30)
- Parameters
n (
int) – moder (
float) – radial coordinate [m]scattered (
bool) – scattered fieldincident (
bool) – incident field
- Return type
complex
- d_phi_i(n, r)[source]
\(\partial_r \varphi_n^{i}(r)\)
(Eq. 28, 30)
- Parameters
n (
int) – moder (
float) – radial coordinate [m]
- Return type
complex
- d_phi_sc(n, r)[source]
\(\partial_r \varphi_n^{sc}(r)\)
(Eq. 28, 30)
- Parameters
n (
int) – moder (
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 (None | int, optional) – the l`th coefficient is replaced with the vector `N
Default:None- Return type
complex
- 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]
- phi(n, r, scattered, incident)[source]
\(\varphi_n(r)\)
(Eq. 28, 30)
- Parameters
n (
int) – moder (
float) – radial coordinate [m]scattered (
bool) – scattered fieldincident (
bool) – incident field
- Return type
complex
- phi_i(n, r)[source]
\(\varphi_n^i(r)\)
(Eq. 28, 30)
- Parameters
n (
int) – moder (
float) – radial coordinate [m]
- Return type
complex
- phi_sc(n, r)[source]
\(\varphi_n^{sc}(r)\)
(Eq. 28, 30)
- Parameters
n (
int) – moder (
float) – radial coordinate [m]
- Return type
complex
- potential_coefficient(n)[source]
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_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 (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_maxDefault: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 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 on
rr (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_maxDefault:None- Return type
complex | NDArray
- radial_particle_displacement(r, theta, t, mode=None)[source]
First-order radial particle displacements [m]
- Parameters
r (float | Sequence) – radial coordinate [m]
theta (float | Sequence) – tangential coordinate [rad]
t (float | Sequence) – time [s]
mode (None | int, optional) – mode
Default:None- Return type
complex | NDArray
- Returns
first-order radial particle displacement
- radial_particle_velocity(r, theta, t, mode=None)[source]
First-order radial particle velocity [m/s]
- Parameters
r (float | Sequence) – radial coordinate [m]
theta (float | Sequence) – tangential coordinate [rad]
t (float | Sequence) – time [s]
mode (None | int, optional) – mode
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_maxDefault: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 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 on
rr (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)[source]
First-order tangential particle displacements [m]
- Parameters
r (float | Sequence) – radial coordinate [m]
theta (float | Sequence) – tangential coordinate [rad]
t (float | Sequence) – time [s]
mode (None | int, optional) – mode
Default:None- Return type
complex | NDArray
- Returns
first-order tangential particle displacements
- tangential_particle_velocity(r, theta, t, mode=None)[source]
First-order tangential particle displacements [m]
- Parameters
r (float | Sequence) – radial coordinate [m]
theta (float | Sequence) – tangential coordinate [rad]
t (float | Sequence) – time [s]
mode (None | int, optional) – mode
Default:None- Return type
complex | NDArray
- Returns
first-order tangential particle displacements
- 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_maxDefault: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- 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 c_f: float
Wraps to
osaft.core.fluids.ViscousFluid.c_for toosaft.core.fluids.ViscoelasticFluid.c_f- Return type
float
- property delta: float
Wraps to
osaft.core.fluids.ViscousFluid.deltaor toosaft.core.fluids.ViscoelasticFluid.delta- Return type
float
- abstract property eta: float | complex
Fluid shear viscosity. For a
osaft.core.fluids.ViscousFluidreturns \(\eta_f\), for aosaft.core.fluids.ViscoelasticFluidreturns \(\eta_c\).- Return type
float | complex
- property eta_f: float
Wraps to
osaft.core.fluids.ViscousFluid.eta_for toosaft.core.fluids.ViscoelasticFluid.eta_f- Return type
float
- property f: float
wrapper for
osaft.core.frequency.Frequency.f- Return type
float
- property k_f: complex
Wraps to
osaft.core.fluids.ViscousFluid.k_for toosaft.core.fluids.ViscoelasticFluid.k_f- Return type
complex
- property k_l: float
Wraps to
osaft.core.solids.ElasticSolid.k_l- Return type
float
- property k_t: float
Wraps to
osaft.core.solids.ElasticSolid.k_t- Return type
float
- property k_v: complex
Wraps to
osaft.core.fluids.ViscousFluid.k_vor toosaft.core.fluids.ViscoelasticFluid.k_v- Return type
complex
- property lambda_v: float
Wraps to
osaft.core.fluids.ViscousFluid.lambda_vor toosaft.core.fluids.ViscoelasticFluid.lambda_v- Return type
float
- property nu_s: float
Wraps to
osaft.core.solids.ElasticSolid.nu_s- 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 range_1_N_max: Iterable
Returns
range(1, N_max + 1)- Return type
Iterable
- property range_2_N_max: Iterable
Returns
range(2, N_max + 1)- Return type
Iterable
- property range_N_max: Iterable
Returns
range(0, N_max + 1)- Return type
Iterable
- property rho_f: float
Wraps to
osaft.core.fluids.ViscousFluid.rho_0or toosaft.core.fluids.ViscoelasticFluid.rho_0- Return type
float
- property rho_s: float
Wraps to
osaft.core.solids.ElasticSolid.rho_s- Return type
float
- 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
- 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\)
- abstract property zeta: float | complex
Fluid bulk viscosity. For a
osaft.core.fluids.ViscousFluidreturns \(\zeta_f\), for aosaft.core.fluids.ViscoelasticFluidreturns \(\zeta_c\).- Return type
float | complex
- property zeta_f: float
Wraps to
osaft.core.fluids.ViscousFluid.zeta_for toosaft.core.fluids.ViscoelasticFluid.zeta_f- Return type
float