示例#1
0
    def create_tools(self):
        tools = []
        options = self.options
        if options.remesh > 0:
            if options.remesh_eq == 'm4':
                equations = [M4(dest='interpolate', sources=['fluid'])]
            else:
                equations = None
            from pysph.solver.tools import SimpleRemesher
            if options.scheme == 'wcsph':
                props = ['u', 'v', 'au', 'av', 'ax', 'ay', 'arho']
            elif options.scheme == 'tvf':
                props = ['u', 'v', 'uhat', 'vhat',
                         'au', 'av', 'auhat', 'avhat']
            elif options.scheme == 'edac':
                if 'uhat' in self.particles[0].properties:
                    props = ['u', 'v', 'uhat', 'vhat', 'p',
                             'au', 'av', 'auhat', 'avhat', 'ap']
                else:
                    props = ['u', 'v', 'p', 'au', 'av', 'ax', 'ay', 'ap']
            elif options.scheme == 'iisph':
                # The accelerations are not really needed since the current
                # stepper is a single stage stepper.
                props = ['u', 'v', 'p']

            remesher = SimpleRemesher(
                self, 'fluid', props=props,
                freq=self.options.remesh, equations=equations
            )
            tools.append(remesher)
        return tools
示例#2
0
 def create_tools(self):
     tools = []
     if self.options.remesh > 0:
         from pysph.solver.tools import SimpleRemesher
         remesher = SimpleRemesher(self,
                                   'fluid',
                                   props=['u', 'v', 'uhat', 'vhat'],
                                   freq=self.options.remesh)
         tools.append(remesher)
     return tools
示例#3
0
    def create_tools(self):
        tools = []
        options = self.options
        if options.remesh > 0:
            if options.remesh_eq == 'm4':
                equations = [M4(dest='interpolate', sources=['fluid'])]
            else:
                equations = None
            from pysph.solver.tools import SimpleRemesher
            if options.scheme == 'wcsph' or options.scheme == 'crksph':
                props = ['u', 'v', 'au', 'av', 'ax', 'ay', 'arho']
            elif options.scheme == 'pcisph':
                props = ['u', 'v', 'p']
            elif options.scheme == 'tvf':
                props = [
                    'u', 'v', 'uhat', 'vhat', 'au', 'av', 'auhat', 'avhat'
                ]
            elif options.scheme == 'edac':
                if 'uhat' in self.particles[0].properties:
                    props = [
                        'u', 'v', 'uhat', 'vhat', 'p', 'au', 'av', 'auhat',
                        'avhat', 'ap'
                    ]
                else:
                    props = ['u', 'v', 'p', 'au', 'av', 'ax', 'ay', 'ap']
            elif options.scheme == 'iisph' or options.scheme == 'isph':
                # The accelerations are not really needed since the current
                # stepper is a single stage stepper.
                props = ['u', 'v', 'p']
            elif options.scheme == 'gtvf':
                props = [
                    'uhat', 'vhat', 'what', 'rho0', 'rhodiv', 'p0', 'auhat',
                    'avhat', 'awhat', 'arho', 'arho0'
                ]

            remesher = SimpleRemesher(self,
                                      'fluid',
                                      props=props,
                                      freq=self.options.remesh,
                                      equations=equations)
            tools.append(remesher)

        if options.shift_freq > 0:
            shift = ShiftPositions(self,
                                   'fluid',
                                   freq=self.options.shift_freq,
                                   shift_kind=self.options.shift_kind,
                                   correct_velocity=self.options.correct_vel,
                                   parameter=self.options.shift_parameter)
            tools.append(shift)

        return tools
    def create_tools(self):
        '''
        Set-up remesher tool
        '''
        tools = []
        if self.remesh > 0:
            equations = [M4(dest='interpolate', sources=['fluid'])]
            equations = None
            props = ['u', 'v', 'au', 'av', 'ax', 'ay', 'arho']

            remesher = SimpleRemesher(self,
                                      'fluid',
                                      props=props,
                                      freq=self.remesh,
                                      equations=equations)
            tools.append(remesher)
        return tools