4#include "marenv/marenv.h"
5#include <marenv/wave/WaveField.h>
10#include <xsimd/xsimd.hpp>
18enum class SpectrumType
44 WaveComponents(std::vector<double> amplitude, std::vector<double> phaseAngle, std::vector<double> frequency, std::vector<double> direction, SpectrumType spectrumType);
83 using alignedvec = std::vector<double, xsimd::aligned_allocator<double, 64>>;
84 WaveComponents(alignedvec amplitude, alignedvec phaseAngle, alignedvec frequency, alignedvec direction, SpectrumType spectrumType);
89 alignedvec waveNumber;
93 alignedvec remainingAccumulatedAmplitude;
98 SpectrumType spectrumType;
Definition WaveComponents.h:33
WaveComponents(std::vector< double > amplitude, std::vector< double > phaseAngle, std::vector< double > frequency, std::vector< double > direction, SpectrumType spectrumType)
std::string GetSpectrumType() const
Spectrum type.
std::shared_ptr< WaveComponents > Blend(WaveComponentData &other, double alpha) const
~WaveComponents()=default
Default destructor.
WaveField::InsecureDatapointers GetInsecureDatapointers() const
Gives access to temporary pointers to internal structures, for performance reasons.
void Sort()
Sorts the wave components.
Represents a wave field.
Definition WaveEnergySpectrum.h:14
Policy mixin: this type is default copyable but not movable.
Definition marenv.h:100
Details of a wave component.
Definition WaveField.h:23
Pointers to wave component details.
Definition WaveField.h:40