Exemple #1
0
    def __init__(self, name, variables, functions=None):
        """
        Parameters
        ----------
        name : str
            The object name.
        variables : Variables instance
            The variables to be constrained.
        functions : Functions instance, optional
            The user functions for DOF matching and other LCBC
            subclass-specific tasks.
        """
        Container.__init__(self,
                           name=name,
                           variables=variables,
                           functions=functions)

        self.markers = []
        self.n_new_dof = []
        self.n_op = 0
        self.ics = None

        self.classes = find_subclasses(globals(), [LCBCOperator],
                                       omit_unnamed=True,
                                       name_attr='kind')
Exemple #2
0
    def append(self, op):
        Container.append(self, op)

        self.markers.append(self.n_op + 1)
        self.n_new_dof.append(op.n_new_dof)

        self.n_op = len(self)
Exemple #3
0
    def __init__(self, name, eq_map, offset):
        Container.__init__(self, name=name, eq_map=eq_map, offset=offset)

        self.eq_lcbc = nm.zeros((self.eq_map.n_eq, ), dtype=nm.int32)
        self.markers = []
        self.n_transformed_dof = []
        self.n_op = 0
        self.ics = None
Exemple #4
0
    def __init__(self, name, eq_map, offset):
        Container.__init__(self, name=name, eq_map=eq_map, offset=offset)

        self.eq_lcbc = nm.zeros((self.eq_map.n_eq,), dtype=nm.int32)
        self.markers = []
        self.n_transformed_dof = []
        self.n_op = 0
        self.ics = None
Exemple #5
0
    def __init__(self, equations):
        Container.__init__(self, equations)

        self.variables = Variables(self.collect_variables())
        self.materials = Materials(self.collect_materials())

        self.domain = self.get_domain()

        self.active_bcs = set()

        self.collect_conn_info()
Exemple #6
0
    def __init__(self, equations):
        Container.__init__(self, equations)

        self.variables = Variables(self.collect_variables())
        self.materials = Materials(self.collect_materials())

        self.domain = self.get_domain()

        self.active_bcs = set()

        self.collect_conn_info()
Exemple #7
0
    def __init__(self, equations, setup=True, make_virtual=False, verbose=True):
        Container.__init__(self, equations)

        self.variables = Variables(self.collect_variables())
        self.materials = Materials(self.collect_materials())

        self.domain = self.get_domain()

        self.active_bcs = set()

        if setup:
            self.setup(make_virtual=make_virtual, verbose=verbose)
Exemple #8
0
    def __init__(self, equations, setup=True,
                 make_virtual=False, verbose=True):
        Container.__init__(self, equations)

        self.variables = Variables(self.collect_variables())
        self.materials = Materials(self.collect_materials())

        self.domain = self.get_domain()

        self.active_bcs = set()

        if setup:
            self.setup(make_virtual=make_virtual, verbose=verbose)
Exemple #9
0
    def append(self, op):
        Container.append(self, op)

        eq = self.eq_map.eq
        meq = eq[expand_nodes_to_equations(op.nodes, op.dof_names,
                                           self.eq_map.dof_names)]
        assert_(nm.all(meq >= 0))

        op.treat_pbcs(meq)

        self.markers.append(self.offset + self.n_op + 1)
        self.eq_lcbc[meq] = self.markers[-1]

        self.n_transformed_dof.append(op.n_dof)
        self.n_op = len(self)
Exemple #10
0
    def append(self, op):
        Container.append(self, op)

        eq = self.eq_map.eq
        meq = eq[expand_nodes_to_equations(op.nodes, op.dof_names,
                                           self.eq_map.dof_names)]
        assert_(nm.all(meq >= 0))

        op.treat_pbcs(meq)

        self.markers.append(self.offset + self.n_op + 1)
        self.eq_lcbc[meq] = self.markers[-1]

        self.n_transformed_dof.append(op.n_dof)
        self.n_op = len(self)
Exemple #11
0
    def __init__(self, name, variables, functions=None):
        """
        Parameters
        ----------
        name : str
            The object name.
        variables : Variables instance
            The variables to be constrained.
        functions : Functions instance, optional
            The user functions for DOF matching and other LCBC
            subclass-specific tasks.
        """
        Container.__init__(self, name=name, variables=variables, functions=functions)

        self.markers = []
        self.n_new_dof = []
        self.n_op = 0
        self.ics = None

        self.classes = find_subclasses(globals(), [LCBCOperator], omit_unnamed=True, name_attr="kind")
    def test_container_add(self):
        from sfepy.base.base import Struct, Container

        a = Struct(name='a')
        b = Struct(name='b')

        c1 = Container()

        c1 = c1 + c1
        assert_(c1.names == [])

        c1 += Container([a, b])
        assert_(c1.names == ['a', 'b'])

        c2 = c1 + c1
        assert_(c2.names == 2 * ['a', 'b'])

        c2 += c2
        assert_(c2.names == 4 * ['a', 'b'])

        return True
Exemple #13
0
    def __init__(self, objs=None):
        Container.__init__(self, objs=objs)

        self.update_expression()
Exemple #14
0
 def insert(self, ii, obj):
     Container.insert(self, ii, obj)
     self.update_expression()
Exemple #15
0
 def insert(self, ii, obj):
     Container.insert(self, ii, obj)
     self.update_expression()
Exemple #16
0
    def __init__( self, **kwargs ):
        Container.__init__( self, **kwargs )

        self.cache_info = {}
Exemple #17
0
 def append(self, obj):
     Container.append(self, obj)
     self.update_expression()
Exemple #18
0
 def append(self, obj):
     Container.append(self, obj)
     self.update_expression()
Exemple #19
0
    def __init__(self, objs=None):
        Container.__init__(self, objs=objs)

        self.update_expression()