SpECTRE  v2022.05.05
Elasticity::Solutions::HalfSpaceMirror Class Reference

The solution for a half-space mirror deformed by a laser beam. More...

#include <HalfSpaceMirror.hpp>

## Classes

struct  AbsoluteTolerance

struct  BeamWidth

struct  IntegrationIntervals

struct  Material

struct  RelativeTolerance

## Public Types

using constitutive_relation_type = Elasticity::ConstitutiveRelations::IsotropicHomogeneous< 3 >

using options = tmpl::list< BeamWidth, Material, IntegrationIntervals, AbsoluteTolerance, RelativeTolerance >

## Public Member Functions

HalfSpaceMirror (const HalfSpaceMirror &)=default

HalfSpaceMirroroperator= (const HalfSpaceMirror &)=default

HalfSpaceMirror (HalfSpaceMirror &&)=default

HalfSpaceMirroroperator= (HalfSpaceMirror &&)=default

std::unique_ptr< elliptic::analytic_data::AnalyticSolutionget_clone () const override

HalfSpaceMirror (double beam_width, constitutive_relation_type constitutive_relation, size_t integration_intervals=350, double absolute_tolerance=1e-12, double relative_tolerance=1e-10)

double beam_width () const

size_t integration_intervals () const

double absolute_tolerance () const

double relative_tolerance () const

const constitutive_relation_typeconstitutive_relation () const

template<typename DataType , typename... RequestedTags>
tuples::TaggedTuple< RequestedTags... > variables (const tnsr::I< DataType, 3 > &x, tmpl::list< RequestedTags... >) const

void pup (PUP::er &p) override

virtual std::unique_ptr< AnalyticSolutionget_clone () const =0

## Static Public Attributes

static constexpr Options::String help

## Detailed Description

The solution for a half-space mirror deformed by a laser beam.

### Details

This solution is mapping (via the fluctuation dissipation theorem) thermal noise to an elasticity problem where a normally incident and axisymmetric laser beam with a Gaussian beam profile acts on the face of a semi-infinite mirror. Here we assume the face to be at $$z = 0$$ and the material to extend to $$+\infty$$ in the z-direction as well as for the mirror diameter to be comparatively large to the beam width. The mirror material is characterized by an isotropic homogeneous constitutive relation $$Y^{ijkl}$$ (see Elasticity::ConstitutiveRelations::IsotropicHomogeneous). In this scenario, the auxiliary elastic problem has an applied pressure distribution equal to the laser beam intensity profile $$p(r)$$ (see Eq. (11.94) and Eq. (11.95) in [119] with F = 1 and the time dependency dropped)

\begin{align} T^{zr} &= T^{rz} = 0 \\ T^{zz} &= p(r) = \frac{e^{-\frac{r^2}{r_0^2}}}{\pi r_0^2}\text{.} \end{align}

in the form of a Neumann boundary condition to the face of the mirror. We find that this stress in cylinder coordinates is produced by the displacement field

\begin{align} \xi_{r} &= \frac{1}{2 \mu} \int_0^{\infty} dk J_1(kr)e^{(-kz)}\left(1 - \frac{\lambda + 2\mu}{\lambda + \mu} + kz \right) \tilde{p}(k) \\ \xi_{\phi} &= 0 \\ \xi_{z} &= \frac{1}{2 \mu} \int_0^{\infty} dk J_0(kr)e^{(-kz)}\left(1 + \frac{\mu}{\lambda + \mu} + kz \right) \tilde{p}(k) \end{align}

and the strain

\begin{align} \Theta &= \frac{1}{2 \mu} \int_0^{\infty} dk J_0(kr) k e^{(-kz)}\left(\frac{-2\mu}{\lambda + \mu}\right) \tilde{p}(k) \\ S_{rr} &= \Theta - S_{\phi\phi} - S_{zz} \\ S_{\phi\phi} &= \frac{\xi_{r}}{r} \\ S_{(rz)} &= -\frac{1}{2 \mu} \int_0^{\infty} dk J_1(kr) k e^{(-kz)}\left(kz \right) \tilde{p}(k) \\ S_{zz} &= \frac{1}{2 \mu} \int_0^{\infty} dk J_0(kr) k e^{(-kz)}\left(-\frac{\mu}{\lambda + \mu} - kz \right) \tilde{p}(k) \end{align}

(see Eqs. (11 a) - (11 c) and (13 a) - (13 e), with (13 c) swapped in favor of (12 c) in [85]), where $$\tilde{p}(k)= \frac{1}{2\pi} e^{-(\frac{kr_0}{2})^2}$$ is the Hankel-Transform of the lasers intensity profile and $$\Theta = \mathrm{Tr}(S)$$ the materials expansion.

## ◆ get_clone()

 std::unique_ptr< elliptic::analytic_data::AnalyticSolution > Elasticity::Solutions::HalfSpaceMirror::get_clone ( ) const
inlineoverridevirtual

## ◆ help

 constexpr Options::String Elasticity::Solutions::HalfSpaceMirror::help
staticconstexpr
Initial value:
{
"A semi-infinite mirror on which a laser introduces stress perpendicular "
"to the mirrors surface."}

The documentation for this class was generated from the following file:
• src/PointwiseFunctions/AnalyticSolutions/Elasticity/HalfSpaceMirror.hpp