Skip to content
Snippets Groups Projects
Commit bd764067 authored by Sven Marcus's avatar Sven Marcus
Browse files

Renamed virtualfluids python package to pyfluids

parent d038bee2
No related branches found
No related tags found
No related merge requests found
Showing
with 74 additions and 93 deletions
from virtualfluids.boundaryconditions import NoSlipBCAdapter, NoSlipBCAlgorithm from pyfluids import Simulation
from virtualfluids.builder import VirtualFluidsBuilder from pyfluids.boundaryconditions import NoSlipBCAdapter, NoSlipBCAlgorithm
from virtualfluids.geometry import GbCuboid3D from pyfluids.geometry import GbCuboid3D
from virtualfluids.kernel import LBMKernel, KernelType from pyfluids.kernel import LBMKernel, KernelType
from virtualfluids.writer import Writer, WriterType from pyfluids.writer import Writer, WriterType
def simulate_poiseuille_flow(physical_params, grid_params, sim_params): def simulate_poiseuille_flow(physical_params, grid_params, sim_params):
builder = VirtualFluidsBuilder() simulation = Simulation()
kernel = LBMKernel(KernelType.CompressibleCumulantFourthOrderViscosity) kernel = LBMKernel(KernelType.CompressibleCumulantFourthOrderViscosity)
kernel.use_forcing = True kernel.use_forcing = True
...@@ -21,18 +21,18 @@ def simulate_poiseuille_flow(physical_params, grid_params, sim_params): ...@@ -21,18 +21,18 @@ def simulate_poiseuille_flow(physical_params, grid_params, sim_params):
writer.output_path = "./output" writer.output_path = "./output"
writer.type = WriterType.BINARY writer.type = WriterType.BINARY
builder.set_kernel_config(kernel) simulation.set_kernel_config(kernel)
builder.set_physical_parameters(physical_params) simulation.set_physical_parameters(physical_params)
builder.set_grid_parameters(grid_params) simulation.set_grid_parameters(grid_params)
builder.set_simulation_parameters(sim_params) simulation.set_simulation_parameters(sim_params)
builder.set_writer(writer) simulation.set_writer(writer)
no_slip_adapter = NoSlipBCAdapter() no_slip_adapter = NoSlipBCAdapter()
no_slip_adapter.algorithm = NoSlipBCAlgorithm() no_slip_adapter.algorithm = NoSlipBCAlgorithm()
builder.add_bc_adapter(no_slip_adapter) simulation.add_bc_adapter(no_slip_adapter)
block_length = 3 * grid_params.delta_x block_length = 3 * grid_params.delta_x
builder.add_object( simulation.add_object(
GbCuboid3D(g_min_x1 - block_length, GbCuboid3D(g_min_x1 - block_length,
g_min_x2 - block_length, g_min_x2 - block_length,
g_min_x3 - block_length, g_min_x3 - block_length,
...@@ -42,7 +42,7 @@ def simulate_poiseuille_flow(physical_params, grid_params, sim_params): ...@@ -42,7 +42,7 @@ def simulate_poiseuille_flow(physical_params, grid_params, sim_params):
no_slip_adapter, no_slip_adapter,
1, "/geo/addWallZMin") 1, "/geo/addWallZMin")
builder.add_object( simulation.add_object(
GbCuboid3D(g_min_x1 - block_length, GbCuboid3D(g_min_x1 - block_length,
g_min_x2 - block_length, g_min_x2 - block_length,
g_max_x3, g_max_x3,
...@@ -52,4 +52,4 @@ def simulate_poiseuille_flow(physical_params, grid_params, sim_params): ...@@ -52,4 +52,4 @@ def simulate_poiseuille_flow(physical_params, grid_params, sim_params):
no_slip_adapter, no_slip_adapter,
1, "/geo/addWallZMax") 1, "/geo/addWallZMax")
builder.run_simulation() simulation.run_simulation()
from virtualfluids.boundaryconditions import * from pyfluids.boundaryconditions import *
no_slip_algo = NoSlipBCAlgorithm() no_slip_algo = NoSlipBCAlgorithm()
no_slip_bc_adapter = NoSlipBCAdapter() no_slip_bc_adapter = NoSlipBCAdapter()
......
...@@ -2,8 +2,8 @@ from virtualfluids.geometry import GbCuboid3D ...@@ -2,8 +2,8 @@ from virtualfluids.geometry import GbCuboid3D
from virtualfluids.boundaryconditions import NoSlipBCAlgorithm, NoSlipBCAdapter, VelocityBCAdapter, DensityBCAdapter, \ from virtualfluids.boundaryconditions import NoSlipBCAlgorithm, NoSlipBCAdapter, VelocityBCAdapter, DensityBCAdapter, \
VelocityBCAlgorithm, NonReflectingOutflowBCAlgorithm VelocityBCAlgorithm, NonReflectingOutflowBCAlgorithm
from virtualfluids.parameters import PhysicalParameters, SimulationParameters, GridParameters from virtualfluids.parameters import PhysicalParameters, SimulationParameters, GridParameters
from virtualfluids.kernel import CompressibleCumulantFourthOrderViscosityKernel from virtualfluids.kernel import LBMKernel, KernelType
from virtualfluids.builder import VirtualFluidsBuilder from virtualfluids.simulation import Simulation
from virtualfluids.writer import Writer, WriterType from virtualfluids.writer import Writer, WriterType
from pymuparser import Parser from pymuparser import Parser
...@@ -27,7 +27,7 @@ grid_parameters.periodic_boundary_in_x3 = True ...@@ -27,7 +27,7 @@ grid_parameters.periodic_boundary_in_x3 = True
sim_parameters = SimulationParameters() sim_parameters = SimulationParameters()
sim_parameters.timestep_log_interval = 1000 sim_parameters.timestep_log_interval = 1000
sim_parameters.number_of_timesteps = 1000000 sim_parameters.number_of_timesteps = 1000
sim_parameters.number_of_threads = 4 sim_parameters.number_of_threads = 4
wall_thickness = 3 * grid_parameters.delta_x wall_thickness = 3 * grid_parameters.delta_x
...@@ -67,7 +67,7 @@ velocity_function.expression = "u" ...@@ -67,7 +67,7 @@ velocity_function.expression = "u"
velocity_bc = VelocityBCAdapter(True, False, False, velocity_function, 0, -10) velocity_bc = VelocityBCAdapter(True, False, False, velocity_function, 0, -10)
velocity_bc.algorithm = VelocityBCAlgorithm() velocity_bc.algorithm = VelocityBCAlgorithm()
kernel = CompressibleCumulantFourthOrderViscosityKernel() kernel = LBMKernel(KernelType.CompressibleCumulantFourthOrderViscosity)
# kernel.use_forcing = True # kernel.use_forcing = True
# kernel.forcing_in_x1 = 3e-6 # kernel.forcing_in_x1 = 3e-6
...@@ -75,7 +75,7 @@ writer = Writer() ...@@ -75,7 +75,7 @@ writer = Writer()
writer.output_path = "./output" writer.output_path = "./output"
writer.type = WriterType.BINARY writer.type = WriterType.BINARY
builder = VirtualFluidsBuilder(communicator_type="mpi") builder = Simulation()
builder.set_writer(writer) builder.set_writer(writer)
builder.set_physical_parameters(physical_parameters) builder.set_physical_parameters(physical_parameters)
......
from virtualfluids.geometry import * from pyfluids.geometry import *
point1 = GbPoint3D(1, 2, 3) point1 = GbPoint3D(1, 2, 3)
point2 = GbPoint3D(4, 5, 6) point2 = GbPoint3D(4, 5, 6)
......
from virtualfluids.kernel import LBMKernel, KernelType from pyfluids.kernel import LBMKernel, KernelType
kernel = LBMKernel(KernelType.BGK) kernel = LBMKernel(KernelType.BGK)
kernel.use_forcing = True kernel.use_forcing = True
......
from pyfluids import Simulation
from pyfluids.boundaryconditions import NoSlipBCAdapter, NoSlipBCAlgorithm, VelocityBCAdapter, VelocityBCAlgorithm
from pyfluids.geometry import GbCuboid3D
from pyfluids.kernel import LBMKernel, KernelType
from pyfluids.parameters import GridParameters, PhysicalParameters, SimulationParameters
from pymuparser import Parser from pymuparser import Parser
from virtualfluids.boundaryconditions import NoSlipBCAdapter, NoSlipBCAlgorithm, VelocityBCAdapter, VelocityBCAlgorithm
from virtualfluids.builder import VirtualFluidsBuilder builder = Simulation()
from virtualfluids.geometry import GbCuboid3D kernel = LBMKernel(KernelType.CompressibleCumulantFourthOrderViscosity)
from virtualfluids.kernel import CumulantK17LBMKernelConfig
from virtualfluids.parameters import GridParameters, PhysicalParameters, SimulationParameters
builder = VirtualFluidsBuilder(communicator_type="mpi")
kernel = CumulantK17LBMKernelConfig()
sim_parameters = SimulationParameters() sim_parameters = SimulationParameters()
sim_parameters.number_of_threads = 4 sim_parameters.number_of_threads = 4
......
...@@ -4,7 +4,7 @@ import pyvista as pv ...@@ -4,7 +4,7 @@ import pyvista as pv
from norms import l2_norm from norms import l2_norm
from poiseuille_analytical import poiseuille_at_heights, PoiseuilleSettings from poiseuille_analytical import poiseuille_at_heights, PoiseuilleSettings
from poiseuille_flow import simulate_poiseuille_flow from poiseuille_flow import simulate_poiseuille_flow
from virtualfluids.parameters import PhysicalParameters, GridParameters, SimulationParameters from pyfluids.parameters import PhysicalParameters, GridParameters, SimulationParameters
from vtk_utilities import vertical_column_from_mesh, get_values_from_indices from vtk_utilities import vertical_column_from_mesh, get_values_from_indices
......
import virtualfluids import pyfluids
import virtualfluids.geometry help(pyfluids)
help(virtualfluids) \ No newline at end of file
\ No newline at end of file
...@@ -2,18 +2,18 @@ project(VirtualFluidsPython) ...@@ -2,18 +2,18 @@ project(VirtualFluidsPython)
file(GLOB SUBMODULE_SOURCES src/submodules/*.cpp) file(GLOB SUBMODULE_SOURCES src/submodules/*.cpp)
pybind11_add_module(virtualfluids src/VirtualfluidsModule.cpp) pybind11_add_module(pyfluids src/VirtualfluidsModule.cpp)
pybind11_add_module(pymuparser src/muParser.cpp) pybind11_add_module(pymuparser src/muParser.cpp)
# TODO: Move this to MuParser CMakeLists.txt # TODO: Move this to MuParser CMakeLists.txt
set_target_properties(muparser PROPERTIES POSITION_INDEPENDENT_CODE ON) set_target_properties(muparser PROPERTIES POSITION_INDEPENDENT_CODE ON)
target_compile_definitions(virtualfluids PRIVATE VF_METIS VF_MPI) target_compile_definitions(pyfluids PRIVATE VF_METIS VF_MPI)
target_compile_definitions(pymuparser PRIVATE VF_METIS VF_MPI) target_compile_definitions(pymuparser PRIVATE VF_METIS VF_MPI)
target_link_libraries(virtualfluids PRIVATE VirtualFluidsBuilder VirtualFluidsCore muparser basics) target_link_libraries(pyfluids PRIVATE simulationconfig VirtualFluidsCore muparser basics)
target_link_libraries(pymuparser PRIVATE muparser) target_link_libraries(pymuparser PRIVATE muparser)
install(TARGETS virtualfluids DESTINATION .) install(TARGETS pyfluids DESTINATION .)
install(TARGETS pymuparser DESTINATION .) install(TARGETS pymuparser DESTINATION .)
#include <pybind11/pybind11.h> #include <pybind11/pybind11.h>
#include "submodules/boundaryconditions.cpp" #include "submodules/boundaryconditions.cpp"
#include "submodules/builder.cpp" #include "submodules/simulationconfig.cpp"
#include "submodules/geometry.cpp" #include "submodules/geometry.cpp"
#include "submodules/kernel.cpp" #include "submodules/kernel.cpp"
#include "submodules/simulationparameters.cpp" #include "submodules/simulationparameters.cpp"
...@@ -8,10 +8,10 @@ ...@@ -8,10 +8,10 @@
namespace py = pybind11; namespace py = pybind11;
PYBIND11_MODULE(virtualfluids, m) PYBIND11_MODULE(pyfluids, m)
{ {
makeBoundaryConditionsModule(m); makeBoundaryConditionsModule(m);
makeBuilderModule(m); makeSimulationModule(m);
makeGeometryModule(m); makeGeometryModule(m);
makeKernelModule(m); makeKernelModule(m);
makeParametersModule(m); makeParametersModule(m);
......
#include <pybind11/pybind11.h>
#include <VirtualFluidsBuilder/VirtualFluidsBuilder.h>
namespace py = pybind11;
void makeBuilderModule(py::module &parentModule)
{
using namespace pybind11::literals;
py::module builderModule = parentModule.def_submodule("builder");
py::class_<VirtualFluidsBuilder, std::shared_ptr<VirtualFluidsBuilder>>(builderModule, "VirtualFluidsBuilder")
.def(py::init())
.def("set_writer", &VirtualFluidsBuilder::setWriterConfig)
.def("set_grid_parameters", &VirtualFluidsBuilder::setGridParameters)
.def("set_physical_parameters", &VirtualFluidsBuilder::setPhysicalParameters)
.def("set_simulation_parameters", &VirtualFluidsBuilder::setSimulationParameters)
.def("set_kernel_config", &VirtualFluidsBuilder::setKernelConfig)
.def("add_object", &VirtualFluidsBuilder::addObject)
.def("add_bc_adapter", &VirtualFluidsBuilder::addBCAdapter)
.def("run_simulation", &VirtualFluidsBuilder::run);
}
\ No newline at end of file
#include <memory> #include <memory>
#include <pybind11/pybind11.h> #include <pybind11/pybind11.h>
#include <VirtualFluidsBuilder/KernelFactory.h> #include <simulationconfig/KernelFactory.h>
#include <VirtualFluidsBuilder/KernelConfigStructs.h> #include <simulationconfig/KernelConfigStructs.h>
namespace py = pybind11; namespace py = pybind11;
......
#include <pybind11/pybind11.h>
#include <simulationconfig/Simulation.h>
namespace py = pybind11;
void makeSimulationModule(py::module &parentModule)
{
using namespace pybind11::literals;
py::class_<Simulation, std::shared_ptr<Simulation>>(parentModule, "Simulation")
.def(py::init())
.def("set_writer", &Simulation::setWriterConfig)
.def("set_grid_parameters", &Simulation::setGridParameters)
.def("set_physical_parameters", &Simulation::setPhysicalParameters)
.def("set_simulation_parameters", &Simulation::setSimulationParameters)
.def("set_kernel_config", &Simulation::setKernelConfig)
.def("add_object", &Simulation::addObject)
.def("add_bc_adapter", &Simulation::addBCAdapter)
.def("run_simulation", &Simulation::run);
}
\ No newline at end of file
#include <pybind11/pybind11.h> #include <pybind11/pybind11.h>
#include <pybind11/stl.h> #include <pybind11/stl.h>
#include <VirtualFluidsBuilder/SimulationParameters.h> #include <simulationconfig/SimulationParameters.h>
namespace py = pybind11; namespace py = pybind11;
......
#include <pybind11/pybind11.h> #include <pybind11/pybind11.h>
#include <VirtualFluidsBuilder/WriterConfig.h> #include <simulationconfig/WriterConfig.h>
namespace py = pybind11; namespace py = pybind11;
......
cmake_minimum_required(VERSION 3.1) cmake_minimum_required(VERSION 3.1)
project(VirtualFluidsBuilder) project(simulationconfig)
set(VFBUILDER_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include) set(VFBUILDER_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/include)
file(GLOB HEADERS ${VFBUILDER_INCLUDE_DIR}/VirtualFluidsBuilder/*.h) file(GLOB HEADERS ${VFBUILDER_INCLUDE_DIR}/simulationconfig/*.h)
file(GLOB SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp) file(GLOB SRC ${CMAKE_CURRENT_SOURCE_DIR}/src/*.cpp)
add_library(VirtualFluidsBuilder STATIC ${SRC} ${HEADERS}) add_library(simulationconfig STATIC ${SRC} ${HEADERS})
set_target_properties(VirtualFluidsBuilder PROPERTIES CXX_STANDARD 11 POSITION_INDEPENDENT_CODE ON) set_target_properties(simulationconfig PROPERTIES CXX_STANDARD 11 POSITION_INDEPENDENT_CODE ON)
target_include_directories(VirtualFluidsBuilder PUBLIC ${VFBUILDER_INCLUDE_DIR}) target_include_directories(simulationconfig PUBLIC ${VFBUILDER_INCLUDE_DIR})
target_link_libraries(VirtualFluidsBuilder PRIVATE VirtualFluidsCore basics muparser) target_link_libraries(simulationconfig PRIVATE VirtualFluidsCore basics muparser)
target_compile_definitions(VirtualFluidsBuilder PRIVATE VF_METIS VF_MPI) target_compile_definitions(simulationconfig PRIVATE VF_METIS VF_MPI)
//
// Created by Sven Marcus on 20.08.20.
//
#ifndef VIRTUALFLUIDSPYTHONBINDINGS_ABSTRACTLBMSYSTEM_H #ifndef VIRTUALFLUIDSPYTHONBINDINGS_ABSTRACTLBMSYSTEM_H
#define VIRTUALFLUIDSPYTHONBINDINGS_ABSTRACTLBMSYSTEM_H #define VIRTUALFLUIDSPYTHONBINDINGS_ABSTRACTLBMSYSTEM_H
......
//
// Created by Sven Marcus on 20.08.20.
//
#ifndef VIRTUALFLUIDSPYTHONBINDINGS_D3Q27LBMSYSTEM_H #ifndef VIRTUALFLUIDSPYTHONBINDINGS_D3Q27LBMSYSTEM_H
#define VIRTUALFLUIDSPYTHONBINDINGS_D3Q27LBMSYSTEM_H #define VIRTUALFLUIDSPYTHONBINDINGS_D3Q27LBMSYSTEM_H
......
//
// Created by Sven Marcus on 10.09.20.
//
#ifndef VIRTUALFLUIDSPYTHONBINDINGS_KERNELCONFIGSTRUCTS_H #ifndef VIRTUALFLUIDSPYTHONBINDINGS_KERNELCONFIGSTRUCTS_H
#define VIRTUALFLUIDSPYTHONBINDINGS_KERNELCONFIGSTRUCTS_H #define VIRTUALFLUIDSPYTHONBINDINGS_KERNELCONFIGSTRUCTS_H
......
//
// Created by Sven Marcus on 20.08.20.
//
#ifndef VIRTUALFLUIDSPYTHONBINDINGS_KERNELFACTORY_H #ifndef VIRTUALFLUIDSPYTHONBINDINGS_KERNELFACTORY_H
#define VIRTUALFLUIDSPYTHONBINDINGS_KERNELFACTORY_H #define VIRTUALFLUIDSPYTHONBINDINGS_KERNELFACTORY_H
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment