# fsc#

Purpose

Fluid structure/coupling with non-linear follower pressure support.

Description

Elasto-acoustic coupling is used to model structures containing a compressible, non-weighing fluid, with or without a free surface.

The FE formulation for this type of problem can be written as [51]

(9.7) |

with q the displacements of the structure, p the pressure variations in the fluid and F^{ext} the external load applied to the structure, where

(9.8) |

To assemble fluid/structure coupling matrix you should declare a set of surface elements (any topology) with property p_solid('dbval 1 fsc'). The C matrix (solid forces induced by pressure field) is assembled with the stiffness (matrix type 1), while the C^{T} matrix (fluid pressure due to normal velocity of solid) is assembled with the mass (matrix type 2).

Some formulations, consider a surface impedance proportional to the pressure. This matrix can be computed by defining a group of surface elements with an acoustic material (see m_elastic 2) and a standard surface integration rule (p_solid('dbval 1 d2 -3')). This results in a mass given by

(9.9) |

Follower force

One uses the identity

(9.10) |

where (r,s) designate local coordinates of the face (assumed such that the normal is outgoing). Work of the pressure is thus:

(9.11) |

On thus must add the non-linear stiffness term:

(9.12) |

Using (idem for s), and also

(9.13) |

this results in

(9.14) |

Base tests : fsc3 testsimple and fsc3 test.

In the RivlinCube test , the pressure on each free face is given by

(9.15) |

Implementation

Fluid structure coupling has been renewed in SDT 7.2. In particular flui4 elements and fsc elements are obsolete and are not supported with these commands. One must now use classical volume elements assigned with proper m_elasticproperties for fluid modelling and classical ND-1 elements for the interface, assigned with proper p_solidproperties.

Implementation strategy relies on a solid model to which fluid and coupling superelements are added. This easens solid or fluid coupled models. Reduced solutions are generated by default through the generation of a pre-assembled reduced model using free solid modes and free fluid modes.

A coupled fluid structure model is thus composed of three sub-models

- a solid model. This model remains the base working model throughout the procedure
- a fluid model. This model will be handled as a superelement in the base structure model. No mesh compatibility assumption is made between solid and fluid meshes. Fluid model will then be renumbered upon addition unless mesh compatibility is stated.
- a fluid interface coupling model. This model will be handled as a superelement in the base structure model. These coupling elements rely on ND-1 interface p_solid formulations. As their name suggest they must be compatible with the fluid interface mesh. Solid mesh compatiblity is ensured through the generation of a ConnectionSurface MPC in case of need. Providing interface elements based on the solid structure mesh is possible only if fluid compatibility is ensured.

To help keeping track of performed modelling operations and main options associated to fluid structure models, a running option structure is stored in the base model stack as info,fscOpt. This structure can be a priori defined by the user to store options once for all. It will be completed on the fly during the procedure execution. This structure will contain in particular

- .name the fluid superelement name, see fsc AddFluid.
- .cname the fluid interface coupling superelement name, see fsc AddCoupling.
- .MPCname the fluid interface coupling elements MPC connection to the solid mesh (if needed), see fsc AddCoupling.
- several reduction options as documented in fsc SolveMVR

Commands

## AddFluid#

AddFluid generates one or several fluid superlements in a model. The base model either already contains the elements modelling the fluid in which case an element selection can be provided, or an external model to be added. By default the fluid model is considered as an independent mesh i.e. not compatible with the solid structure. If that is the case, command option -combine does not renumber the fluid superlement to keep mesh compatibility.

Syntax is model=fsc('AddFluid',model,mof,RO); with

- model the base model.
- mof either a fluid model or a string FindElt selection providing fluid elements in model.
- RO an optional structure input of running options.

Output model contains a fluid superelement and stack entry info,fscOpt keeping track of the fluid superlement name and other options.

Command options can be defined in three ways. It can either be specifed in the AddFluid command string with a - prefix, or provided as an additional argument RO or as a structure stored in model.Stack{'info','fscOpt'}. Potential multiple definitions are handed by the following priority rule. Options are taken in input argument RO if provided, it is then completed by the string command option parsing. Additional fields specified in info,fscOpt will eventually be added.

