#include "grins_config.h"
#include <iostream>
#include "grins/mesh_builder.h"
#include "grins/simulation.h"
#include "grins/simulation_builder.h"
#include "grins/multiphysics_sys.h"
#include "libmesh/exact_solution.h"
Go to the source code of this file.
|
libMesh::Number | exact_solution (const libMesh::Point &p, const libMesh::Parameters ¶ms, const std::string &sys, const std::string &var) |
|
libMesh::Gradient | exact_derivative (const libMesh::Point &p, const libMesh::Parameters ¶ms, const std::string &sys, const std::string &var) |
|
int | main (int argc, char *argv[]) |
|
libMesh::Gradient exact_derivative |
( |
const libMesh::Point & |
p, |
|
|
const libMesh::Parameters & |
params, |
|
|
const std::string & |
sys, |
|
|
const std::string & |
var |
|
) |
| |
Definition at line 150 of file test_ns_couette_flow_2d_y.C.
Referenced by main().
157 if( sys !=
"GRINS" || var !=
"v" )
158 std::cout <<
"sys = " << sys <<
", var = " << var << std::endl;
libMesh::Number exact_solution |
( |
const libMesh::Point & |
p, |
|
|
const libMesh::Parameters & |
params, |
|
|
const std::string & |
sys, |
|
|
const std::string & |
var |
|
) |
| |
Definition at line 133 of file test_ns_couette_flow_2d_y.C.
Referenced by main().
138 const double x = p(0);
140 if( sys !=
"GRINS" || var !=
"v" )
141 std::cout <<
"sys = " << sys <<
", var = " << var << std::endl;
144 libMesh::Number f = 10.0*x;
int main |
( |
int |
argc, |
|
|
char * |
argv[] |
|
) |
| |
Definition at line 56 of file test_ns_couette_flow_2d_y.C.
References exact_derivative(), exact_solution(), and GRINS::Simulation::run().
59 #ifdef GRINS_USE_GRVY_TIMERS
60 GRVY::GRVY_Timer_Class grvy_timer;
61 grvy_timer.Init(
"GRINS Timer");
68 std::cerr <<
"Error: Must specify libMesh input file." << std::endl;
73 std::string libMesh_input_filename = argv[1];
76 GetPot libMesh_inputfile( libMesh_input_filename );
78 #ifdef GRINS_USE_GRVY_TIMERS
79 grvy_timer.BeginTimer(
"Initialize Solver");
83 libMesh::LibMeshInit libmesh_init(argc, argv);
89 libmesh_init.comm() );
91 #ifdef GRINS_USE_GRVY_TIMERS
92 grvy_timer.EndTimer(
"Initialize Solver");
95 grins.attach_grvy_timer( &grvy_timer );
100 #ifdef GRINS_USE_GRVY_TIMERS
101 grvy_timer.Finalize();
104 std::tr1::shared_ptr<libMesh::EquationSystems> es = grins.get_equation_system();
107 libMesh::ExactSolution exact_sol(*es);
113 exact_sol.compute_error(
"GRINS",
"v");
115 double l2error = exact_sol.l2_error(
"GRINS",
"v");
116 double h1error = exact_sol.h1_error(
"GRINS",
"v");
120 if( l2error > 4.0e-9 || h1error > 4.0e-9 )
124 std::cout <<
"Tolerance exceeded for Couette flow test." << std::endl
125 <<
"l2 error = " << l2error << std::endl
126 <<
"h1 error = " << h1error << std::endl;
libMesh::Number exact_solution(const libMesh::Point &p, const libMesh::Parameters ¶ms, const std::string &sys, const std::string &var)
libMesh::Gradient exact_derivative(const libMesh::Point &p, const libMesh::Parameters ¶ms, const std::string &sys, const std::string &var)