/** \fn solveTimeStep
* \brief calcule les valeurs inconnues au pas de temps +1 .
- * \details c'est une fonction virtuelle ,
+ * \details c'est une fonction virtuelle
* @param void
* \return Renvoie false en cas de problème durant le calcul (valeurs non physiques..)
* */
_path=resultsPath;
}
+ /** \fn getTimeScheme
+ * \brief returns the time scheme name
+ * \param [in] void
+ * \param [out] enum TimeScheme (explicit or implicit)
+ * */
+ TimeScheme getTimeScheme();
+
+ /** \fn setNumericalScheme
+ * \brief sets the numerical method ( explicit vs implicit )
+ * \details
+ * \param [in] TimeScheme
+ * \param [out] void
+ * */
+ void setTimeScheme( TimeScheme method);
+
//Couplages Thermohydraulique-thermique-neutronique *-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*-*
/** \fn setHeatPowerField
_system = system;
};
- //Spectrum analysis
+ //Spectral analysis
double getConditionNumber(bool isSingular=false, double tol=1e-6) const;
std::vector< double > getEigenvalues (int nev, EPSWhich which=EPS_SMALLEST_MAGNITUDE, double tol=1e-6) const;
std::vector< Vector > getEigenvectors(int nev, EPSWhich which=EPS_SMALLEST_MAGNITUDE, double tol=1e-6) const;
Field getEigenvectorsField(int nev, EPSWhich which=EPS_SMALLEST_MAGNITUDE, double tol=1e-6) const;
+ std::vector< double > getSingularValues( int nsv, SVDWhich which=SVD_SMALLEST, double tol=1e-6) const;
+ std::vector< Vector > getSingularVectors(int nsv, SVDWhich which=SVD_SMALLEST, double tol=1e-6) const;
// some supplementary functions
* @param name, string, name or description of the matrix
* @return displays the matrix on the terminal
* */
- void displayMatrix(double *matrix, int size, string name);
+ static void displayMatrix(double *matrix, int size, string name="Vector coefficients :");
/** \fn displayMatrix
* \brief displays a vector of size "size" for profiling
* @param name, string, name or description of the vector
* @return displays the vector on the terminal
* */
- void displayVector(double *vector, int size, string name);
-
- /** \fn getTimeScheme
- * \brief returns the time scheme name
- * \param [in] void
- * \param [out] enum TimeScheme (explicit or implicit)
- * */
- TimeScheme getTimeScheme();
-
- /** \fn setNumericalScheme
- * \brief sets the numerical method ( explicit vs implicit )
- * \details
- * \param [in] TimeScheme
- * \param [out] void
- * */
- void setTimeScheme( TimeScheme method);
-
+ static void displayVector(double *vector, int size, string name="Matrix coefficients :");
protected :
return my_eigenfield;
}
+std::vector< double >
+ProblemCoreFlows::getSingularValues( int nsv, SVDWhich which, double tol) const
+{
+ SparseMatrixPetsc A = SparseMatrixPetsc(_A);
+ return A.getSingularValues( nsv, which, tol);
+}
+std::vector< Vector >
+ProblemCoreFlows::getSingularVectors(int nsv, SVDWhich which, double tol) const
+{
+ SparseMatrixPetsc A = SparseMatrixPetsc(_A);
+ return A.getSingularVectors( nsv, which, tol);
+}
+
Field
ProblemCoreFlows::getUnknownField() const
{