Fluid parameters are directly propagated to the global model if mof is provided as an assembled model, see fe_case par and matdes -1.1 in mattyp. In such case parameters declared in mof are translated as superelement parameters associated to the fluid superelement matrices in the base model.

The following options are available

- -combine tells that the fluid model is compatible with the solid model, so that no fluid renumbering will be performed.
- -name"fluid" provides the fluid superelement name. By default this is set to fluid. Refer to fesuper s_ for supelement naming conventions and restrictions.
- -skipPar to skip fluid parameter definitions. By default fluid parameters are propagated as superelement parameters to the base model if the fluid is provided as an assembled structure.

% Generate a demonstration model containing a structure and a fluid (no interfaces) mo1=fsc('TestModel'); % Declare the fluid and generate the superlement, based on the material mo1=fsc('AddFluid',mo1,'matid1');

## AddCoupling#

AddCoupling generates fluid interface coupling elements between the solid structure and the fluid model. The fluid model must have already been declared with command fsc AddFluid. These elements must be defined as compatible interfaces to the fluid model. The base model either already contains the fluid interface elements or an externally defined fluid coupling model is provided, or it can be eventually defined on the fly by specifying a selection with FindElt providing the interface topology. In the latter case, one must keep in mind that the fluid coupling interface must be compatible with the fluid model, two cases exist depending on the provided selection.

- The FindElt selection is based on the fluid model. Compatibility with the fluid is directly ensured. An MPC will be generated to couple the solid structure to the fluid interface using ConnectionSurface.
- The FindElt selection is based on the solid model. One can declare that the selection is based on the solid by using command option -InSol. Otherwise the selection is first tested on the fluid model, the selection is then applied to the solid if no matching element has been found in the fluid. In this case, the fluid coupling elements topology is compatible with the solid mesh in addition to its assumed compatibility to the fluid mesh. Solid based selection can thus only be used if the fluid mesh is compatible with the solid mesh.

Syntax is model=fsc('AddCoupling',model,moc,RO); with

- model the base model.
- moc either a fluid interface model or a string FindElt selection providing either fluid interface elements or at least their topology.
- RO is an optional structure input of running options.

Output model contains a coupling superelement and stack entry info,fscOpt keeping track of the fluid and fluild interface superlements names and other options. In particular stack entry info,fscOpt contains the fields

- .cname the name of the coupling superelement
- .name the name of the fluid superelement
- .MPCname the name of the MPC constraint coupling the fluid interface elements to the solid. It remains empty if compatible meshes have been used so that no such MPC was needed.

Command options can be defined in two ways. It can either be specifed in the AddCoupling command string with a - prefix, or provided as an additional argument RO. Potential multiple definitions are handed by the following priority rule. Options are taken in input argument RO if provided, it is then completed by the string command option parsing.

The following options are available

- -name"fscoup" provides the fluid coupling interface superlement name. By default this is set to fscoup. Refer to fesuper s_ for supelement naming conventions and restrictions.
- -InSol to tell that coupling element selection must be performed on the solid model. In this case the resulting topology is assumed to be compatible with the fluid mesh.
- -MPCname"FSCoupling" provides the base name of the ConnectionSurface MPC to be generated if needed to couple the fluid interface coupling to the solid.
- -get is used to output the coupling model only.
- -Integval provides the integration rule to be applied for the fluid interface coupling elements. By default val is set to -1 for an integration rule peformed at center points. A classical alternative is to use rule -3 that will use the default law of the corresponding topology for solid applications.

% Now declare coupling % by default fluid surface is taken mo1=fsc('AddCoupling',mo1);

## SolveMVR[,-direct]#

SolveMVR generates and assembles the reduced fluid structure coupled model. The solid and fluid are respectively projected onto their reduction basis and the fluid interface model is then projected. Reduced matrices are then assembled maintaining solid, fluid and coupling contributions apart. The global assembly rule is provided in a zCoef stack entry, see section 6.5.1.

Syntax is model=fsc('SolveMVR',model,RO); with

- model the base model containing a fluid superelement and a fluid interface coupling superelement,
- RO is an optional structure input of running options.

