diff options
Diffstat (limited to 'src/particles')
98 files changed, 16598 insertions, 0 deletions
diff --git a/src/particles/MakeHeader b/src/particles/MakeHeader new file mode 100644 index 0000000..0ea7b65 --- /dev/null +++ b/src/particles/MakeHeader @@ -0,0 +1,32 @@ +# This file is part of the OpenLB library +# +# Copyright (C) 2007 Mathias Krause +# E-mail contact: info@openlb.net +# The most recent release of OpenLB can be downloaded at +# <http://www.openlb.net/> +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. + + +generic := + +precompiled := particle3D \ + particleSystem3D \ + superParticleSystem3D \ + superParticleSysVTUout + # particleSysVTUout \ + +# TODO: add cpp files for "precompiled" as soon as they are created diff --git a/src/particles/boundaries/MakeHeader b/src/particles/boundaries/MakeHeader new file mode 100644 index 0000000..7918ac8 --- /dev/null +++ b/src/particles/boundaries/MakeHeader @@ -0,0 +1,29 @@ +# This file is part of the OpenLB library +# +# Copyright (C) 2007 Mathias Krause +# E-mail contact: info@openlb.net +# The most recent release of OpenLB can be downloaded at +# <http://www.openlb.net/> +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License +# as published by the Free Software Foundation; either version 2 +# of the License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public +# License along with this program; if not, write to the Free +# Software Foundation, Inc., 51 Franklin Street, Fifth Floor, +# Boston, MA 02110-1301, USA. + + +generic := + +precompiled := boundary3D \ + materialBoundary3D \ + wireBoundaryForMagP3D \ + boundarySimpleReflection3D diff --git a/src/particles/boundaries/boundaries.h b/src/particles/boundaries/boundaries.h new file mode 100644 index 0000000..9543bbb --- /dev/null +++ b/src/particles/boundaries/boundaries.h @@ -0,0 +1,36 @@ +/* This file is part of the OpenLB library + * + * Copyright (C) 2014 Thomas Henn, Mathias J. Krause + * E-mail contact: info@openlb.net + * The most recent release of OpenLB can be downloaded at + * <http://www.openlb.net/> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to the Free + * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. +*/ + +/** \file + * Groups all the include files for 3D particles boundaries in + * the particles boundaries directory. + */ + +#include "boundary3D.h" +#include "materialBoundary3D.h" +#include "periodicBoundary3D.h" +#include "wireBoundaryForMagP3D.h" +#include "boundarySimpleReflection3D.h" + + + diff --git a/src/particles/boundaries/boundaries.hh b/src/particles/boundaries/boundaries.hh new file mode 100644 index 0000000..5560689 --- /dev/null +++ b/src/particles/boundaries/boundaries.hh @@ -0,0 +1,33 @@ +/* This file is part of the OpenLB library + * + * Copyright (C) 2016 Thomas Henn, Mathias J. Krause, Marie-Luise Maier + * E-mail contact: info@openlb.net + * The most recent release of OpenLB can be downloaded at + * <http://www.openlb.net/> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to the Free + * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. +*/ + +/** \file + * Groups all the include files for 3D particles boundaries in + * the particles boundaries directory. + */ + +#include "boundary3D.hh" +#include "materialBoundary3D.hh" +#include "wireBoundaryForMagP3D.hh" +#include "boundarySimpleReflection3D.hh" + diff --git a/src/particles/boundaries/boundary3D.cpp b/src/particles/boundaries/boundary3D.cpp new file mode 100644 index 0000000..50efb54 --- /dev/null +++ b/src/particles/boundaries/boundary3D.cpp @@ -0,0 +1,34 @@ +/* This file is part of the OpenLB library + * + * Copyright (C) 2016 Mathias J. Krause, Marie-Luise Maier + * E-mail contact: info@openlb.net + * The most recent release of OpenLB can be downloaded at + * <http://www.openlb.net/> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to the Free + * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. +*/ + +#include"particles/particle3D.h" +#include"particles/particle3D.hh" +#include"boundary3D.h" +#include"boundary3D.hh" + +namespace olb { + +template class Boundary3D<double,Particle3D>; +template class Boundary3D<double,MagneticParticle3D>; + +} // namespace olb diff --git a/src/particles/boundaries/boundary3D.h b/src/particles/boundaries/boundary3D.h new file mode 100644 index 0000000..bef74b0 --- /dev/null +++ b/src/particles/boundaries/boundary3D.h @@ -0,0 +1,57 @@ +/* This file is part of the OpenLB library + * + * Copyright (C) 2014 Thomas Henn, Mathias J. Krause + * E-mail contact: info@openlb.net + * The most recent release of OpenLB can be downloaded at + * <http://www.openlb.net/> + * + * This program is free software; you can redistribute it and/or + * modify it under the terms of the GNU General Public License + * as published by the Free Software Foundation; either version 2 + * of the License, or (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public + * License along with this program; if not, write to the Free + * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. +*/ + + +#ifndef BOUNDARY3D_H +#define BOUNDARY3D_H + +#include "particles/particleSystem3D.h" +#include "particles/particleSystem3D.h" +#include "io/ostreamManager.h" + +namespace olb { + +template<typename T, template<typename U> class PARTICLETYPE> +class ParticleSystem3D; + + +/** + * Prototype for all particle boundaries + */ + +template<typename T, template<typename U> class PARTICLETYPE> +class Boundary3D { +public: + Boundary3D(); + Boundary3D(Boundary3D<T, PARTICLETYPE>&); + Boundary3D(const Boundary3D<T, PARTICLETYPE>&); + + virtual ~Boundary3D() {}; + virtual void applyBoundary(typename std::deque<PARTICLETYPE<T> >::iterator& p, ParticleSystem3D<T, PARTICLETYPE>& psSys)=0; + +protected: + mutable OstreamManager clout; +}; + +} +#endif /* BOUNDARY3D_H */ diff --git a/src/particles/boundaries/boundary3D.hh b/src/particles/boundaries/boundary3D.hh new file mode 100644 index 0000000..6e4951d --- /dev/null +++ b/src/particles/boundaries/boundary3D.hh @@ |