|
SpECTRE
2021.08.02
|
A laser beam with Gaussian profile normally incident to the surface. More...
#include <LaserBeam.hpp>
Public Member Functions | |
| LaserBeam (const LaserBeam &) noexcept=default | |
| LaserBeam & | operator= (const LaserBeam &) noexcept=default |
| LaserBeam (LaserBeam &&) noexcept=default | |
| LaserBeam & | operator= (LaserBeam &&) noexcept=default |
| std::unique_ptr< domain::BoundaryConditions::BoundaryCondition > | get_clone () const noexcept override |
| void | pup (PUP::er &p) noexcept override |
Public Member Functions inherited from elliptic::BoundaryConditions::BoundaryCondition< 3, tmpl::list< Registrars::LaserBeam > > | |
| BoundaryCondition (const BoundaryCondition &)=default | |
| BoundaryCondition (BoundaryCondition &&)=default | |
| BoundaryCondition & | operator= (const BoundaryCondition &)=default |
| BoundaryCondition & | operator= (BoundaryCondition &&)=default |
Public Member Functions inherited from domain::BoundaryConditions::BoundaryCondition | |
| BoundaryCondition (BoundaryCondition &&) noexcept=default | |
| BoundaryCondition & | operator= (BoundaryCondition &&) noexcept=default |
| BoundaryCondition (const BoundaryCondition &)=default | |
| BoundaryCondition & | operator= (const BoundaryCondition &)=default |
| BoundaryCondition (CkMigrateMessage *const msg) noexcept | |
| WRAPPED_PUPable_abstract (BoundaryCondition) | |
Additional Inherited Members | |
Public Types inherited from elliptic::BoundaryConditions::BoundaryCondition< 3, tmpl::list< Registrars::LaserBeam > > | |
| using | registrars = tmpl::list< Registrars::LaserBeam > |
| using | creatable_classes = Registration::registrants< registrars > |
Static Public Attributes inherited from elliptic::BoundaryConditions::BoundaryCondition< 3, tmpl::list< Registrars::LaserBeam > > | |
| static constexpr size_t | volume_dim |
A laser beam with Gaussian profile normally incident to the surface.
This boundary condition represents a laser beam with Gaussian profile that exerts pressure normal to the surface of a reflecting material. The pressure we are considering here is
\begin{align} n_i T^{ij} = -n^j \frac{e^{-\frac{r^2}{r_0^2}}}{\pi r_0^2} \end{align}
where \(n_i\) is the unit normal pointing out of the surface, \(r\) is the coordinate distance from the origin in the plane perpendicular to \(n_i\) and \(r_0\) is the "beam width" parameter. The pressure profile and the angle of incidence can be generalized in future work. Note that we follow the convention of [78] and [77] in defining the beam width, and other publications may include a a factor of \(\sqrt{2}\) in its definition.
This boundary condition is used to simulate thermal noise induced in a mirror by the laser, as detailed for instance in [78] and [77]. See also Elasticity::Solutions::HalfSpaceMirror for an analytic solution that involves this boundary condition.
|
inlineoverridevirtualnoexcept |
Implements domain::BoundaryConditions::BoundaryCondition.