MCPcopy Create free account
hub / github.com/FreeFem/FreeFem-sources / isCompositeProblem

Function isCompositeProblem

src/fflib/problem.cpp:12941–12966  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

12939
12940
12941bool isCompositeProblem(const ListOfId &l){
12942 // function to check a composite problem with chevron < >
12943 int nb=l.size();
12944
12945 int nbcompo_begin = 0;
12946 int nbcompo_end = 0;
12947 for (int i=0;i<nb;i++){
12948 if( l[i].compo_begin == true ) nbcompo_begin++;
12949 if( l[i].compo_end == true ) nbcompo_end++;
12950 }
12951
12952 if( nbcompo_begin != nbcompo_end && (nbcompo_begin == 0 || nbcompo_begin == 2) ){
12953 cerr << "Try to use composite FESpace for a form "<< endl;
12954 cerr << " Nb of symbol '<' is " << nbcompo_begin << endl;
12955 cerr << " Nb of symbol '>' is " << nbcompo_end << endl;
12956 CompileError(" Must have have 2 '< ... >' , one for unknown functions, one for test functions for composite form");
12957 }
12958
12959 if( nbcompo_begin>0 ){
12960 return true;
12961 }
12962 else{
12963 return false;
12964 }
12965
12966}
12967
12968
12969// read the arguments of problem ex: problem a(u,v) or a([u1,u2], [v1,v2])

Callers 1

ProblemMethod · 0.85

Calls 2

CompileErrorFunction · 0.85
sizeMethod · 0.45

Tested by

no test coverage detected