ElmerFoamFSI  2.0
ElmerFoamFSI is fluid-solid interaction simulation application built up from OpenFOAM CFD and Elmer CSM coupled through the IMPACT multiphysics software integration infrastructure.
 All Classes Namespaces Files Functions Variables Typedefs Enumerator Macros Groups Pages
icoFsiElasticNonLinULSolidFoam.C
Go to the documentation of this file.
1 /*---------------------------------------------------------------------------*\
2  ========= |
3  \\ / F ield | foam-extend: Open Source CFD
4  \\ / O peration |
5  \\ / A nd | For copyright notice see file Copyright
6  \\/ M anipulation |
7 -------------------------------------------------------------------------------
8 License
9  This file is part of foam-extend.
10 
11  foam-extend is free software: you can redistribute it and/or modify it
12  under the terms of the GNU General Public License as published by the
13  Free Software Foundation, either version 3 of the License, or (at your
14  option) any later version.
15 
16  foam-extend is distributed in the hope that it will be useful, but
17  WITHOUT ANY WARRANTY; without even the implied warranty of
18  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
19  General Public License for more details.
20 
21  You should have received a copy of the GNU General Public License
22  along with foam-extend. If not, see <http://www.gnu.org/licenses/>.
23 
24 Application
25  icoFsiElastciNonLinSolidFoam
26 
27 Description
28  Transient solver for fluid-solid interaction for an incompressible
29  fluid and a large strain solid
30  solid mesh is moved using U interpolated using least squares method
31 
32 Author
33  Zeljko Tukovic FSB Zagreb
34  adapted by Philip Cardiff
35 
36 \*---------------------------------------------------------------------------*/
37 
38 #include "fsiFOAM.H"
39 
40 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
41 
42 int main(int argc, char *argv[])
43 {
44 
45  fsifoam_module fsifoam(argc,argv);
46 
47  fsifoam.InitFluidMesh();
48  fsifoam.InitTransportProperties();
49  fsifoam.CreateFluidFields();
50  fsifoam.InitStructuresMesh();
51  fsifoam.CreateStructuresFields();
52  fsifoam.ReadCouplingProperties();
54  fsifoam.FindGlobalFaceZones();
55 
56  Foam::Time &runTime(fsifoam.RunTime());
57 
58  //* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * //
59 
60  Info << "\nicoFsiElasticNonLinULSolidFoam:main: Starting time loop\n" << endl;
61 
62 
63  while(!runTime.end()){
64  Info << "icoFsiElasticNonLinULSolidFoam:main: Time = " << runTime.timeName() << nl << endl;
65  fsifoam.Step();
66  Info<< "ExecutionTime = " << runTime.elapsedCpuTime() << " s"
67  << " ClockTime = " << runTime.elapsedClockTime() << " s"
68  << endl << endl;
69  if (runTime.outputTime())
70  fsifoam.Dump();
71  }
72 
73  Info<< "icoFsiElasticNonLinULSolidFoam:main: End\n" << endl;
74 
75  return(0);
76 }
77 
78 // ************************************************************************* //
int InitFluidMesh()
Definition: fsiFOAM.C:52
int CreateInterZoneInterpolators()
Definition: fsiFOAM.C:350
#define main
Definition: icoFoamModule.C:2
int InitTransportProperties()
Definition: fsiFOAM.C:68
int ReadCouplingProperties()
Definition: fsiFOAM.C:204
int Step()
Definition: fsiFOAM.C:703
Foam::Time & RunTime()
Definition: fsiFOAM.H:217
int InitStructuresMesh()
Definition: fsiFOAM.C:127
int CreateFluidFields()
Definition: fsiFOAM.C:80
int CreateStructuresFields()
Definition: fsiFOAM.C:133
int FindGlobalFaceZones()
Definition: fsiFOAM.C:514