OpenPisco.Optim.Criteria.PhyMecaCriteria module#

OpenPisco.Optim.Criteria.PhyMecaCriteria.CheckIntegrity(GUI=False)[source]#
OpenPisco.Optim.Criteria.PhyMecaCriteria.CreateTopoCriteriaNodalTargetDisp(ops)[source]#
OpenPisco.Optim.Criteria.PhyMecaCriteria.CreateTopoCriteriaVonMises(ops)[source]#

<Constraint type=”VonMises” name=”VonMises” useProblem=”1” UpperBound=”0.1*11387960” CriteriaOffZone=”13” > <useMethod type=”Regionalization” submethod=”Interlacing” numberOfRegions=”3”/> </Constraint>

OpenPisco.Optim.Criteria.PhyMecaCriteria.HookeIsoModified(E, nu, dim)[source]#
class OpenPisco.Optim.Criteria.PhyMecaCriteria.TopoCriteriaNodalTargetDisp(other=None)[source]#

Bases: PhysicalCriteriaBase

GetCriteriaSolution(i)[source]#
classmethod GetCriteriaSolution(self, i)[source]#

Retrieve the solution of index i. The index i should be smaller than the total number of solutions :param int i : index of the current solution :return: solution :rtype: ndarray

GetCriteriaSolutionName(i)[source]#
classmethod GetCriteriaSolutionName(self, i)[source]#

Retrieve the name of the solution of index i. The index i should be smaller than the total number of solutions :param int i : index of the current solution :return: solution name :rtype: str

GetNumberOfSolutions()[source]#
classmethod GetNumberOfSolutions(self)[source]#

Retrieve the number of solutions of the current criterion :return: number of solutions :rtype: int

SetAuxiliaryQuantities(levelSet)[source]#
UpdateValues(levelSet)[source]#

J(Omega) = (int_{nTag} |u*dir -u0|^2 dx)

class OpenPisco.Optim.Criteria.PhyMecaCriteria.TopoCriteriaVonMises(other=None)[source]#

Bases: SemiInfiniteCriteriaBase

ComputeAdjointLoad(sigma, materialFields)[source]#
ComputeComputationalElementFilter()[source]#
ComputeComputationalElementFilter(levelSet)[source]#

Compute computational support, to be redefined according to criteria

ComputeLocalValues()[source]#

Compute specific local values, to be redefined according to criteria

ComputeObjective()[source]#
ComputeSensitivity(levelSet)[source]#

sigma(u) = A*e(u)

-div(sigma(p)) = div( A*j’(sigma(u)) // Omega

p = 0 // Gamma_D

(sigma(p))*n = -A*j’(sigma(u)*n // Gamma_N U Gamma

equivalent to

int_Omega { sigma(p) : epsi (v) } = - int_Omega { A*j’(sigma(u) : epsi(v) }

CreateAdjointProblemDictProperties()[source]#
GetCriteriaSolution(i)[source]#
classmethod GetCriteriaSolution(self, i)[source]#

Retrieve the solution of index i. The index i should be smaller than the total number of solutions :param int i : index of the current solution :return: solution :rtype: ndarray

GetCriteriaSolutionName(i)[source]#
classmethod GetCriteriaSolutionName(self, i)[source]#

Retrieve the name of the solution of index i. The index i should be smaller than the total number of solutions :param int i : index of the current solution :return: solution name :rtype: str

GetNumberOfSolutions()[source]#
classmethod GetNumberOfSolutions(self)[source]#

Retrieve the number of solutions of the current criterion :return: number of solutions :rtype: int

GetPreStressData(Ajprime)[source]#
GetScalarsOutputs()[source]#
GetStressTensorData(sigma)[source]#
InitialiseNormalizationFactor()[source]#
SetAdjointProblem()[source]#
SetAuxiliaryQuantities(levelSet)[source]#
SetUpperBound(bound)[source]#
UpdateAdjointProblem()[source]#
UpdateValues(levelSet)[source]#
classmethod UpdateValues(self, point)[source]#

Update value and sensitivity of the criterion for the current levelset

Parameters

point (LevelSet) – current level set

Returns

paramater indicating if the update was successfull

Return type

bool