KADATH
ope_grad.cpp
1
/*
2
Copyright 2017 Philippe Grandclement
3
4
This file is part of Kadath.
5
6
Kadath is free software: you can redistribute it and/or modify
7
it under the terms of the GNU General Public License as published by
8
the Free Software Foundation, either version 3 of the License, or
9
(at your option) any later version.
10
11
Kadath is distributed in the hope that it will be useful,
12
but WITHOUT ANY WARRANTY; without even the implied warranty of
13
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14
GNU General Public License for more details.
15
16
You should have received a copy of the GNU General Public License
17
along with Kadath. If not, see <http://www.gnu.org/licenses/>.
18
*/
19
20
#include "ope_eq.hpp"
21
#include "scalar.hpp"
22
#include "tensor_impl.hpp"
23
namespace
Kadath {
24
Ope_grad::Ope_grad
(
const
System_of_eqs
* zesys,
Ope_eq
* target) :
Ope_eq
(zesys, target->get_dom(), 1) {
25
parts
[0] = target ;
26
}
27
28
Ope_grad::~Ope_grad
() {
29
}
30
31
Term_eq
Ope_grad::action
()
const
{
32
Term_eq
target (
parts
[0]->
action
()) ;
33
return
target.
val_t
->
get_space
().
get_domain
(
dom
)->
grad_term_eq
(target) ;
34
}}
Kadath::Domain::grad_term_eq
virtual Term_eq grad_term_eq(const Term_eq &so) const
Gradient of Term_eq.
Definition:
domain.cpp:173
Kadath::Ope_eq
Abstract class that describes the various operators that can appear in the equations.
Definition:
ope_eq.hpp:32
Kadath::Ope_eq::parts
MMPtr_array< Ope_eq > parts
Pointers of the various parts of the current operator.
Definition:
ope_eq.hpp:38
Kadath::Ope_eq::dom
int dom
Index of the Domain where the operator is defined.
Definition:
ope_eq.hpp:36
Kadath::Ope_grad::action
Term_eq action() const override
Computes the action of the current Ope_eq using its various parts.
Definition:
ope_grad.cpp:31
Kadath::Ope_grad::~Ope_grad
~Ope_grad() override
Destructor.
Definition:
ope_grad.cpp:28
Kadath::Ope_grad::Ope_grad
Ope_grad(const System_of_eqs *syst, Ope_eq *so)
Constructor.
Definition:
ope_grad.cpp:24
Kadath::Space::get_domain
const Domain * get_domain(int i) const
returns a pointer on the domain.
Definition:
space.hpp:1385
Kadath::System_of_eqs
Class used to describe and solve a system of equations.
Definition:
system_of_eqs.hpp:60
Kadath::Tensor::get_space
const Space & get_space() const
Returns the Space.
Definition:
tensor.hpp:499
Kadath::Term_eq
This class is intended to describe the manage objects appearing in the equations.
Definition:
term_eq.hpp:62
Kadath::Term_eq::val_t
Tensor * val_t
Pointer on the value, if the Term_eq is a Tensor.
Definition:
term_eq.hpp:68
src
Ope_eq
ope_grad.cpp
Generated by
1.9.1