<html>
<head>
<style>
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Verdana
}
</style>
</head>
<body class='hmmessage'>
<font style="font-size: 12pt;" size="3"><font style="" face="Courier New">Ok Matt you're right. The SNES Solve is definitely at fault.<br>But still there's something i dont understand in the log summary i get. Take for example the one for the unsteady heat equation right after:<br><br></font></font>Event&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Count&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Time (sec)&nbsp;&nbsp;&nbsp;&nbsp; Flops/sec&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --- Global ---&nbsp; --- Stage ---&nbsp;&nbsp; Total<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Max Ratio&nbsp; Max&nbsp;&nbsp;&nbsp;&nbsp; Ratio&nbsp;&nbsp; Max&nbsp; Ratio&nbsp; Mess&nbsp;&nbsp; Avg len Reduct&nbsp; %T %F %M %L %R&nbsp; %T %F %M %L %R Mflop/s<br>------------------------------------------------------------------------------------------------------------------------<br><br>--- Event Stage 0: Main Stage<br><br><font style="" color="#ff0000">VecMDot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 22 1.0 5.0474e-04 1.0 5.48e+08 1.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 6&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 6&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 548</font><font style="" color="#ff0000"><br></font><font style="" color="#ff0000">VecNorm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 62 1.0 8.8694e-03 1.0 4.72e+07 1.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 9&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 9&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp;&nbsp; 47</font><font style="" color="#ff0000"><br></font><font style="" color="#ff0000">VecScale&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 32 1.0 3.8212e-04 1.0 2.83e+08 1.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 2&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 2&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 283</font><font style="" color="#ff0000"><br></font><font style="" color="#ff0000">VecCopy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 81 1.0 1.1948e-03 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0</font><font style="" color="#ff0000"><br></font><font style="" color="#ff0000">VecSet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 88 1.0 8.4816e-04 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0</font><font style="" color="#ff0000"><br></font><font style="" color="#ff0000">VecAXPY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10 1.0 1.8910e-04 1.0 3.57e+08 1.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 1&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 1&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 357</font><font style="" color="#ff0000"><br></font><font style="" color="#ff0000">VecWAXPY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10 1.0 2.6472e-04 1.0 1.27e+08 1.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 1&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 1&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 127</font><font style="" color="#ff0000"><br></font><font style="" color="#ff0000">VecMAXPY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 32 1.0 1.0271e-03 1.0 4.14e+08 1.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 9&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 9&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 414</font><font style="" color="#ff0000"><br></font><font style="" color="#ff0000">VecAssemblyBegin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 40 1.0 8.7160e-05 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0</font><font style="" color="#ff0000"><br></font><font style="" color="#ff0000">VecAssemblyEnd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 40 1.0 7.5617e-05 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0</font><font style="" color="#ff0000"><br></font><font style="" color="#ff0000">VecScatterBegin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 39 1.0 1.5163e-03 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0</font><font style="" color="#ff0000"><br></font><font style="" color="#ff0000">VecNormalize&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 32 1.0 3.8553e-03 1.0 6.65e+07 1.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 5&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 5&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp;&nbsp; 67</font><br><font style="" color="#00b050">MatMult&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 22 1.0 1.5831e-02 1.0 2.16e+08 1.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0 72&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0 72&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 216</font><font style="" color="#00b050"><br></font><font style="" color="#00b050">MatAssemblyBegin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 30 1.0 6.5176e-05 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0</font><font style="" color="#00b050"><br></font><font style="" color="#00b050">MatAssemblyEnd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 30 1.0 1.2829e-02 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0</font><font style="" color="#00b050"><br></font><font style="" color="#00b050">MatZeroEntries&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 9 1.0 1.8313e-03 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0</font><br><font style="" color="#17365d">SNESSolve&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10 1.0 1.7674e+01 1.0 2.69e+05 1.0 0.0e+00 0.0e+00 3.0e+01 93100&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 94100&nbsp; 0&nbsp; 0 75&nbsp;&nbsp;&nbsp;&nbsp; 0</font><font style="" color="#17365d"><br></font><font style="" color="#17365d">SNESLineSearch&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10 1.0 3.7443e+00 1.0 4.51e+04 1.0 0.0e+00 0.0e+00 1.0e+01 20&nbsp; 4&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 20&nbsp; 4&nbsp; 0&nbsp; 0 25&nbsp;&nbsp;&nbsp;&nbsp; 0</font><font style="" color="#17365d"><br></font><font style="" color="#17365d">SNESFunctionEval&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 20 1.0 7.2693e+00 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 2.0e+01 38&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 39&nbsp; 0&nbsp; 0&nbsp; 0 50&nbsp;&nbsp;&nbsp;&nbsp; 0</font><font style="" color="#17365d"><br></font><font style="" color="#17365d">SNESJacobianEval&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10 1.0 1.0367e+01 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 1.0e+01 55&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 55&nbsp; 0&nbsp; 0&nbsp; 0 25&nbsp;&nbsp;&nbsp;&nbsp; 0</font><br><font style="" color="#974806">KSPGMRESOrthog&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 22 1.0 1.4277e-03 1.0 3.88e+08 1.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0 12&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0 12&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 388</font><font style="" color="#974806"><br></font><font style="" color="#974806">KSPSetup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10 1.0 1.3128e-03 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0</font><font style="" color="#974806"><br></font><font style="" color="#974806">KSPSolve&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10 1.0 2.8431e-02 1.0 1.57e+08 1.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0 94&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0 94&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 157</font><font style="" color="#974806"><br></font><font style="" color="#974806">PCSetUp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 10 1.0 2.5831e-05 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0</font><font style="" color="#974806"><br></font><font style="" color="#974806">PCApply&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 32 1.0 5.7973e-04 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0</font><br>------------------------------------------------------------------------------------------------------------------------<br><br>Memory usage is given in bytes:<br><br>Object Type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Creations&nbsp;&nbsp; Destructions&nbsp;&nbsp; Memory&nbsp; Descendants' Mem.<br><br>--- Event Stage 0: Main Stage<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Index Set&nbsp;&nbsp;&nbsp; 40&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 40&nbsp;&nbsp;&nbsp;&nbsp; 548800&nbsp;&nbsp;&nbsp;&nbsp; 0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Vec&nbsp;&nbsp; 167&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 153&nbsp;&nbsp;&nbsp; 4198932&nbsp;&nbsp;&nbsp;&nbsp; 0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Vec Scatter&nbsp;&nbsp;&nbsp; 40&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 40&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Matrix&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SNES&nbsp;&nbsp;&nbsp; 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1116&nbsp;&nbsp;&nbsp;&nbsp; 0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Krylov Solver&nbsp;&nbsp;&nbsp; 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 9&nbsp;&nbsp;&nbsp;&nbsp; 151920&nbsp;&nbsp;&nbsp;&nbsp; 0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Preconditioner&nbsp;&nbsp;&nbsp; 10&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 9&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Viewer&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0<br>========================================================================================================================<br><br><font style="font-size: 12pt;" size="3"><font style="" face="Courier New">Now it says SNESSolve takes 93% of the main stage, right? <br>In that case what does is mean the 20% for SNESLinesearch, 38% for SNESFunctionEval and 55% for SNESJacobianEval? It cant be percentages of the main stage or of the SNESSolve. Do you have an idea?<br><br>Actually to answer your question, what is long is the first Newton iteration in the first time step and a debugging in DDD shows it too. So with the log summary i get, its obviously due to SNESSolve with Residual and Jacobian evaluations.<br>Here is a part of my Jacobian and Residual computation routine in LibMesh for the basic Laplacian (</font></font><font style="font-size: 12pt;" face="Courier New" size="3">- \Delta u = f </font><font style="font-size: 12pt;" size="3"><font style="" face="Courier New">). Its called 'compute_jacobian' and 'compute_residual' respectively. Could you please look at it quickly and tell me if you see at first look something strange?<br><br><br><b><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp; void compute_jacobian (const NumericVector&lt;Number&gt;&amp; soln,</font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SparseMatrix&lt;Number&gt;&amp;&nbsp; jacobian)</font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp; {</font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp;&nbsp;&nbsp; EquationSystems &amp;es = *_equation_system;</font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp; </font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp;&nbsp;&nbsp; const MeshBase&amp; mesh = es.get_mesh();</font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp; </font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp;&nbsp;&nbsp; NonlinearImplicitSystem&amp; system = </font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; es.get_system&lt;NonlinearImplicitSystem&gt;("dc");</font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp;&nbsp;&nbsp; const DofMap&amp; dof_map = system.get_dof_map();</font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp; </font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#ff0000" size="2">&nbsp;&nbsp;&nbsp; // Define the finite volume </font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp;&nbsp;&nbsp; FV fv;</font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp;&nbsp;&nbsp;&nbsp; </font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp;&nbsp;&nbsp; MeshBase::const_element_iterator&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; el&nbsp;&nbsp;&nbsp;&nbsp; = mesh.active_local_elements_begin();</font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp;&nbsp;&nbsp; const MeshBase::const_element_iterator end_el = mesh.active_local_elements_end();<br><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><font style="" color="#ff0000">&nbsp;&nbsp;&nbsp; // The loop on every simplex</font><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp;&nbsp;&nbsp; for ( ; el != end_el; ++el)</font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp;&nbsp;&nbsp; {</font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp;&nbsp;&nbsp;&nbsp; const Elem* elem = *el;</font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp; </font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp;&nbsp;&nbsp;&nbsp; dof_map.dof_indices (elem, dof_indices);</font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp; </font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp;&nbsp;&nbsp;&nbsp; fv.reinit(elem);</font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp;&nbsp;&nbsp;&nbsp; n_dofs = dof_indices.size(); <font style="" color="#ff0000">// = 4 for a hex</font></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp; </font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp;&nbsp;&nbsp;&nbsp; Ke.resize (n_dofs, n_dofs);</font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br>&nbsp;&nbsp;&nbsp;&nbsp; <font style="" color="#ff0000">// Assemble the elementary matrix for the Laplacian problem (size 4*4)</font> &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp;&nbsp;&nbsp;&nbsp; Ke=fv.elmmat(perm);</font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp;&nbsp;&nbsp;&nbsp; dof_map.constrain_element_matrix (Ke, dof_indices);<br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp;&nbsp;&nbsp; </font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp;&nbsp;&nbsp;&nbsp; <font style="" color="#ff0000">// Adds the small matrix Ke to the Jacobian</font><br>&nbsp;&nbsp;&nbsp;&nbsp; jacobian.add_matrix (Ke, dof_indices);</font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp;&nbsp;&nbsp; }</font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2">&nbsp; }<br><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp; void compute_residual (const NumericVector&lt;Number&gt;&amp; soln,</font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; NumericVector&lt;Number&gt;&amp; residual)</font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp; {</font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;&nbsp;&nbsp; EquationSystems &amp;es = *_equation_system;</font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp; </font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;&nbsp;&nbsp; const MeshBase&amp; mesh = es.get_mesh();</font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp; </font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;&nbsp;&nbsp; NonlinearImplicitSystem&amp; system = </font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; es.get_system&lt;NonlinearImplicitSystem&gt;("dc");</font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;&nbsp;&nbsp; </font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;&nbsp;&nbsp; const DofMap&amp; dof_map = system.get_dof_map();</font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;&nbsp;&nbsp; </font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;&nbsp;&nbsp; <font style="" color="#ff0000">// Define the finite volume </font></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;&nbsp;&nbsp; FV fv;</font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;&nbsp;&nbsp; residual.zero();</font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp; </font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;&nbsp;&nbsp; MeshBase::const_element_iterator&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; el&nbsp;&nbsp;&nbsp;&nbsp; = mesh.active_local_elements_begin();</font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;&nbsp;&nbsp; const MeshBase::const_element_iterator end_el = mesh.active_local_elements_end();<br><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp; </font></b></font></font><font style="font-size: 12pt;" size="3"><font style="" face="Courier New"><b><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><font style="" color="#ff0000"> // The loop on every simplex</font></font></b></font></font><font style="font-size: 12pt;" size="3"><font style="" face="Courier New"><b><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;&nbsp; for ( ; el != end_el; ++el)</font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;&nbsp; {</font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; const Elem* elem = *el;</font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp; &nbsp; &nbsp; dof_map.dof_indices (elem, dof_indices);</font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp; </font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp; &nbsp; &nbsp; fv.reinit(elem);</font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp; &nbsp; &nbsp; n_dofs = dof_indices.size(); </font></b></font></font><font style="font-size: 12pt;" size="3"><font style="" face="Courier New"><b><font style="font-size: 10pt;" face="Garamond" color="#002060" size="2"><font style="" color="#ff0000">// = 4 for a hex</font></font></b></font></font><font style="font-size: 12pt;" size="3"><font style="" face="Courier New"><b><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp; &nbsp; &nbsp; Se.resize (n_dofs);</font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;<br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;&nbsp; &nbsp;<font style="" color="#ff0000">&nbsp; // Compute the solution from the previous Newton iterate</font></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; for (unsigned int l=0; l&lt;n_dofs; l++)</font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;&nbsp;&nbsp; &nbsp; &nbsp; Se(l) = soln(dof_indices[l]);</font><br><br><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;&nbsp;&nbsp;&nbsp; Re.resize (n_dofs);</font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;&nbsp;&nbsp;&nbsp; elmMat=fv.elmmat(perm);</font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;&nbsp;&nbsp; for (unsigned int i=0; i&lt;n_dofs; i++)</font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;&nbsp;&nbsp; {</font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vol=fv.elmvolume(i); </font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; xyz=elem-&gt;point(i);</font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp; &nbsp;&nbsp;&nbsp; Re(i) = vol*(xyz(0)-0.5) ; </font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;&nbsp;&nbsp; &nbsp; for (unsigned int j=0; j&lt;n_dofs; j++)</font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp; </font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Re(i) += elmMat(i,j)*Se(j) ;</font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;&nbsp;&nbsp; }&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;&nbsp;&nbsp; dof_map.constrain_element_vector (Re, dof_indices);</font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;&nbsp;&nbsp; residual.add_vector (Re, dof_indices);</font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp;&nbsp; }</font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2">&nbsp; }</font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font><font style="font-size: 10pt;" face="Garamond" color="#1f497d" size="2"><br></font></b><br>and thats it!<br><br>What amazes me is that i always get the right solution after resolution.<br><br>Thanks a lot.<br><br>Stephane<br></font></font><br><br><br><br><br><br><hr id="stopSpelling">Date: Tue, 3 Mar 2009 08:15:15 -0600<br>Subject: Re: petsc-users Digest, Vol 2, Issue 33<br>From: knepley@gmail.com<br>To: petsc-users@mcs.anl.gov<br>CC: tchouanm@msn.com<br><br>On Tue, Mar 3, 2009 at 7:54 AM, STEPHANE TCHOUANMO <span dir="ltr">&lt;<a href="mailto:tchouanm@msn.com">tchouanm@msn.com</a>&gt;</span> wrote:<br><div class="EC_gmail_quote"><blockquote class="EC_gmail_quote" style="padding-left: 1ex;">




