1 |
|
// $Id$ |
2 |
/* |
/* |
3 |
****************************************************************************** |
****************************************************************************** |
4 |
* * |
* * |
258 |
*/ |
*/ |
259 |
virtual void setToIntegrals(std::vector<double>& integrals,const escript::Data& arg) const; |
virtual void setToIntegrals(std::vector<double>& integrals,const escript::Data& arg) const; |
260 |
|
|
261 |
|
/** |
262 |
|
\brief |
263 |
|
return the identifier of the matrix type to be used for the global stiffness matrix when a particular solver, preconditioner |
264 |
|
and symmetric matrix is used. |
265 |
|
\param solver |
266 |
|
\param symmetry |
267 |
|
*/ |
268 |
|
virtual int getSystemMatrixTypeId(const int solver, const bool symmetry) const; |
269 |
|
|
270 |
/** |
/** |
271 |
\brief |
\brief |
272 |
returns true if data on this domain and a function space of type functionSpaceCode has to |
returns true if data on this domain and a function space of type functionSpaceCode has to |
292 |
virtual void addPDEToSystem( |
virtual void addPDEToSystem( |
293 |
SystemMatrixAdapter& mat, escript::Data& rhs, |
SystemMatrixAdapter& mat, escript::Data& rhs, |
294 |
const escript::Data& A, const escript::Data& B, const escript::Data& C, |
const escript::Data& A, const escript::Data& B, const escript::Data& C, |
295 |
const escript::Data& D, const escript::Data& X, const escript::Data& Y) const; |
const escript::Data& D, const escript::Data& X, const escript::Data& Y, |
296 |
|
const escript::Data& d, const escript::Data& y, |
297 |
|
const escript::Data& d_contact, const escript::Data& y_contact) const; |
298 |
/** |
/** |
299 |
\brief |
\brief |
300 |
adds a Robin boundary condition onto the stiffness matrix mat and a rhs |
adds a PDE onto the stiffness matrix mat and a rhs |
|
*/ |
|
|
virtual void addRobinConditionsToSystem( |
|
|
SystemMatrixAdapter& mat, escript::Data& rhs, |
|
|
const escript::Data& d, const escript::Data& y) const; |
|
|
|
|
|
/** |
|
|
\brief |
|
|
adds a contact condition onto the stiffness matrix mat and a rhs |
|
301 |
*/ |
*/ |
302 |
virtual void addContactToSystem( |
virtual void addPDEToRHS(escript::Data& rhs, |
303 |
SystemMatrixAdapter& mat, escript::Data& rhs, |
const escript::Data& X, const escript::Data& Y, |
304 |
const escript::Data& d, const escript::Data& y) const; |
const escript::Data& y, const escript::Data& y_contact) const; |
|
|
|
305 |
/** |
/** |
306 |
\brief |
\brief |
307 |
creates a SystemMatrixAdapter stiffness matrix an initializes it with zeros: |
creates a SystemMatrixAdapter stiffness matrix an initializes it with zeros: |
311 |
const escript::FunctionSpace& row_functionspace, |
const escript::FunctionSpace& row_functionspace, |
312 |
const int column_blocksize, |
const int column_blocksize, |
313 |
const escript::FunctionSpace& column_functionspace, |
const escript::FunctionSpace& column_functionspace, |
314 |
const int type, |
const int type) const; |
315 |
const bool sym) const; |
|
316 |
|
/** |
317 |
|
\brief returns locations in the FEM nodes |
318 |
|
*/ |
319 |
|
virtual escript::Data getX() const; |
320 |
|
/** |
321 |
|
\brief return boundary normals at the quadrature point on the face elements |
322 |
|
*/ |
323 |
|
virtual escript::Data getNormal() const; |
324 |
|
/** |
325 |
|
\brief returns the element size |
326 |
|
*/ |
327 |
|
virtual escript::Data getSize() const; |
328 |
|
|
329 |
|
|
330 |
// `virtual bool operator==(const escript::AbstractDomain& other) const; |
// `virtual bool operator==(const escript::AbstractDomain& other) const; |
331 |
bool operator==(const MeshAdapter& other) const; |
bool operator==(const MeshAdapter& other) const; |
332 |
bool operator!=(const MeshAdapter& other) const; |
bool operator!=(const MeshAdapter& other) const; |
333 |
|
|
334 |
protected: |
protected: |
335 |
|
|
336 |
private: |
private: |