SIRIUS 7.5.0
Electronic structure library and applications
Public Member Functions | Protected Attributes | Private Attributes | List of all members
sirius::Field4D Class Reference

Four-component function consisting of scalar and vector parts. More...

#include <field4d.hpp>

Inherited by sirius::Density, and sirius::Potential.

Public Member Functions

 Field4D (Simulation_context &ctx__, lmax_t lmax__, std::array< periodic_function_ptr_t< double > const *, 4 > ptr__={nullptr, nullptr, nullptr, nullptr})
 Constructor. More...
 
auto & scalar ()
 Return scalar part of the field. More...
 
auto const & scalar () const
 Return scalar part of the field. More...
 
auto & vector (int i)
 Return component of the vector part of the field. More...
 
auto const & vector (int i) const
 Return component of the vector part of the field. More...
 
auto & component (int i)
 
auto & component_raise (int i)
 Throws error in case of invalid access. More...
 
auto const & component (int i) const
 
void zero ()
 
void fft_transform (int direction__)
 
auto & ctx ()
 
auto const & ctx () const
 
auto mt_components ()
 
auto pw_components ()
 

Protected Attributes

Simulation_contextctx_
 

Private Attributes

std::array< std::unique_ptr< Periodic_function< double > >, 4 > components_
 Four components of the field: scalar, vector_z, vector_x, vector_y. More...
 

Detailed Description

Four-component function consisting of scalar and vector parts.

This class is used to represents density/magnetisation and potential/magentic filed of the system.

Definition at line 39 of file field4d.hpp.

Constructor & Destructor Documentation

◆ Field4D()

sirius::Field4D::Field4D ( Simulation_context ctx__,
lmax_t  lmax__,
std::array< periodic_function_ptr_t< double > const *, 4 >  ptr__ = {nullptr, nullptr, nullptr, nullptr} 
)
inline

Constructor.

Definition at line 50 of file field4d.hpp.

Member Function Documentation

◆ scalar() [1/2]

auto & sirius::Field4D::scalar ( )
inline

Return scalar part of the field.

Definition at line 74 of file field4d.hpp.

◆ scalar() [2/2]

auto const & sirius::Field4D::scalar ( ) const
inline

Return scalar part of the field.

Definition at line 80 of file field4d.hpp.

◆ vector() [1/2]

auto & sirius::Field4D::vector ( int  i)
inline

Return component of the vector part of the field.

Definition at line 86 of file field4d.hpp.

◆ vector() [2/2]

auto const & sirius::Field4D::vector ( int  i) const
inline

Return component of the vector part of the field.

Definition at line 93 of file field4d.hpp.

◆ component() [1/2]

auto & sirius::Field4D::component ( int  i)
inline

Definition at line 99 of file field4d.hpp.

◆ component_raise()

auto & sirius::Field4D::component_raise ( int  i)
inline

Throws error in case of invalid access.

Definition at line 106 of file field4d.hpp.

◆ component() [2/2]

auto const & sirius::Field4D::component ( int  i) const
inline

Definition at line 114 of file field4d.hpp.

◆ zero()

void sirius::Field4D::zero ( )
inline

Definition at line 120 of file field4d.hpp.

◆ fft_transform()

void sirius::Field4D::fft_transform ( int  direction__)
inline

Definition at line 127 of file field4d.hpp.

◆ ctx() [1/2]

auto & sirius::Field4D::ctx ( )
inline

Definition at line 134 of file field4d.hpp.

◆ ctx() [2/2]

auto const & sirius::Field4D::ctx ( ) const
inline

Definition at line 139 of file field4d.hpp.

◆ mt_components()

auto sirius::Field4D::mt_components ( )
inline

Definition at line 144 of file field4d.hpp.

◆ pw_components()

auto sirius::Field4D::pw_components ( )
inline

Definition at line 167 of file field4d.hpp.

Member Data Documentation

◆ components_

std::array<std::unique_ptr<Periodic_function<double> >, 4> sirius::Field4D::components_
private

Four components of the field: scalar, vector_z, vector_x, vector_y.

Definition at line 43 of file field4d.hpp.

◆ ctx_

Simulation_context& sirius::Field4D::ctx_
protected

Definition at line 46 of file field4d.hpp.


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