ESPResSo
Extensible Simulation Package for Research on Soft Matter Systems
Loading...
Searching...
No Matches
FieldCoupling::Fields::PlaneWave< T, codim > Class Template Reference

A plane wave. More...

#include <PlaneWave.hpp>

Public Types

using value_type = typename Utils::decay_to_scalar< Utils::Vector< T, codim > >::type
 
using jacobian_type = detail::jacobian_type< T, codim >
 

Public Member Functions

 PlaneWave (const value_type amplitude, const value_type &k, T omega, T phase)
 
value_typeamplitude ()
 
value_typek ()
 
T & omega ()
 
T & phase ()
 
value_type operator() (const Utils::Vector3d &x, T t=0.) const
 brief Evaluate field.
 
jacobian_type jacobian (const Utils::Vector3d &x, T t=0.) const
 brief Evaluate the Jacobian matrix of the field.
 
bool fits_in_box (const Utils::Vector3d &) const
 

Detailed Description

template<typename T, std::size_t codim>
class FieldCoupling::Fields::PlaneWave< T, codim >

A plane wave.

A time-dependent plane wave, with a certain (vector-valued) amplitude, wave vector frequency and phase.

See https://en.wikipedia.org/wiki/Plane_wave

Definition at line 40 of file PlaneWave.hpp.

Member Typedef Documentation

◆ jacobian_type

template<typename T , std::size_t codim>
using FieldCoupling::Fields::PlaneWave< T, codim >::jacobian_type = detail::jacobian_type<T, codim>

Definition at line 44 of file PlaneWave.hpp.

◆ value_type

template<typename T , std::size_t codim>
using FieldCoupling::Fields::PlaneWave< T, codim >::value_type = typename Utils::decay_to_scalar<Utils::Vector<T, codim> >::type

Definition at line 42 of file PlaneWave.hpp.

Constructor & Destructor Documentation

◆ PlaneWave()

template<typename T , std::size_t codim>
FieldCoupling::Fields::PlaneWave< T, codim >::PlaneWave ( const value_type  amplitude,
const value_type k,
omega,
phase 
)
inline

Definition at line 53 of file PlaneWave.hpp.

Member Function Documentation

◆ amplitude()

template<typename T , std::size_t codim>
value_type & FieldCoupling::Fields::PlaneWave< T, codim >::amplitude ( )
inline

Definition at line 56 of file PlaneWave.hpp.

◆ fits_in_box()

template<typename T , std::size_t codim>
bool FieldCoupling::Fields::PlaneWave< T, codim >::fits_in_box ( const Utils::Vector3d ) const
inline

Definition at line 90 of file PlaneWave.hpp.

◆ jacobian()

template<typename T , std::size_t codim>
jacobian_type FieldCoupling::Fields::PlaneWave< T, codim >::jacobian ( const Utils::Vector3d x,
t = 0. 
) const
inline

brief Evaluate the Jacobian matrix of the field.

See https://en.wikipedia.org/wiki/Jacobian_matrix_and_determinant In the special case of a scalar field, the Jacobian is the gradient of the field.

Parameters
xWhere?
tWhen?
Returns
Jacobian matrix

Definition at line 83 of file PlaneWave.hpp.

References Utils::tensor_product().

◆ k()

template<typename T , std::size_t codim>
value_type & FieldCoupling::Fields::PlaneWave< T, codim >::k ( )
inline

Definition at line 57 of file PlaneWave.hpp.

◆ omega()

template<typename T , std::size_t codim>
T & FieldCoupling::Fields::PlaneWave< T, codim >::omega ( )
inline

Definition at line 58 of file PlaneWave.hpp.

◆ operator()()

template<typename T , std::size_t codim>
value_type FieldCoupling::Fields::PlaneWave< T, codim >::operator() ( const Utils::Vector3d x,
t = 0. 
) const
inline

brief Evaluate field.

Parameters
xWhere?
tWhen?
Returns
Value of the field at point x and time t.

Definition at line 68 of file PlaneWave.hpp.

◆ phase()

template<typename T , std::size_t codim>
T & FieldCoupling::Fields::PlaneWave< T, codim >::phase ( )
inline

Definition at line 59 of file PlaneWave.hpp.


The documentation for this class was generated from the following file: