Background
The solver group consists of three distinct packages.
1. Axi-symmetric Cavity Acoustics
2. Structural Acoustics 3D
3. Electrostatics
We have already discussed how to set up these analysis (create geometry, finite element mesh, create materials, and assign boundary conditions to the model. This group focuses on actually running the solver and problems you may encounter.
The solver for all the analysis consists of the following steps. The first step is to assign all the boundary conditions to the model based on the procedures of the Preprocessing Group. FEWaves is a nodal based code, which means all the boundary conditions are eventually attached to a finite element node of the model. Hence, if you apply a voltage, as in the case in the Structural Acoustics Suite, to a geometric face, FEWaves finds all the nodes attached to that geometric face and assigns a potential to it. This step ultimately results in the total number of degrees of freedom being determined. See the discussion below on degrees of freedom. This step is independent of frequency. The next step is to assemble the large system of equations required to solve the equation Ax = b. The procedure is an in core element by element assembly, meaning storage is created as needed as each finite element is assembled. The actual values of A and b are dependent on the frequency, material parameters, and the model geometry. The third step is to solve the matrix equation Ax = b for x. This step is also frequency dependent and may be the most time consuming part of the solution. There are two techniques used to solve for x. The first is an iterative solver and the second is a direct solver. The iterative solver follows a QMR algorithm. This solver works well for the electrostatic analysis but has been found to be too slow and inefficient for anything but the smallest degree of freedom problems for the structural/acoustics analysis problems. For structural/acoustics problems we recommend you use the second or direct solver to solve the matrix equation. This has been shown to be both efficient and accurate for both the smaller 2D problems and large 3D problems. However, the direct solver uses more resources than the iterative solver. If, during direct solver initialization, you encounter ASSERT errors or errors that indicate you have insufficient resources, resolve the problem using the iterative solver option. If you still encounter this problem, you need to find a platform with more RAM or disk space (for virtual memory creation). The final part of the solver process is to write out the nodal solutions to a POT file and any other frequency related calculations chosen in the Preprocessor Group (written out to outn.plt files, where n is a unique integer). Viewing these solutions is done through the Postprocessing Group.
The axi-symmetric acoustics cavity analysis (PC only) uses a third type of solver not available to the other suites of analysis: an eigenvalue solver which returns the eigenfrequencies for the acoustic cavity. This solver is chosen for you automatically.
After you click on Options/Run Solver, a request for the problem name appears. This name is used to create both input and output files used by the solver so if there is a concern with overwriting files, you should use a new problem name. Once choosing a valid problem name, the solver automatically runs. You can stop the solver from running by clicking on cancel at any time. Depending on the present status of the solver, it may take a few seconds to initiate the cancellation. With the solver running, you should verify the information that is displayed on the screen, such as the frequency range, the conversion factor, areas of applied ABC's, or structural/fluid interface areas. You should check on the successful solution of the first frequency before going off and letting the solver finish on its own. For more detail of the run, look at the file with extension .out during the run. Again, you should verify all output.
The degrees of freedom refers to the total length of the vector x of the matrix equation Ax = b. For the electrostatic analysis this is the total nodes minus the total number of nodes which have a voltage or current applied to it. For the axi-symmetric acoustic cavity analysis, the degrees of freedom equals the total finite element nodes in the model. For the structural acoustic problems, the determination of the degrees of freedom is much more complicated.
For the 3D structural acoustics analysis, there are at most 5 unknowns per node, the three components of displacement, potential, and pressure. These unknowns are all complex quantities. If the node is inside a structure only, the total unknowns are the displacements (3). If the node is inside a piezoelectric material, the total unknowns are the displacements and the potential (4). If the node is inside a fluid, the pressure is the only unknown (1). If the node is at the boundary of a fluid and structure, the total unknowns are the displacement and pressure (4). If the node is at a boundary of a piezoelectric and a fluid, the total unknowns are the displacements, the potential, and the pressure for a total of five. The total size of the vector x is the sum of all these unknowns minus the boundary conditions applied. Hence, for any but the simplest models, it is difficult to determine the total degrees of freedom. You may want to set up some simple examples and test your ability to predict the total degrees of freedom calculated by the solver.
For the 2D structural acoustics analysis, there are at most 4 unknowns per node, the two components of displacement, potential, and pressure. These unknowns are all complex quantities. If the node is inside a structure only, the total unknowns are the displacements (2). If the node is inside a piezoelectric material, the total unknowns are the displacements and the potential (3). If the node is inside a fluid, the pressure is the only unknown (1). If the node is at the boundary of a fluid and structure, the total unknowns are the displacement and pressure (3). If the node is at a boundary of a piezoelectric and a fluid, the total unknowns are the displacements, the potential, and the pressure for a total of four. The total size of the vector x is the sum of all these unknowns minus the boundary conditions applied. Hence, for any but the simplest models, it is difficult to determine the total degrees of freedom. As in the 3D case, you may want to set up some simple examples and test your ability to predict the total degrees of freedom calculated by the solver.
Notes about Absorbing Boundary Conditions
Absorbing Boundary Conditions (ABC's) are local approximations to the Sommerfeld radiation condition which is applied at designated fluid (not structural) nodes chosen by the user. The accompanying treatise on the finite element formulation describes these conditions in detail. These conditions are applicable when a radiating source is enclosed in a fluid domain and it is required that the fluid loading at a particular surface must be infinite. Image or symmetric fluid boundaries do not require these ABC's. For Axi-symmetric analysis, you should use a spherical boundary, for 3D analysis, you should use a box. You must, then, envision these boundaries about your radiating surface before constructing your geometry and creating your finite element mesh. Practical experience has indicated that you need at least 8 -10 elements per wavelength discretization for the finite element mesh of fluid material and at least 1.5 wavelengths away from the source before application of the ABC's. Plot the amplitude of the presssure from the source boundary to the ABC face/edge: if noticeable ripples appear, move the ABC boundary out further or increase the finite element mesh density within the fluid.
Some sample 2D and 3D solutions are presented in this section to aid you in applying FEWaves to your problems of interest. These are problems you should study and understand before attempting difficult problems of your own.Click here to proceed to the first example problem. Step through the examples by clicking on the identified portion of each one.
You may run into problems trying to run the solver which may be as serious a General Protection Faults (GPF) or simple error messages identified by the solver. All attempts have been made to identify problems and alert you before the solver runs but we can't guarantee we've covered all the possibilities. In general if you get a GPF type error, you may not have enough resources (memory or disk space for virtual memory) to run the problem. Restart you PC, make the problem smaller by decreasing the number of elements and try the problem again. If you still run into problems, call MSTR Technology technical support for advice. We may ask you to send us your model so we can check it out. Other problems which occur with some predictability are; 1) forgetting to assign appropriate boundary conditions so that the problem is well behaved (see Preprocessing Group), 2) forgetting to assign materials to a region (see Preprocessing Group) or 3) an incorrect geometry (see Model Group). Refer to the appropriate groups for help in each of these areas.