<div>
<font style="font-size: 12pt;" face="Courier New" size="3">Hi all,</font><font style="font-size: 12pt;" face="Courier New" size="3"><br><br></font><font style="font-size: 12pt;" face="Courier New" size="3">thank you Barry for the indication you gave me.</font><font style="font-size: 12pt;" face="Courier New" size="3"><br>
<br></font><font style="font-size: 12pt;" face="Courier New" size="3">As a matter of fact, i verified my jacobian and function evaluation again and again but i really dont see anything wrong in it. </font><font style="font-size: 12pt;" face="Courier New" size="3"><br>
</font><font style="font-size: 12pt;" face="Courier New" size="3">So i came back to the basic Laplacian problem (- \Delta u = f ) in the unit cube discretized in regular hexes. The numerical scheme i use is a vertex-centred finite volume scheme.</font><font style="font-size: 12pt;" face="Courier New" size="3"><br>
</font><font style="font-size: 12pt;" face="Courier New" size="3">The solution i get is correct compared to the exact solution (of second order) and i know my jacobian and residual evalutions are correct. But here is the log out i get.</font><font style="font-size: 12pt;" face="Comic Sans MS" size="3"><br>
<br></font><br>Event&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Count&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Time (sec)&nbsp;&nbsp;&nbsp;&nbsp; Flops/sec&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; --- Global ---&nbsp; --- Stage ---&nbsp;&nbsp; Total<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Max Ratio&nbsp; Max&nbsp;&nbsp;&nbsp;&nbsp; Ratio&nbsp;&nbsp; Max&nbsp; Ratio&nbsp; Mess&nbsp;&nbsp; Avg len Reduct&nbsp; %T %F %M %L %R&nbsp; %T %F %M %L %R Mflop/s<br>
------------------------------------------------------------------------------------------------------------------------<br><br>--- Event Stage 0: Main Stage<br><br><font color="#ff0000">VecMDot&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 71 1.0 2.9587e-02 1.0 6.23e+08 1.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0 25&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0 25&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 623</font><font color="#ff0000"><br>
</font><font color="#ff0000">VecNorm&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 77 1.0 3.3638e-02 1.0 4.24e+07 1.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 2&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 2&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp;&nbsp; 42</font><font color="#ff0000"><br></font><font color="#ff0000">VecScale&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 74 1.0 2.1052e-03 1.0 3.26e+08 1.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 1&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 1&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 326</font><font color="#ff0000"><br>
</font><font color="#ff0000">VecCopy&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 80 1.0 3.4863e-03 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0</font><font color="#ff0000"><br></font><font color="#ff0000">VecSet&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 9 1.0 2.0776e-04 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0</font><font color="#ff0000"><br>
</font><font color="#ff0000">VecAXPY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 5 1.0 2.3208e-04 1.0 3.99e+08 1.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 399</font><font color="#ff0000"><br></font><font color="#ff0000">VecWAXPY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 1.0 6.6995e-05 1.0 1.38e+08 1.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 138</font><font color="#ff0000"><br>
</font><font color="#ff0000">VecMAXPY&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 74 1.0 3.8138e-02 1.0 5.18e+08 1.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0 27&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0 27&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 518</font><font color="#ff0000"><br></font><font color="#ff0000">VecAssemblyBegin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4 1.0 9.8636e-06 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0</font><font color="#ff0000"><br>
</font><font color="#ff0000">VecAssemblyEnd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 4 1.0 6.9494e-06 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0</font><font color="#ff0000"><br></font><font color="#ff0000">VecScatterBegin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3 1.0 3.0706e-04 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0</font><font color="#ff0000"><br>
</font><font color="#ff0000">VecNormalize&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 74 1.0 3.4648e-02 1.0 5.88e+07 1.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 3&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 3&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp;&nbsp; 59</font><br><font color="#00b050">MatMult&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 73 1.0 1.4618e-01 1.0 2.22e+08 1.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0 45&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0 45&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 222</font><font color="#00b050"><br>
</font><font color="#00b050">MatAssemblyBegin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2 1.0 6.9899e-06 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0</font><font color="#00b050"><br></font><font color="#00b050">MatAssemblyEnd&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2 1.0 6.1999e-03 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0</font><br>
<font color="#17365d">SNESSolve&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 1.0 6.7333e+01 1.0 1.08e+06 1.0 0.0e+00 0.0e+00 3.0e+00 99100&nbsp; 0&nbsp; 0100&nbsp; 99100&nbsp; 0&nbsp; 0100&nbsp;&nbsp;&nbsp;&nbsp; 1</font><font color="#17365d"><br></font><font color="#17365d">SNESLineSearch&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 1.0 5.1989e-01 1.0 8.91e+04 1.0 0.0e+00 0.0e+00 1.0e+00&nbsp; 1&nbsp; 0&nbsp; 0&nbsp; 0 33&nbsp;&nbsp; 1&nbsp; 0&nbsp; 0&nbsp; 0 33&nbsp;&nbsp;&nbsp;&nbsp; 0</font><font color="#17365d"><br>
</font><font color="#17365d">SNESFunctionEval&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2 1.0 1.0441e+00 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 2.0e+00&nbsp; 2&nbsp; 0&nbsp; 0&nbsp; 0 67&nbsp;&nbsp; 2&nbsp; 0&nbsp; 0&nbsp; 0 67&nbsp;&nbsp;&nbsp;&nbsp; 0</font><font color="#17365d"><br></font><font color="#17365d">SNESJacobianEval&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 1.0 6.6026e+01 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 1.0e+00 97&nbsp; 0&nbsp; 0&nbsp; 0 33&nbsp; 97&nbsp; 0&nbsp; 0&nbsp; 0 33&nbsp;&nbsp;&nbsp;&nbsp; 0</font><br>
<font color="#974806">KSPGMRESOrthog&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 71 1.0 6.5884e-02 1.0 5.60e+08 1.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0 51&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0 51&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 560</font><font color="#974806"><br></font><font color="#974806">KSPSetup&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 1.0 2.2203e-04 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0</font><font color="#974806"><br>
</font><font color="#974806">KSPSolve&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 1.0 2.6036e-01 1.0 2.80e+08 1.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0100&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0100&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 280</font><font color="#974806"><br></font><font color="#974806">PCSetUp&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1 1.0 7.9495e-06 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0</font><font color="#974806"><br>
</font><font color="#974806">PCApply&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 74 1.0 3.6445e-03 1.0 0.00e+00 0.0 0.0e+00 0.0e+00 0.0e+00&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0</font><br>------------------------------------------------------------------------------------------------------------------------<br>
<br>Memory usage is given in bytes:<br><br>Object Type&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Creations&nbsp;&nbsp; Destructions&nbsp;&nbsp; Memory&nbsp; Descendants' Mem.<br><br>--- Event Stage 0: Main Stage<br><br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Index Set&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp; 111792&nbsp;&nbsp;&nbsp;&nbsp; 0<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Vec&nbsp;&nbsp;&nbsp; 44&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp; 223596&nbsp;&nbsp;&nbsp;&nbsp; 0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Vec Scatter&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 3&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Matrix&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; SNES&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Krylov Solver&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Preconditioner&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Viewer&nbsp;&nbsp;&nbsp;&nbsp; 2&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Draw&nbsp;&nbsp;&nbsp;&nbsp; 1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 0&nbsp;&nbsp;&nbsp;&nbsp; 0<br>
========================================================================================================================<br>Average time to get PetscTime(): 1.60268e-06<br><br><br><font style="font-size: 12pt;" face="Courier New" size="3">This shows that the Jacobian evaluation takes 97% of time and the residual just 2% in the SNESSolve</font><font style="font-size: 12pt;" face="Courier New" size="3">. But if you look at the total MFlops, you can see that its null(i guess very low) for these phases. What seems to be long is the part in red concerning Vector manips. You can even see at the end that the most memory use is in Index set and Vec.</font><font style="font-size: 12pt;" face="Courier New" size="3"></font></div>
</blockquote><div><br>This analysis does not make sense. If you add all the time spent in the Vec operations (in red), it is less than 1/100 of the time in the<br>SNES Solve. There is obviously a problem in that routine, if there is indeed a problem. Do you have a model of the computation that<br>
says that this time is too long?<br><br>&nbsp; Matt<br>&nbsp;</div></div>-- <br>What most experimenters take for granted before they begin their experiments is infinitely more interesting than any results to which their experiments lead.<br>
-- Norbert Wiener<br><br /><hr />Get news, entertainment and everything you care about at Live.com. <a href='http://www.live.com/getstarted.aspx ' target='_new'>Check it out!</a></body>
</html>