In [2]:
import matplotlib.pyplot as plt
%matplotlib inline

from HelmholtzSolver3D import *
from ExampleBoundaries import Sphere

frequency = 20.0 # frequency [Hz]
k = frequencyToWavenumber(frequency)

interiorPoints = np.array([[0.500, 0.000, 0.000],
                           [0.000, 0.000, 0.010],
                           [0.000, 0.000, 0.250],
                           [0.000, 0.000, 0.500],
                           [0.000, 0.000, 0.750]], dtype=np.float32)

# Test Problem 1
# Dirichlet boundary condition with phi = sin(k*z)
#
solver = HelmholtzSolver3D(*(Sphere()))

boundaryCondition = BoundaryCondition(solver.aElement.shape[0])
boundaryCondition.alpha.fill(1.0)
boundaryCondition.beta.fill(0.0)
boundaryCondition.f[:] = np.sin(k * solver.aCenters[:,2])

boundaryIncidence = BoundaryIncidence(solver.aElement.shape[0])
boundaryIncidence.phi.fill(0.0)
boundaryIncidence.v.fill(0.0)

interiorIncidentPhi = np.zeros(interiorPoints.shape[0], dtype=np.complex64)

boundarySolution = solver.solveInteriorBoundary(k, boundaryCondition, boundaryIncidence)

interiorPhi = solver.solveInterior(boundarySolution, interiorIncidentPhi, interiorPoints)

print "Test Problem 1"
print "==============\n"
print boundarySolution
printInteriorSolution(boundarySolution, interiorPhi)


# Test Problem 2
# Neumann boundary condition with v = cos(k*z)
#
boundaryCondition.alpha.fill(0.0)
boundaryCondition.beta.fill(1.0)

for i in range(solver.aElement.shape[0]):
    a = solver.aVertex[solver.aElement[i, 0]]
    b = solver.aVertex[solver.aElement[i, 1]]
    c = solver.aVertex[solver.aElement[i, 2]]
    normal = Normal3D(a, b, c)
    boundaryCondition.f[i] = k * np.cos(k * solver.aCenters[i,2]) * normal[2]

boundarySolution = solver.solveInteriorBoundary(k, boundaryCondition, boundaryIncidence)

interiorPhi = solver.solveInterior(boundarySolution, interiorIncidentPhi, interiorPoints)

print "\n\nTest Problem 2"
print "==============\n"
print boundarySolution
printInteriorSolution(boundarySolution, interiorPhi)


# Test Problem 3
# Neumann boundary condition with v = cos(k*z)
#
boundaryCondition.alpha.fill(0.0)
boundaryCondition.beta.fill(1.0)
boundaryCondition.f.fill(0.0)

p = np.array([0.0, 0.0, 0.0], dtype=np.float32)
for i in range(solver.aElement.shape[0]):
    q = solver.aCenters[i, :]
    r = p - q
    R = norm(r)
    boundaryIncidence.phi[i] = np.exp(1.0j * k * R) / (4.0 * np.pi * R)
    a = solver.aVertex[solver.aElement[i, 0]]
    b = solver.aVertex[solver.aElement[i, 1]]
    c = solver.aVertex[solver.aElement[i, 2]]
    drbdn = -np.dot(r, normal) / R
    boundaryIncidence.v[i] = drbdn * np.exp(1.0j * k * R)*(1.0j * k * R - 1.0) / \
            (4.0 * np.pi * R * R)

for i in range(interiorPoints.shape[0]):
    q = interiorPoints[i, :]
    r = p - q
    R = norm(r)
    interiorIncidentPhi[i] = np.exp(1.0j * k * R) / (4.0 * np.pi * R)

boundarySolution = solver.solveInteriorBoundary(k, boundaryCondition, boundaryIncidence)

interiorPhi = solver.solveInterior(boundarySolution, interiorIncidentPhi, interiorPoints)