Output model is the base model, with additional stack entry SE,MVR containing the reduced assembled fluid coupled model. This model itself is assembled and contains in its stack entry info,zCoef the assembly rule, see section 6.5.1. The MVR entry contains the following fields

- .K the assembled matrices.
- .Klab the assembled matrices labels.
- .Opt the assembled matrices types, see mattyp for reference.
- .TR the restitution structure, see fesuper SEDef for reference.
- .Stack the additionally stacked information, in particular info,zCoef, see section 6.5.1 for reference.

If command option -direct was used the following fields are also present

- .br the reduced command matrix
- .cr the reduced observation matrix
- .lab_in the labels associated to the reduced command matrix columns.
- .lab_out the labels associated to the reduced observation matrix lines.

Command options should be defined with the RO input with supported fields

- .NoFirstK not to perform first order corrections on the fluid reduction basis if not set to 0 - can be set in the command string.
- .direct to perform load and sensor projections and thus prepare the output model for direct FRF computations if not set to 0 - can be set in the command string.
- keepT to store the solid reduction basis in model.Stack{'curve','TR'} and the fluid reduction basis in model.Stack{'curve','TF'} - can be set in the command string.
- .name provides the fluid superelement name, by default fluid is looked for.
- .cname provides the fluid interface coupling superelement name, by default, fscoup is looked for.
- .SolidZeta to provide a global damping ratio associated to the solid part. By default the result of fe_def('defZeta',model) is used, linked either to model entry info,DefaultZeta or to the preference sdtdef DefaultZeta with a factory setting value of 0.01. The corresponding loss factor is two times the damping ratio.
- FluiEta to provide a global fluid loss factor. By default the preference sdtdef FluiEta is used with a factory setting value of zero. A loss factor is twice the associated damping ratio.
- SEigOpt to provide an EigOpt option for the optional computation of solid modes in the procedure, see fe_eig . The default values are recovered using fe_def('defEigOpt',model).
- FEigOpt to provide an EigOpt option for the computation of fluid modes in the procedure see fe_eig . The default values are recovered using fe_def('defEigOpt',model).
- matdes to provide the types of matrices to be assembled for the solid. By default this field is left empty and a standard assembly for mass and stiffness (types 2 1) is performed. Hysteretic damping matrices (type 4) are added if RO.DefaultZeta or RO.FluiEta are not null. See mattyp for matrix types description.

% Generate the reduced coupled fluid structure model mo1=fsc('SolveMVR-keepT',mo1); % Recover the assembled model MVR=stack_get(mo1,'SE','MVR','get');

## SolveEig#

SolveEig computes complex eigenmodes of the reduced fluid structure coupled model generated by fsc SolveMVR.

Syntax is def=fsc('SolveEig',model);.

The following command options are available

- scale to mass scale the output modes.
- frval to use an input frequency of val for matrix coefficient resolution in case of property dependency. The default is set to 1.

% Compute coupled modes def=fsc('SolveEig',mo1); % Restitue modes on full DOF dfull=fesuper('sedef',MVR.TR,def);

Obsolete Non-conform conforming match

SDT supports non conforming element for fluid/structure coupling terms corresponding to the structure are computed using the classical elements of the SDT, and terms corresponding to the fluid are computed using the fluid elements (see flui4).

The coupling term C is computed using fluid/structure coupling elements (fsc elements).

Only one integration point on each element (the center of gravity) is used to evaluate C.

When structural and fluid meshes do not match at boundaries, pairing of elements needs to be done.
The pairing procedure can be described for each element.
For each fluid element F_{i}, one takes the center of gravity G_{f,i} (see figure), and searches the solid element S_{i} which is in front of the center of gravity, in the direction of the normal to the fluid element F_{i}. The projection of G_{f,i} on the solid element, P_{i}, belongs to S_{i}, and one computes the reference coordinate r and s of P_{i} in S_{i} (if S_{i} is a quad4, −1<r<1 and −1<s<1). Thus one knows the weights that have to be associated to each node of S_{i}. The coupling term will associate the DOFs of F_{i} to the DOFs of S_{i}, with the corresponding weights.

See also