Class xlifepp::Unknown#

class Unknown#

end user’s class to manage problem unknowns

Subclassed by xlifepp::ComponentOfUnknown, xlifepp::ComponentsOfUnknown, xlifepp::TestFunction

Public Functions

Unknown()#

default constructor

inline Unknown(const string_t &na, Space *sp, dimen_t nc, bool co, Unknown *du, number_t ra, bool iu)#

full explicit constructor

Unknown(const string_t &nm, Space &sp, dimen_t d = 1, number_t r = 0)#

unknown constructor from space, d is the number of components (user), r the unknown rank

Unknown(Space &sp, const char *nm, dimen_t d = 1, number_t r = 0)#

unknown constructor from space, d is the number of components (user), r the unknown rank

Unknown(Space &sp, const string_t &nm, dimen_t d = 1, number_t r = 0)#

unknown constructor from space, d is the number of components (user), r the unknown rank

inline virtual const ComponentOfUnknown *asComponent() const#

return Unknown as a ComponentOfUnknown if it is

inline virtual dimen_t componentIndex() const#

return component index if a ComponentOfUnknown, 0 if not

inline bool &conjugate()#

return the conjugate state (true/false) flag

inline bool conjugate() const#

return the conjugate state (true/false) flag

inline void conjugate(bool v) const#

set the conjugate state flag

number_t degree() const#

order of polynom used by unknown (degree od basis), decreased by order of derivation as we use numtype (order of interpolation) we distinguish Pk or Qk using a ShapeType argument

order of polynoms used by unknown (degree of basis) if FE space !

inline virtual dimen_t dimFun() const#

dimension of basis functions

const Unknown &dual() const#

return the dual unknown

inline Unknown *dual_p() const#

return the pointer to dual unknown

inline bool extensionRequired() const#

if FEspace, max degree of polynoms else return 5

true if unknown space has no trace space

number_t index() const#

return index of unknown (its rank in the Unknows vector)

inline virtual bool isComponent() const#

true if a ComponentOfUnknown

inline bool isFE() const#

true if FE unknown (FE space)

inline bool isSpectral() const#

true if spectral unknown (spectral space)

inline string_t name() const#

return name

inline virtual dimen_t nbOfComponents() const#

dimension of unknown

EssentialCondition operator=(const complex_t&)#

construct equation u = c

EssentialCondition operator=(const Function&)#

construct equation u = f

EssentialCondition operator=(const real_t&)#

construct equation u = r

EssentialCondition operator=(const TermVector&)#

construct equation u = TermVector (implemented in TermVector.cpp)

Unknown &operator[](dimen_t)#

create in memory the ComponentOfUnknown u_i

inline virtual const Unknown *parent() const#

return parent (itself)

inline number_t rank() const#

return the unknown rank (const)

void setRank(number_t)#

set the rank with checking (user)

set the rank of unknown

inline Space *space() const#

return pointer to space

StrucType strucType() const#

return the structure type of an unknown (scalar or vector)

UnknownType type() const#

return type of unknown

Public Members

bool isUnknown#

true if it is an unknown, false if it is a test function (see constructor)

mutable number_t nbEcShare = 0#

special counter used by the Essential condition machinery (ghost row unknown space)

Public Static Functions

static void clearGlobalVector()#

delete all unknown objects

static Unknown *findUnknown(const string_t&)#

find unknown by its name

static void printAllUnknowns(std::ostream&)#

print the list of Unknown objects in memory

Public Static Attributes

static number_t last_rank = 0#

last rank to set unique unknown rank

static std::vector<Unknown*> theUnknowns#

list of pointers of all Unknowns

Friends

friend Unknown &conj(Unknown&)#

set to true or false the temporary conjugate flag

friend std::ostream &operator<<(std::ostream&, const Unknown&)#

print an unknown