SpECTRE
v2025.03.17
|
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 = implementation defined |
Public Member Functions | |
HalfSpaceMirror (const HalfSpaceMirror &)=default | |
HalfSpaceMirror & | operator= (const HalfSpaceMirror &)=default |
HalfSpaceMirror (HalfSpaceMirror &&)=default | |
HalfSpaceMirror & | operator= (HalfSpaceMirror &&)=default |
std::unique_ptr< elliptic::analytic_data::AnalyticSolution > | get_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_type & | constitutive_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 |
NOLINTNEXTLINE(google-runtime-references) | |
virtual std::unique_ptr< AnalyticSolution > | get_clone () const =0 |
Static Public Attributes | |
static constexpr Options::String | help |
The solution for a half-space mirror deformed by a laser beam.
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 beam width
. The mirror material is characterized by an isotropic homogeneous constitutive relation Elasticity::ConstitutiveRelations::IsotropicHomogeneous
). In this scenario, the auxiliary elastic problem has an applied pressure distribution equal to the laser beam intensity profile
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
and the strain
(see Eqs. (11 a) - (11 c) and (13 a) - (13 e), with (13 c) swapped in favor of (12 c) in [134]), where
|
inlineoverridevirtual |
Implements elliptic::analytic_data::AnalyticSolution.
|
staticconstexpr |