Beispiel #1
0
    def __init__(self,
                 mesh,
                 spatial_accuracy_order=4,
                 spatial_shifted_differences=True,
                 **kwargs):

        self.operator_components = Bunch()

        self.spatial_accuracy_order = spatial_accuracy_order

        self.spatial_shifted_differences = spatial_shifted_differences

        ConstantDensityAcousticFrequencyScalarBase.__init__(
            self,
            mesh,
            spatial_accuracy_order=spatial_accuracy_order,
            spatial_shifted_differences=spatial_shifted_differences,
            **kwargs)

        # In 3D there is only compact operator implemented
        if self.mesh.x.lbc.type == 'pml':
            if self.mesh.x.lbc.domain_bc.compact:
                self.compact = self.mesh.x.lbc.domain_bc.compact
            else:
                raise NotImplementedError(
                    '3D frequency helmholtz operator with auxilliary fields is not available please use the flag compact=True for setting'
                )
        else:
            self.compact = False
            raise NotImplementedError(
                'Please set boundary conditions as PML with the flag compact=True'
            )
    def __init__(self, mesh, spatial_accuracy_order=4, **kwargs):

        self.operator_components = Bunch()

        self.spatial_accuracy_order = spatial_accuracy_order

        ConstantDensityAcousticTimeODEBase.__init__(self,
                                                    mesh,
                                                    spatial_accuracy_order=spatial_accuracy_order,
                                                    **kwargs)
    def __init__(self, mesh, spatial_accuracy_order=4, **kwargs):

        self.operator_components = Bunch()

        self.spatial_accuracy_order = spatial_accuracy_order

        VariableDensityAcousticTimeScalarBase.__init__(self,
                                                       mesh,
                                                       spatial_accuracy_order=spatial_accuracy_order,
                                                       **kwargs)
    def __init__(self, mesh, spatial_accuracy_order=4, **kwargs):

        raise ValidationFunctionError(" This solver is in construction and is not yet complete. For variable density, only 2D time and frequency is currently running.")
        
        self.operator_components = Bunch()

        self.spatial_accuracy_order = spatial_accuracy_order

        VariableDensityAcousticTimeODEBase.__init__(self,
                                                    mesh,
                                                    spatial_accuracy_order=spatial_accuracy_order,
                                                    **kwargs)
    def __init__(self, mesh, spatial_accuracy_order=4, **kwargs):

        self.operator_components = Bunch()

        self.spatial_accuracy_order = spatial_accuracy_order

        ConstantDensityAcousticTimeScalarBase.__init__(self,
                                                       mesh,
                                                       spatial_accuracy_order=spatial_accuracy_order,
                                                       **kwargs)
        if self.mesh.x.lbc.type == 'pml':
            if self.mesh.x.lbc.domain_bc.compact:
                raise NotImplementedError('Compact option is not available for time solvers')
    def __init__(self, mesh, spatial_accuracy_order=4, **kwargs):

        self.operator_components = Bunch()

        self.spatial_accuracy_order = spatial_accuracy_order

        ConstantDensityAcousticTimeScalarBase.__init__(
            self,
            mesh,
            spatial_accuracy_order=spatial_accuracy_order,
            **kwargs)

        lpmlz_tmp = self.mesh.z.lbc.sigma.copy()
        self.mesh.z.lbc.sigma = lpmlz_tmp.copy()
Beispiel #7
0
    def __init__(self,
                 mesh,
                 spatial_accuracy_order=4,
                 spatial_shifted_differences=True,
                 **kwargs):

        self.operator_components = Bunch()

        self.spatial_accuracy_order = spatial_accuracy_order

        self.spatial_shifted_differences = spatial_shifted_differences

        VariableDensityAcousticFrequencyScalarBase.__init__(self,
                                                            mesh,
                                                            spatial_accuracy_order=spatial_accuracy_order,
                                                            spatial_shifted_differences=spatial_shifted_differences,
                                                            **kwargs)
    def __init__(self,
                 mesh,
                 spatial_accuracy_order=4,
                 spatial_shifted_differences=True,
                 **kwargs):

        self.operator_components = Bunch()

        self.spatial_accuracy_order = spatial_accuracy_order

        self.spatial_shifted_differences = spatial_shifted_differences

        ConstantDensityAcousticFrequencyScalarBase.__init__(
            self,
            mesh,
            spatial_accuracy_order=spatial_accuracy_order,
            spatial_shifted_differences=spatial_shifted_differences,
            **kwargs)
        # if the solver is compact we have to indicate that we do not need auxiliary fields
        if self.mesh.x.lbc.type == 'pml':
            self.compact = self.mesh.x.lbc.domain_bc.compact
        else:
            self.compact = False
    def __init__(self,
                 mesh,
                 spatial_accuracy_order=4,
                 spatial_shifted_differences=True,
                 **kwargs):

        raise ValidationFunctionError(
            " This solver is in construction and is not yet complete. For variable density, only 2D time and frequency is currently running."
        )

        self.operator_components = Bunch()

        self.spatial_accuracy_order = spatial_accuracy_order

        self.spatial_shifted_differences = spatial_shifted_differences

        VariableDensityAcousticFrequencyScalarBase.__init__(
            self,
            mesh,
            spatial_accuracy_order=spatial_accuracy_order,
            spatial_shifted_differences=spatial_shifted_differences,
            **kwargs)

        # In 3D there is only compact operator implemented
        if self.mesh.x.lbc.type == 'pml':
            if self.mesh.x.lbc.domain_bc.compact:
                self.compact = self.mesh.x.lbc.domain_bc.compact
            else:
                raise NotImplementedError(
                    '3D frequency helmholtz operator with auxilliary fields is not available please use the flag compact=True for setting'
                )
        else:
            self.compact = False
            raise NotImplementedError(
                'Please set boundary conditions as PML with the flag compact=True'
            )