Raw File
Inlet.py
#!/usr/bin/env python
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#
#<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>
#
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
#



class Inlet(object):

    def __init__(self):
        self._handle = None
        return


    def impose(self):
        import ExchangerLib
        ExchangerLib.Inlet_impose(self._handle)
        return


    def recv(self):
        import ExchangerLib
        ExchangerLib.Inlet_recv(self._handle)
        return


    def storeTimestep(self, fge_t, cge_t):
        import ExchangerLib
        ExchangerLib.Inlet_storeTimestep(self._handle, fge_t, cge_t)
        return




class SVTInlet(Inlet):

    def __init__(self, mesh, sink, all_variables):
        import ExchangerLib
        self._handle = ExchangerLib.SVTInlet_create(mesh,
                                                    sink,
                                                    all_variables)
        return



class BoundarySVTInlet(Inlet):

    def __init__(self, mesh, sink, all_variables, comm):
        import ExchangerLib
        self._handle = ExchangerLib.BoundarySVTInlet_create(mesh,
                                                            sink,
                                                            all_variables,
                                                            comm)
        return



class TInlet(Inlet):

        def __init__(self, mesh, sink, all_variables):
                import ExchangerLib
                self._handle = ExchangerLib.TInlet_create(mesh,
                                                          sink,
                                                          all_variables)
                return


class PInlet(Inlet):

        def __init__(self, mesh, sink, all_variables):
                import ExchangerLib
                self._handle = ExchangerLib.PInlet_create(mesh,
                                                          sink,
                                                          all_variables)
                return


class SInlet(Inlet):

        def __init__(self, mesh, sink, all_variables):
                import ExchangerLib
                self._handle = ExchangerLib.SInlet_create(mesh,
                                                          sink,
                                                          all_variables)
                return


class VTInlet(Inlet):

        def __init__(self, mesh, sink, all_variables):
                import ExchangerLib
                self._handle = ExchangerLib.VTInlet_create(mesh,
                                                           sink,
                                                           all_variables)
                return



"""
class BoundaryVTInlet(Inlet):
    '''Available modes -- see above
    '''


    def __init__(self, communicator, boundary, sink, all_variables, mode="VT"):
        import ExchangerLib
        self._handle = ExchangerLib.BoundaryVTInlet_create(communicator.handle(),
                                                           boundary,
                                                           sink,
                                                           all_variables,
                                                           mode)
        return




class TractionInlet(Inlet):
    '''Inlet that impose velocity and/or traction on the boundary
    Available modes --
    "F": traction only
    "V": velocity only
    "FV": normal velocity and tangent traction
    '''

    def __init__(self, boundary, sink, all_variables, mode='F'):
        import ExchangerLib
        self._handle = ExchangerLib.TractionInlet_create(boundary,
                                                         sink,
                                                         all_variables,
                                                         mode)
        return

"""

# version
__id__ = "$Id$"

# End of file
back to top