VirtualFluids
0.2.0
Parallel CFD LBM Solver
Loading...
Searching...
No Matches
ShearWaveSimulationParameter.cpp
Go to the documentation of this file.
1
//=======================================================================================
2
// ____ ____ __ ______ __________ __ __ __ __
3
// \ \ | | | | | _ \ |___ ___| | | | | / \ | |
4
// \ \ | | | | | |_) | | | | | | | / \ | |
5
// \ \ | | | | | _ / | | | | | | / /\ \ | |
6
// \ \ | | | | | | \ \ | | | \__/ | / ____ \ | |____
7
// \ \ | | |__| |__| \__\ |__| \________/ /__/ \__\ |_______|
8
// \ \ | | ________________________________________________________________
9
// \ \ | | | ______________________________________________________________|
10
// \ \| | | | __ __ __ __ ______ _______
11
// \ | | |_____ | | | | | | | | | _ \ / _____)
12
// \ | | _____| | | | | | | | | | | \ \ \_______
13
// \ | | | | |_____ | \_/ | | | | |_/ / _____ |
14
// \ _____| |__| |________| \_______/ |__| |______/ (_______/
15
//
16
// This file is part of VirtualFluids. VirtualFluids is free software: you can
17
// redistribute it and/or modify it under the terms of the GNU General Public
18
// License as published by the Free Software Foundation, either version 3 of
19
// the License, or (at your option) any later version.
20
//
21
// VirtualFluids is distributed in the hope that it will be useful, but WITHOUT
22
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
23
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
24
// for more details.
25
//
26
// SPDX-License-Identifier: GPL-3.0-or-later
27
// SPDX-FileCopyrightText: Copyright © VirtualFluids Project contributors, see AUTHORS.md in root folder
28
//
32
//=======================================================================================
33
#include "
ShearWaveSimulationParameter.h
"
34
35
#include "
Simulations/ShearWave/InitialConditions/InitialConditionShearWave.h
"
36
#include "
Simulations/ShearWave/ShearWaveParameterStruct.h
"
37
38
#include "
Utilities/Structs/GridInformationStruct.h
"
39
40
#include <sstream>
41
42
std::shared_ptr<SimulationParameter>
ShearWaveSimulationParameter::getNewInstance
(std::string kernel,
double
viscosity, std::shared_ptr<ShearWaveParameterStruct>
parameterStruct
, std::shared_ptr<GridInformationStruct>
gridInfo
)
43
{
44
return
std::shared_ptr<SimulationParameter>(
new
ShearWaveSimulationParameter
(kernel, viscosity,
parameterStruct
,
gridInfo
));
45
}
46
47
ShearWaveSimulationParameter::ShearWaveSimulationParameter
(std::string kernel,
double
viscosity, std::shared_ptr<ShearWaveParameterStruct>
parameterStruct
, std::shared_ptr<GridInformationStruct>
gridInfo
)
48
:
SimulationParameterImp
(kernel, viscosity,
parameterStruct
->basicSimulationParameter,
gridInfo
)
49
{
50
this->
timeStepLength
= parameterStruct->basicTimeStepLength * (
gridInfo
->lx /
l0
)*(
gridInfo
->lx /
l0
);
51
52
if
(
parameterStruct
->ux >
parameterStruct
->uz)
53
this->
maxVelocity
= parameterStruct->ux / (
lx
/
l0
);
54
else
55
this->
maxVelocity
= parameterStruct->uz / (
lx
/
l0
);
56
57
std::string kernelName = kernel;
58
59
std::ostringstream oss;
60
oss <<
parameterStruct
->vtkFilePath <<
"/ShearWave/Viscosity_"
<< viscosity <<
"/ux_"
<<
parameterStruct
->ux <<
"_uz_"
<<
parameterStruct
->uz <<
"/"
<< kernelName <<
"/grid"
<<
lx
;
61
generateFileDirectionInMyStystem
(oss.str());
62
this->
filePath
= oss.str();
63
}
GridInformationStruct.h
InitialConditionShearWave.h
ShearWaveParameterStruct.h
ShearWaveSimulationParameter.h
ShearWaveSimulationParameter::ShearWaveSimulationParameter
ShearWaveSimulationParameter()
Definition
ShearWaveSimulationParameter.h:46
SimulationParameterImp
Definition
SimulationParameterImp.h:43
SimulationParameterImp::l0
real l0
Definition
SimulationParameterImp.h:68
SimulationParameterImp::timeStepLength
unsigned int timeStepLength
Definition
SimulationParameterImp.h:65
SimulationParameterImp::lx
real lx
Definition
SimulationParameterImp.h:68
SimulationParameterImp::maxVelocity
double maxVelocity
Definition
SimulationParameterImp.h:67
SimulationParameterImp::filePath
std::string filePath
Definition
SimulationParameterImp.h:66
SimulationParameterImp::generateFileDirectionInMyStystem
void generateFileDirectionInMyStystem(std::string filePath)
Definition
SimulationParameterImp.cpp:58
ShearWaveSimulationParameter::getNewInstance
static std::shared_ptr< SimulationParameter > getNewInstance(std::string kernel, double viscosity, std::shared_ptr< ShearWaveParameterStruct > parameterStruct, std::shared_ptr< GridInformationStruct > gridInfo)
Definition
ShearWaveSimulationParameter.cpp:42
SPtr
std::shared_ptr< T > SPtr
Definition
PointerDefinitions.h:39
tests
numerical-tests
gpu
NumericalTests
Simulations
ShearWave
SimulationParameter
ShearWaveSimulationParameter.cpp
Generated on Fri May 15 2026 00:03:21 for VirtualFluids by
1.9.8