17 fprintf(stderr,
"Usage: ./CflStep file.xml \n");
18 fprintf(stderr,
"\t Method will read intiial conditions section of .xml file for input \n");
30 session = LibUtilities::SessionReader::CreateInstance(argc, argv);
33 graph = SpatialDomains::MeshGraph::Read(session);
36 session->LoadSolverInfo(
"Driver", vDriverModule,
"Standard");
48 int nfields = fields.num_elements();
49 int nexp = fields[0]->GetExpSize();
53 cout <<
"Max CFL: "<< cfl[elmtid] <<
" In element " << elmtid << endl;
56 for(n = 0; n < nfields; ++n)
58 if(session->GetVariable(n) ==
"p")
64 ASSERTL0(n != nfields,
"Could not find field named p in m_fields");
69 for(i = 0; i < fields[n]->GetExpSize(); ++i)
71 nquad = fields[n]->GetExp(i)->GetTotPoints();
76 fields[n]->FwdTrans_IterPerExp(fields[n]->GetPhys(),fields[n]->UpdateCoeffs());
79 session->SetVariable(n,
"CFL");
82 std::string outname = IncNav->GetSessionName();
84 outname +=
"_CFLStep";
85 IncNav->ResetSessionName(outname);
89 catch (
const std::runtime_error&)
93 catch (
const std::string& eStr)
95 cout <<
"Error: " << eStr << endl;
#define ASSERTL0(condition, msg)
std::shared_ptr< MeshGraph > MeshGraphSharedPtr
std::shared_ptr< IncNavierStokes > IncNavierStokesSharedPtr
void Fill(int n, const T alpha, T *x, const int incx)
Fill a vector with a constant value.
std::shared_ptr< Driver > DriverSharedPtr
A shared pointer to a Driver object.
int Imax(int n, const T *x, const int incx)
Return the index of the maximum element in x.
tBaseSharedPtr CreateInstance(tKey idKey, tParam... args)
Create an instance of the class referred to by idKey.
This class is the base class for Navier Stokes problems.
DriverFactory & GetDriverFactory()
SOLVER_UTILS_EXPORT void SetInitialConditions(NekDouble initialtime=0.0, bool dumpInitialConditions=true, const int domain=0)
Initialise the data in the dependent fields.
std::shared_ptr< SessionReader > SessionReaderSharedPtr
std::shared_ptr< EquationSystem > EquationSystemSharedPtr
A shared pointer to an EquationSystem object.