<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style id="owaParaStyle" type="text/css">
<!--
p
        {margin-top:0;
        margin-bottom:0}
-->
P {margin-top:0;margin-bottom:0;}</style>
</head>
<body ocsi="0" fpstyle="1">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;"><br>
<div style="font-family: Times New Roman; color: rgb(0, 0, 0); font-size: 16px;">
<div>
<div style="direction: ltr; font-family: Tahoma; color: rgb(0, 0, 0); font-size: 10pt;">
1) suppose that our mesh is made of triangles (in R^3, not in R^2, so each vertex has 3 coordinates); given an arbitrary triangle of such a mesh, I need to extract the unit normal to that triangle.<br>
Is there a method that computes it directly? Like the quantities "center", "volume", "integrationElement", etc?<br>
<br>
-------------------------------------<br>
<br>
I am assuming you do not mean the conormal (e.g. tangent to the "surface") but the "surface normal"? That is not part of the Geometry<br>
interface at the moment. So you need to use the cross product (as far<br>
as I am aware that product does not exist in the DenseVector interface - perhaps you could make a suggestion...)<br>
<br>
------------------------------------------------------------------------------------------<br>
<br>
2)<br>
<br>
Dune::ISTLCGOp< DiscreteFunction, Dune::ISTLMatrixOperator< DiscreteFunction, DiscreteFunction, MatrixTraits > ><br>
Dune::CGInverseOperator < DiscreteFunction ><br>
Dune::ConjugateGradientSolver < Operator ><br>
<br>
By the way, I'm going to solve an operator represented by semi-positive-definite matrix; do all of these satisfy the property that if you feed the CG with a compatible initial guess all the iterates belong to the right space?<br>
<div><br>
<div style="font-family: Tahoma; font-size: 13px;">------------------------------------------------<br>
<br>
The first one uses the ISTL backend to solve the system and thus requires setting up the matrix (using the ISTL BlockMatrix classes).<br>
Also the DiscreteFunction has to be the BlockVectorDiscreteFuncrtion<br>
because for that the DOFs are stored in the as ISTL blockvector.<br>
<br>
The second is an implementation directly in dune-fem which only requires do implement the application of the operator on the vector.<br>
We use that for on-the-fly inversion - but as a consequence there is no fancy preconditioning available...<br>
<br>
Both should be fine for not quite positive definite or not quite symmetric matrixes - as long as it holds on a subspace and the initial<br>
guess is in that space.<br>
<br>
Best<br>
Andreas<br>
</div>
</div>
</div>
</div>
</div>
</div>
</body>
</html>