print "\n\nTest Problem 3"
print "==============\n"
print boundarySolution
printInteriorSolution(boundarySolution, interiorPhi)


Test Problem 1
==============

Density of medium:      1.205 kg/m^3
Speed of sound:         344.0 m/s
Wavenumber (Frequency): 0.365301471348 (20.0 Hz)

index          Potential                   Pressure                    Velocity              Intensity
    1   2.8039e-01+  0.0000e+00i    0.0000e+00+  4.2459e+01i    3.3805e-01+ -5.1565e-03i    -1.0947e-01
    2   2.8039e-01+  0.0000e+00i    0.0000e+00+  4.2459e+01i    3.3799e-01+ -5.1442e-03i    -1.0921e-01
    3   2.8039e-01+  0.0000e+00i    0.0000e+00+  4.2459e+01i    3.3805e-01+ -5.1565e-03i    -1.0947e-01
    4   2.8039e-01+  0.0000e+00i    0.0000e+00+  4.2459e+01i    3.3805e-01+ -5.1565e-03i    -1.0947e-01
    5   2.8039e-01+  0.0000e+00i    0.0000e+00+  4.2459e+01i    3.3799e-01+ -5.1442e-03i    -1.0921e-01
    6   2.8039e-01+  0.0000e+00i    0.0000e+00+  4.2459e+01i    3.3805e-01+ -5.1565e-03i    -1.0947e-01
    7   1.6172e-01+  0.0000e+00i    0.0000e+00+  2.4489e+01i    1.8979e-01+ -7.3123e-03i    -8.9536e-02
    8   8.1129e-02+  0.0000e+00i    0.0000e+00+  1.2285e+01i    9.1398e-02+ -7.8868e-03i    -4.8444e-02
    9   1.6172e-01+  0.0000e+00i    0.0000e+00+  2.4489e+01i    1.8995e-01+ -7.3454e-03i    -8.9940e-02
   10   8.1129e-02+  0.0000e+00i    0.0000e+00+  1.2285e+01i    9.1398e-02+ -7.8868e-03i    -4.8444e-02
   11   1.6172e-01+  0.0000e+00i    0.0000e+00+  2.4489e+01i    1.8979e-01+ -7.3123e-03i    -8.9536e-02
   12   8.1129e-02+  0.0000e+00i    0.0000e+00+  1.2285e+01i    9.1172e-02+ -7.8937e-03i    -4.8487e-02
   13   1.6172e-01+  0.0000e+00i    0.0000e+00+  2.4489e+01i    1.8979e-01+ -7.3123e-03i    -8.9536e-02
   14   8.1129e-02+  0.0000e+00i    0.0000e+00+  1.2285e+01i    9.1398e-02+ -7.8868e-03i    -4.8444e-02
   15   1.6172e-01+  0.0000e+00i    0.0000e+00+  2.4489e+01i    1.8995e-01+ -7.3454e-03i    -8.9940e-02
   16   8.1129e-02+  0.0000e+00i    0.0000e+00+  1.2285e+01i    9.1398e-02+ -7.8868e-03i    -4.8444e-02
   17   1.6172e-01+  0.0000e+00i    0.0000e+00+  2.4489e+01i    1.8979e-01+ -7.3123e-03i    -8.9536e-02
   18   8.1129e-02+  0.0000e+00i    0.0000e+00+  1.2285e+01i    9.1172e-02+ -7.8937e-03i    -4.8487e-02
   19  -1.6172e-01+  0.0000e+00i   -0.0000e+00+ -2.4489e+01i   -1.8979e-01+  7.3123e-03i    -8.9536e-02
   20  -8.1129e-02+  0.0000e+00i   -0.0000e+00+ -1.2285e+01i   -9.1398e-02+  7.8868e-03i    -4.8444e-02
   21  -1.6172e-01+  0.0000e+00i   -0.0000e+00+ -2.4489e+01i   -1.8995e-01+  7.3454e-03i    -8.9940e-02
   22  -8.1129e-02+  0.0000e+00i   -0.0000e+00+ -1.2285e+01i   -9.1398e-02+  7.8868e-03i    -4.8444e-02
   23  -1.6172e-01+  0.0000e+00i   -0.0000e+00+ -2.4489e+01i   -1.8979e-01+  7.3123e-03i    -8.9536e-02
   24  -8.1129e-02+  0.0000e+00i   -0.0000e+00+ -1.2285e+01i   -9.1172e-02+  7.8937e-03i    -4.8487e-02
   25  -1.6172e-01+  0.0000e+00i   -0.0000e+00+ -2.4489e+01i   -1.8979e-01+  7.3123e-03i    -8.9536e-02
   26  -8.1129e-02+  0.0000e+00i   -0.0000e+00+ -1.2285e+01i   -9.1398e-02+  7.8868e-03i    -4.8444e-02
   27  -1.6172e-01+  0.0000e+00i   -0.0000e+00+ -2.4489e+01i   -1.8995e-01+  7.3454e-03i    -8.9940e-02
   28  -8.1129e-02+  0.0000e+00i   -0.0000e+00+ -1.2285e+01i   -9.1398e-02+  7.8868e-03i    -4.8444e-02
   29  -1.6172e-01+  0.0000e+00i   -0.0000e+00+ -2.4489e+01i   -1.8979e-01+  7.3123e-03i    -8.9536e-02
   30  -8.1129e-02+  0.0000e+00i   -0.0000e+00+ -1.2285e+01i   -9.1172e-02+  7.8937e-03i    -4.8487e-02
   31  -2.8039e-01+  0.0000e+00i   -0.0000e+00+ -4.2459e+01i   -3.3805e-01+  5.1565e-03i    -1.0947e-01
   32  -2.8039e-01+  0.0000e+00i   -0.0000e+00+ -4.2459e+01i   -3.3799e-01+  5.1442e-03i    -1.0921e-01
   33  -2.8039e-01+  0.0000e+00i   -0.0000e+00+ -4.2459e+01i   -3.3805e-01+  5.1565e-03i    -1.0947e-01
   34  -2.8039e-01+  0.0000e+00i   -0.0000e+00+ -4.2459e+01i   -3.3805e-01+  5.1565e-03i    -1.0947e-01
   35  -2.8039e-01+  0.0000e+00i   -0.0000e+00+ -4.2459e+01i   -3.3799e-01+  5.1442e-03i    -1.0921e-01
   36  -2.8039e-01+  0.0000e+00i   -0.0000e+00+ -4.2459e+01i   -3.3805e-01+  5.1565e-03i    -1.0947e-01


