https://github.com/geodynamics/citcoms
Revision 748c30517a1fd674b600f167f614ba4d2b6b765f authored by Eh Tan on 02 June 2009, 22:56:46 UTC, committed by Eh Tan on 02 June 2009, 22:56:46 UTC
When 'amending_outflow' is set to true, the imposed velocity BC will be amended slightly to be divergence-free. (The divergence, e.g. outflow, is caused by the combination of solver inaccuracy and interpolation inaccuracy.) When 'exchange_pressure' is set to true, the initial pressure (at element level) of the embedded solver is taken from the pressure solution of the containing solver.
1 parent 179463a
Tip revision: 748c30517a1fd674b600f167f614ba4d2b6b765f authored by Eh Tan on 02 June 2009, 22:56:46 UTC
Added parameters 'amending_outflow' and 'exchange_pressure' to help the convergence of esolver
Added parameters 'amending_outflow' and 'exchange_pressure' to help the convergence of esolver
Tip revision: 748c305
CitcomSmodule.c
/*
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//
//<LicenseText>
//
// CitcomS.py by Eh Tan, Eun-seo Choi, and Pururav Thoutireddy.
// Copyright (C) 2002-2005, California Institute of Technology.
//
// This program is free software; you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation; either version 2 of the License, or
// (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
//
// You should have received a copy of the GNU General Public License
// along with this program; if not, write to the Free Software
// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
//
//</LicenseText>
//
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
*/
#include <Python.h>
#include "CitcomSmodule.h"
#include "exceptions.h"
#include "bindings.h"
char pyCitcomS_module__doc__[] = "";
/* Initialization function for the module (*must* be called initCitcomSLib) */
void
initCitcomSLib()
{
PyObject *m, *d;
/* create the module and add the functions */
m = Py_InitModule4(
"CitcomSLib", pyCitcom_methods,
pyCitcomS_module__doc__, 0, PYTHON_API_VERSION);
/* get its dictionary */
d = PyModule_GetDict(m);
/* check for errors */
if (PyErr_Occurred()) {
Py_FatalError("can't initialize module CitcomSLib");
}
/* install the module exceptions */
pyCitcom_runtimeError = PyErr_NewException("CitcomSLib.runtime", 0, 0);
PyDict_SetItemString(d, "RuntimeException", pyCitcom_runtimeError);
return;
}
/* $Id$ */
/* End of file */
Computing file changes ...