SpECTRE
v2025.03.17
|
A laser beam with Gaussian profile normally incident to the surface. More...
#include <LaserBeam.hpp>
Classes | |
struct | BeamWidth |
Public Member Functions | |
LaserBeam (const LaserBeam &)=default | |
LaserBeam & | operator= (const LaserBeam &)=default |
LaserBeam (LaserBeam &&)=default | |
LaserBeam & | operator= (LaserBeam &&)=default |
std::unique_ptr< domain::BoundaryConditions::BoundaryCondition > | get_clone () const override |
LaserBeam (double beam_width) | |
double | beam_width () const |
std::vector< elliptic::BoundaryConditionType > | boundary_condition_types () const override |
void | apply (gsl::not_null< tnsr::I< DataVector, 3 > * > displacement, gsl::not_null< tnsr::I< DataVector, 3 > * > n_dot_minus_stress, const tnsr::iJ< DataVector, 3 > &deriv_displacement, const tnsr::I< DataVector, 3 > &x, const tnsr::i< DataVector, 3 > &face_normal) const |
void | pup (PUP::er &p) override |
![]() | |
BoundaryCondition (const BoundaryCondition &)=default | |
BoundaryCondition (BoundaryCondition &&)=default | |
BoundaryCondition & | operator= (const BoundaryCondition &)=default |
BoundaryCondition & | operator= (BoundaryCondition &&)=default |
virtual std::vector< elliptic::BoundaryConditionType > | boundary_condition_types () const=0 |
![]() | |
BoundaryCondition (BoundaryCondition &&)=default | |
BoundaryCondition & | operator= (BoundaryCondition &&)=default |
BoundaryCondition (const BoundaryCondition &)=default | |
BoundaryCondition & | operator= (const BoundaryCondition &)=default |
BoundaryCondition (CkMigrateMessage *const msg) | |
WRAPPED_PUPable_abstract (BoundaryCondition) | |
virtual auto | get_clone () const -> std::unique_ptr< BoundaryCondition >=0 |
Static Public Member Functions | |
static void | apply_linearized (gsl::not_null< tnsr::I< DataVector, 3 > * > displacement, gsl::not_null< tnsr::I< DataVector, 3 > * > n_dot_minus_stress, const tnsr::iJ< DataVector, 3 > &deriv_displacement) |
Static Public Attributes | |
static constexpr Options::String | help |
![]() | |
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
where
This boundary condition is used to simulate thermal noise induced in a mirror by the laser, as detailed for instance in [134], [132], and [202]. See also Elasticity::Solutions::HalfSpaceMirror
for an analytic solution that involves this boundary condition.
|
inlineoverridevirtual |
|
inlineoverridevirtual |
Implements domain::BoundaryConditions::BoundaryCondition.
|
staticconstexpr |