Sound pressure at the sample points

index          Potential                    Pressure               Magnitude         Phase

    1  -1.1426e-09+ -9.9681e-10i    1.5094e-07+ -1.7301e-07i    -3.8801e+01 dB       -0.8534
    2   3.5677e-03+ -3.3024e-05i    5.0007e-03+  5.4024e-01i     8.8632e+01 dB       1.5615
    3   8.8944e-02+ -8.0147e-04i    1.2136e-01+  1.3468e+01i     1.1657e+02 dB       1.5618
    4   1.7570e-01+ -1.4773e-03i    2.2370e-01+  2.6605e+01i     1.2248e+02 dB       1.5624
    5   2.6230e-01+ -1.9663e-03i    2.9775e-01+  3.9719e+01i     1.2596e+02 dB       1.5633


Test Problem 2
==============

Density of medium:      1.205 kg/m^3
Speed of sound:         344.0 m/s
Wavenumber (Frequency): 0.365301471348 (20.0 Hz)

index          Potential                   Pressure                    Velocity              Intensity
    1   2.5426e-01+  5.4793e-03i   -8.2971e-01+  3.8501e+01i    3.1157e-01+  0.0000e+00i    -1.2925e-01
    2   2.5427e-01+  5.4769e-03i   -8.2933e-01+  3.8502e+01i    3.1157e-01+  0.0000e+00i    -1.2920e-01
    3   2.5426e-01+  5.4793e-03i   -8.2971e-01+  3.8501e+01i    3.1157e-01+  0.0000e+00i    -1.2925e-01
    4   2.5426e-01+  5.4793e-03i   -8.2971e-01+  3.8501e+01i    3.1157e-01+  0.0000e+00i    -1.2925e-01
    5   2.5427e-01+  5.4769e-03i   -8.2933e-01+  3.8502e+01i    3.1157e-01+  0.0000e+00i    -1.2920e-01
    6   2.5426e-01+  5.4793e-03i   -8.2971e-01+  3.8501e+01i    3.1157e-01+  0.0000e+00i    -1.2925e-01
    7   1.4393e-01+  4.7378e-03i   -7.1743e-01+  2.1795e+01i    1.6939e-01+  0.0000e+00i    -6.0763e-02
    8   6.8773e-02+  3.5512e-03i   -5.3775e-01+  1.0414e+01i    6.5215e-02+  0.0000e+00i    -1.7535e-02
    9   1.4389e-01+  4.7480e-03i   -7.1896e-01+  2.1789e+01i    1.6937e-01+  0.0000e+00i    -6.0885e-02
   10   6.8773e-02+  3.5512e-03i   -5.3775e-01+  1.0414e+01i    6.5215e-02+  0.0000e+00i    -1.7535e-02
   11   1.4393e-01+  4.7378e-03i   -7.1743e-01+  2.1795e+01i    1.6939e-01+  0.0000e+00i    -6.0763e-02
   12   6.8771e-02+  3.5538e-03i   -5.3814e-01+  1.0414e+01i    6.4990e-02+  0.0000e+00i    -1.7487e-02
   13   1.4393e-01+  4.7378e-03i   -7.1743e-01+  2.1795e+01i    1.6939e-01+  0.0000e+00i    -6.0763e-02
   14   6.8773e-02+  3.5512e-03i   -5.3775e-01+  1.0414e+01i    6.5215e-02+  0.0000e+00i    -1.7535e-02
   15   1.4389e-01+  4.7480e-03i   -7.1896e-01+  2.1789e+01i    1.6937e-01+  0.0000e+00i    -6.0885e-02
   16   6.8773e-02+  3.5512e-03i   -5.3775e-01+  1.0414e+01i    6.5215e-02+  0.0000e+00i    -1.7535e-02
   17   1.4393e-01+  4.7378e-03i   -7.1743e-01+  2.1795e+01i    1.6939e-01+  0.0000e+00i    -6.0763e-02
   18   6.8771e-02+  3.5538e-03i   -5.3814e-01+  1.0414e+01i    6.4990e-02+  0.0000e+00i    -1.7487e-02
   19  -1.4393e-01+ -4.7378e-03i    7.1743e-01+ -2.1795e+01i   -1.6939e-01+  0.0000e+00i    -6.0763e-02
   20  -6.8773e-02+ -3.5513e-03i    5.3775e-01+ -1.0414e+01i   -6.5215e-02+  0.0000e+00i    -1.7535e-02
   21  -1.4389e-01+ -4.7480e-03i    7.1896e-01+ -2.1789e+01i   -1.6937e-01+  0.0000e+00i    -6.0885e-02
   22  -6.8773e-02+ -3.5512e-03i    5.3775e-01+ -1.0414e+01i   -6.5215e-02+  0.0000e+00i    -1.7535e-02
   23  -1.4393e-01+ -4.7378e-03i    7.1743e-01+ -2.1795e+01i   -1.6939e-01+  0.0000e+00i    -6.0763e-02
   24  -6.8771e-02+ -3.5538e-03i    5.3814e-01+ -1.0414e+01i   -6.4990e-02+  0.0000e+00i    -1.7487e-02
   25  -1.4393e-01+ -4.7378e-03i    7.1743e-01+ -2.1795e+01i   -1.6939e-01+  0.0000e+00i    -6.0763e-02
   26  -6.8773e-02+ -3.5513e-03i    5.3775e-01+ -1.0414e+01i   -6.5215e-02+  0.0000e+00i    -1.7535e-02
   27  -1.4389e-01+ -4.7480e-03i    7.1896e-01+ -2.1789e+01i   -1.6937e-01+  0.0000e+00i    -6.0885e-02
   28  -6.8773e-02+ -3.5512e-03i    5.3775e-01+ -1.0414e+01i   -6.5215e-02+  0.0000e+00i    -1.7535e-02
   29  -1.4393e-01+ -4.7378e-03i    7.1743e-01+ -2.1795e+01i   -1.6939e-01+  0.0000e+00i    -6.0763e-02
   30  -6.8771e-02+ -3.5538e-03i    5.3814e-01+ -1.0414e+01i   -6.4990e-02+  0.0000e+00i    -1.7487e-02
   31  -2.5426e-01+ -5.4794e-03i    8.2971e-01+ -3.8501e+01i   -3.1157e-01+  0.0000e+00i    -1.2925e-01
   32  -2.5427e-01+ -5.4769e-03i    8.2934e-01+ -3.8502e+01i   -3.1157e-01+  0.0000e+00i    -1.2920e-01
   33  -2.5426e-01+ -5.4794e-03i    8.2971e-01+ -3.8501e+01i   -3.1157e-01+  0.0000e+00i    -1.2925e-01
   34  -2.5426e-01+ -5.4794e-03i    8.2971e-01+ -3.8501e+01i   -3.1157e-01+  0.0000e+00i    -1.2925e-01
   35  -2.5427e-01+ -5.4769e-03i    8.2934e-01+ -3.8502e+01i   -3.1157e-01+  0.0000e+00i    -1.2920e-01
   36  -2.5426e-01+ -5.4794e-03i    8.2971e-01+ -3.8501e+01i   -3.1157e-01+  0.0000e+00i    -1.2925e-01


