MCPcopy Create free account
hub / github.com/SeisSol/SeisSol / init

Method init

src/Physics/InitialField.cpp:72–88  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

70}
71
72void seissol::physics::Planarwave::init(const CellMaterialData& materialData) {
73 assert(m_varField.size() == m_ampField.size());
74
75 std::array<std::complex<double>,
76 seissol::model::MaterialT::NumQuantities * seissol::model::MaterialT::NumQuantities>
77 planeWaveOperator{};
78 seissol::model::getPlaneWaveOperator(materialData.local, m_kVec.data(), planeWaveOperator.data());
79 seissol::eigenvalues::Eigenpair<std::complex<double>, seissol::model::MaterialT::NumQuantities>
80 eigendecomposition;
81#ifdef USE_POROELASTIC
82 computeEigenvaluesWithLapack(planeWaveOperator, eigendecomposition);
83#else
84 computeEigenvaluesWithEigen3(planeWaveOperator, eigendecomposition);
85#endif
86 m_lambdaA = eigendecomposition.values;
87 m_eigenvectors = eigendecomposition.vectors;
88}
89
90void seissol::physics::Planarwave::evaluate(
91 double time,

Callers

nothing calls this directly

Calls 5

getPlaneWaveOperatorFunction · 0.85
sizeMethod · 0.45
dataMethod · 0.45

Tested by

no test coverage detected