Пример #1
0
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;
}
Пример #2
0
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;
}
Пример #3
0
        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;
        }