Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions examples/biceps_activeMuscle_3D.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -133,6 +133,7 @@ int main(int argc, char* argv[]){
// setting Newton's method
gsIterative<real_t> solver(assembler);
solver.options().setInt("Verbosity",solver_verbosity::all);
solver.options().setReal("RelTol",1e-4); // Should be 1e-9
solver.options().setInt("Solver",linear_solver::LDLT);

gsInfo << "Solving...\n";
Expand Down
2 changes: 1 addition & 1 deletion examples/muscleBeam_activeMuscle_3Dt.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ int main(int argc, char* argv[]){
gsVector<> fiberDirection(3);
fiberDirection << 1.,0.,0.;
// space discretization
index_t numUniRefDirX = 2;
index_t numUniRefDirX = 0;
index_t numUniRef = 0;
index_t numDegElev = 0;
bool subgridOrTaylorHood = false;
Expand Down
7 changes: 4 additions & 3 deletions src/gsVisitorElasticityNeumann.h
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ class gsVisitorElasticityNeumann
const gsOptionList & options,
gsQuadRule<T> & rule)
{
GISMO_UNUSED(patchIndex);
currentPatch = patchIndex;
// parametric dimension of the first displacement component
dim = basisRefs.front().dim();
// a quadrature rule is defined by the basis for the first displacement component.
Expand All @@ -59,8 +59,8 @@ class gsVisitorElasticityNeumann
md.flags = NEED_VALUE | NEED_MEASURE;
// Compute image of the quadrature points plus gradient, jacobian and other necessary data
geo.computeMap(md);
// Evaluate the Neumann functon on the images of the quadrature points
neumannFunction_ptr->eval_into(md.values[0], neumannValues);

neumannFunction_ptr->piece(currentPatch).eval_into(md.values[0], neumannValues);
// find local indices of the displacement basis functions active on the element
basisRefs.front().active_into(quNodes.col(0),localIndicesDisp);
N_D = localIndicesDisp.rows();
Expand Down Expand Up @@ -107,6 +107,7 @@ class gsVisitorElasticityNeumann
// problem info
short_t dim;
const gsFunctionSet<T> * neumannFunction_ptr;
index_t currentPatch; //gsLOOKUPFUNCTION
T forceScaling;
boxSide patchSide;
// geometry mapping
Expand Down
5 changes: 1 addition & 4 deletions src/gsVisitorThermoBoundary.h
Original file line number Diff line number Diff line change
Expand Up @@ -69,10 +69,7 @@ class gsVisitorThermoBoundary
// Compute image of the quadrature points plus gradient, jacobian and other necessary data
geo.computeMap(md);
// Evaluate temperature
if (paramTemp) // evaluate temperature in the parametric domain
temperatureField.piece(patch).eval_into(quNodes,tempValues);
else // evaluate temperature in the physical domain
temperatureField.eval_into(md.values[0],tempValues);
temperatureField.piece(patch).eval_into(quNodes,tempValues);
// find local indices of the displacement basis functions active on the element
basisRefs.front().active_into(quNodes.col(0),localIndicesDisp);
N_D = localIndicesDisp.rows();
Expand Down