Gradient Augmented Levelset Implementation in CPU & GPU
Main Page
Related Pages
Namespaces
Data Structures
Files
File List
Globals
velocity.h (Latest change: Author:Lakshman Anumolu <acrlakshman@yahoo.co.in>, 2019-07-27 14:14:10 -0500, [commit: 0b0a8dc])
Go to the documentation of this file.
1
// Copyright 2019 Lakshman Anumolu, Raunak Bardia.
3
//
4
// Redistribution and use in source and binary forms, with or without
5
// modification, are permitted provided that the following conditions are
6
// met:
7
//
8
// 1. Redistributions of source code must retain the above copyright notice,
9
// this list of conditions and the following disclaimer.
10
//
11
// 2. Redistributions in binary form must reproduce the above copyright notice,
12
// this list of conditions and the following disclaimer in the documentation
13
// and/or other materials provided with the distribution.
14
//
15
// 3. Neither the name of the copyright holder nor the names of its contributors
16
// may be used to endorse or promote products derived from this software without
17
// specific prior written permission.
18
//
19
// THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20
// "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21
// LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22
// A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23
// HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25
// LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26
// DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27
// THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
31
32
#pragma once
33
34
#include <map>
35
#include <string>
36
#include <vector>
37
38
#include "
gals/cpu/levelset-velocity.h
"
39
#include "
gals/input-fields/velocity.h
"
40
#include "
gals/utilities/array.h
"
41
#include "
gals/utilities/grid.h
"
42
#include "
gals/utilities/vec_n.h
"
43
44
namespace
GALS
45
{
46
namespace
ANALYTICAL_FIELDS
47
{
50
enum class
VelocityFieldNames
{
NOT_DEFINED
,
CIRCULAR
};
51
54
static
std::map<std::string, VelocityFieldNames>
velocity_name_map
{{
"CIRCULAR"
,
VelocityFieldNames::CIRCULAR
}};
55
60
template
<
typename
T_GRID,
typename
T =
double
>
61
class
Velocity
62
{
63
public
:
69
Velocity
(
const
T_GRID& grid,
const
GALS::INPUT_FIELDS::Velocity
& inputs);
70
73
Velocity
() =
delete
;
74
77
~
Velocity
();
78
83
const
T_GRID&
grid
()
const
{
return
m_grid; }
84
91
void
compute(
const
GALS::CPU::Array
<T_GRID,
GALS::CPU::Vec3<T>
>& positions,
const
T time,
92
GALS::CPU::LevelsetVelocity<T_GRID, T>
& levelset_velocity);
93
94
private
:
95
const
T_GRID& m_grid;
96
const
GALS::INPUT_FIELDS::Velocity
& m_inputs;
97
};
98
99
}
// namespace ANALYTICAL_FIELDS
100
}
// namespace GALS
GALS::CPU::LevelsetVelocity
Definition:
levelset-velocity.h:49
GALS::ANALYTICAL_FIELDS::Velocity
Definition:
velocity.h:61
GALS::ANALYTICAL_FIELDS::VelocityFieldNames
VelocityFieldNames
Definition:
velocity.h:50
GALS::ANALYTICAL_FIELDS::Velocity::grid
const T_GRID & grid() const
Definition:
velocity.h:83
GALS::INPUT_FIELDS::Velocity
Definition:
velocity.h:41
GALS::ANALYTICAL_FIELDS::velocity_name_map
static std::map< std::string, VelocityFieldNames > velocity_name_map
Definition:
velocity.h:54
levelset-velocity.h
array.h
GALS::ANALYTICAL_FIELDS::VelocityFieldNames::CIRCULAR
GALS::CPU::Vec3
Definition:
vec3.h:46
velocity.h
GALS::ANALYTICAL_FIELDS::LevelsetFieldNames::NOT_DEFINED
GALS
Definition:
input-parser.h:39
vec_n.h
GALS::CPU::Array
Definition:
array.h:49
grid.h
velocity.h
Generated on Mon Jul 29 2019 15:24:07 for Gradient Augmented Levelset Implementation in CPU & GPU by
1.8.11