Sound pressure at the sample points

index          Potential                    Pressure               Magnitude         Phase

    1   5.4061e-08+ -4.3565e-09i    6.5968e-07+  8.1862e-06i    -7.7309e+00 dB       1.4904
    2   3.2054e-03+  5.4899e-05i   -8.3131e-03+  4.8537e-01i     8.7702e+01 dB       1.5879
    3   8.0023e-02+  1.3385e-03i   -2.0268e-01+  1.2117e+01i     1.1565e+02 dB       1.5875
    4   1.5862e-01+  2.4948e-03i   -3.7777e-01+  2.4019e+01i     1.2159e+02 dB       1.5865
    5   2.3769e-01+  3.5297e-03i   -5.3449e-01+  3.5992e+01i     1.2510e+02 dB       1.5856


Test Problem 3
==============

Density of medium:      1.205 kg/m^3
Speed of sound:         344.0 m/s
Wavenumber (Frequency): 0.365301471348 (20.0 Hz)

index          Potential                   Pressure                    Velocity              Intensity
    1  -5.0480e-01+ -1.2358e+00i    1.8713e+02+ -7.6439e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
    2  -5.2758e-01+ -1.2187e+00i    1.8455e+02+ -7.9888e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
    3  -5.3890e-01+ -1.2101e+00i    1.8324e+02+ -8.1603e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
    4  -5.2752e-01+ -1.2187e+00i    1.8454e+02+ -7.9880e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
    5  -5.0482e-01+ -1.2359e+00i    1.8714e+02+ -7.6442e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
    6  -4.9342e-01+ -1.2444e+00i    1.8843e+02+ -7.4716e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
    7  -4.6307e-01+ -1.2702e+00i    1.9233e+02+ -7.0121e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
    8  -4.5730e-01+ -1.2645e+00i    1.9148e+02+ -6.9246e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
    9  -5.0350e-01+ -1.2394e+00i    1.8767e+02+ -7.6242e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
   10  -4.9705e-01+ -1.2339e+00i    1.8685e+02+ -7.5265e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
   11  -5.2362e-01+ -1.2239e+00i    1.8533e+02+ -7.9289e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
   12  -4.9702e-01+ -1.2340e+00i    1.8685e+02+ -7.5261e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
   13  -5.0341e-01+ -1.2393e+00i    1.8767e+02+ -7.6229e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
   14  -4.5722e-01+ -1.2646e+00i    1.9149e+02+ -6.9235e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
   15  -4.6307e-01+ -1.2703e+00i    1.9235e+02+ -7.0121e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
   16  -4.1747e-01+ -1.2952e+00i    1.9612e+02+ -6.3216e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
   17  -4.4286e-01+ -1.2856e+00i    1.9467e+02+ -6.7060e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
   18  -4.1751e-01+ -1.2952e+00i    1.9612e+02+ -6.3222e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
   19  -3.6955e-01+ -1.3364e+00i    2.0237e+02+ -5.5959e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
   20  -4.0845e-01+ -1.2974e+00i    1.9646e+02+ -6.1850e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
   21  -4.1000e-01+ -1.3056e+00i    1.9771e+02+ -6.2085e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
   22  -4.4820e-01+ -1.2668e+00i    1.9183e+02+ -6.7868e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
   23  -4.3010e-01+ -1.2902e+00i    1.9537e+02+ -6.5127e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
   24  -4.4816e-01+ -1.2668e+00i    1.9183e+02+ -6.7863e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
   25  -4.0989e-01+ -1.3056e+00i    1.9770e+02+ -6.2067e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
   26  -4.0838e-01+ -1.2975e+00i    1.9647e+02+ -6.1838e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
   27  -3.6958e-01+ -1.3365e+00i    2.0238e+02+ -5.5963e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
   28  -3.6863e-01+ -1.3281e+00i    2.0110e+02+ -5.5819e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
   29  -3.4934e-01+ -1.3519e+00i    2.0471e+02+ -5.2899e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
   30  -3.6866e-01+ -1.3280e+00i    2.0110e+02+ -5.5824e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
   31  -3.4558e-01+ -1.3526e+00i    2.0482e+02+ -5.2329e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
   32  -3.6836e-01+ -1.3355e+00i    2.0223e+02+ -5.5779e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
   33  -3.7968e-01+ -1.3269e+00i    2.0093e+02+ -5.7493e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
   34  -3.6830e-01+ -1.3355e+00i    2.0223e+02+ -5.5770e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
   35  -3.4560e-01+ -1.3527e+00i    2.0483e+02+ -5.2332e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00
   36  -3.3420e-01+ -1.3612e+00i    2.0611e+02+ -5.0606e+01i    0.0000e+00+  0.0000e+00i     0.0000e+00


Sound pressure at the sample points

index          Potential                    Pressure               Magnitude         Phase

    1  -2.8975e-01+ -1.3099e+00i    1.9835e+02+ -4.3875e+01i     1.4014e+02 dB       -0.2177
    2   7.5140e+00+ -1.3289e+00i    2.0123e+02+  1.1378e+03i     1.5523e+02 dB       1.3957
    3  -1.4135e-01+ -1.3160e+00i    1.9928e+02+ -2.1404e+01i     1.4002e+02 dB       -0.1070
    4  -3.1463e-01+ -1.2971e+00i    1.9641e+02+ -4.7642e+01i     1.4009e+02 dB       -0.2380
    5  -3.9153e-01+ -1.3050e+00i    1.9761e+02+ -5.9287e+01i     1.4027e+02 dB       -0.2915

Copyright (C) 2017 Frank Jargstorff

This file is part of the AcousticBEM library.

AcousticBEM 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 3 of the License, or (at your option) any later version.

AcousticBEM 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 AcousticBEM. If not, see http://www.gnu.org/licenses/.