dolfin team mailing list archive
-
dolfin team
-
Mailing list archive
-
Message #19673
Re: [Branch ~dolfin-core/dolfin/main] Rev 5192: Added complex to include files for Expression, so one can use complex numbers
Hello!
I am helping a student that needs to use complex calculation in the eval
method of an Expression. This is now possible using the compiled expression
interface.
Cheers!
Johan
##################################################
from dolfin import *
code = """
class SomeExpr : public Expression
{
public:
// Create expression with 3 components
SomeExpr() : Expression(3),param1(0.1), param2(0.2) {}
double param1;
double param2;
// Function for evaluating expression on each cell
void eval(Array<double>& values, const Data& data) const
{
std::complex<double> first (param1, param2);
std::complex<double> second(std::exp(first));
values[0] = second.real();
}
};
"""
e = Expression(code)
e.param1 = 1
e.param2 = 1
On Friday September 10 2010 11:55:49 noreply@xxxxxxxxxxxxx wrote:
> ------------------------------------------------------------
> revno: 5192
> committer: Johan Hake <hake.dev@xxxxxxxxx>
> branch nick: dolfin
> timestamp: Fri 2010-09-10 11:42:47 -0700
> message:
> Added complex to include files for Expression, so one can use complex
> numbers when calculating intermediate values.
> modified:
> site-packages/dolfin/compilemodules/__init__.py
>
>
> --
> lp:dolfin
> https://code.launchpad.net/~dolfin-core/dolfin/main
>
> Your team DOLFIN Core Team is subscribed to branch lp:dolfin.
> To unsubscribe from this branch go to
> https://code.launchpad.net/~dolfin-core/dolfin/main/+edit-subscription
Follow ups