Rheolef  7.2
an efficient C++ finite element environment
 
Loading...
Searching...
No Matches
p_laplacian_newton.cc
Go to the documentation of this file.
1
25#include "rheolef.h"
26using namespace rheolef;
27using namespace std;
28#include "p_laplacian.h"
29int main(int argc, char**argv) {
30 environment rheolef (argc, argv);
31 geo omega (argv[1]);
32 Float eps = std::numeric_limits<Float>::epsilon();
33 string approx = (argc > 2) ? argv[2] : "P1";
34 Float p = (argc > 3) ? atof(argv[3]) : 1.5;
35 Float tol = (argc > 4) ? atof(argv[4]) : 1e5*eps;
36 size_t max_iter = (argc > 5) ? atoi(argv[5]) : 500;
37 derr << "# P-Laplacian problem by Newton:" << endl
38 << "# geo = " << omega.name() << endl
39 << "# approx = " << approx << endl
40 << "# p = " << p << endl
41 << "# tol = " << tol << endl
42 << "# max_iter = " << max_iter << endl;
43 p_laplacian F (p, omega, approx);
44 field uh = F.initial ();
45 int status = newton (F, uh, tol, max_iter, &derr);
46 dout << setprecision(numeric_limits<Float>::digits10)
47 << catchmark("p") << p << endl
48 << catchmark("u") << uh;
49 return status;
50}
see the Float page for the full documentation
see the field page for the full documentation
see the geo page for the full documentation
field initial() const
see the catchmark page for the full documentation
Definition catchmark.h:67
see the environment page for the full documentation
int main()
Definition field2bb.cc:58
This file is part of Rheolef.
int newton(const Problem &P, Field &uh, Float &tol, size_t &max_iter, odiststream *p_derr=0)
see the newton page for the full documentation
Definition newton.h:98
STL namespace.
The p-Laplacian problem by the Newton method – class header.
rheolef - reference manual
Definition sphere.icc:25