void StdNodalTetExp::NodalToModal( const Array<OneD, const NekDouble>& inarray, Array<OneD, NekDouble>& outarray) { StdMatrixKey Nkey(eInvNBasisTrans, DetShapeType(), *this, NullConstFactorMap, NullVarCoeffMap, m_nodalPointsKey.GetPointsType()); DNekMatSharedPtr inv_vdm = GetStdMatrix(Nkey); NekVector<NekDouble> nodal(m_ncoeffs,inarray,eWrapper); NekVector<NekDouble> modal(m_ncoeffs,outarray,eWrapper); modal = (*inv_vdm) * nodal; }
void Exodus::outputNodalVariables() { // Set the output variable to the nodal variables std::vector<std::string> nodal(getNodalVariableOutput().begin(), getNodalVariableOutput().end()); _exodus_io_ptr->set_output_variables(nodal); // Write the data via libMesh::ExodusII_IO _exodus_io_ptr->write_timestep(filename(), *_es_ptr, _exodus_num, time() + _app.getGlobalTimeOffset()); _exodus_num++; // This satisfies the initialization of the ExodusII_IO object _exodus_initialized = true; }
void StdNodalTriExp::ModalToNodal( const Array<OneD, const NekDouble>& inarray, Array<OneD, NekDouble>& outarray) { StdMatrixKey Nkey(eNBasisTrans, DetShapeType(), *this, NullConstFactorMap, NullVarCoeffMap, m_nodalPointsKey.GetPointsType()); DNekMatSharedPtr vdm = GetStdMatrix(Nkey); // Multiply out matrix NekVector<NekDouble> modal(m_ncoeffs,inarray,eWrapper); NekVector<NekDouble> nodal(m_ncoeffs,outarray,eWrapper); nodal = (*vdm)*modal; }