PolyFEM
Loading...
Searching...
No Matches
polyfem::solver Namespace Reference

Namespaces

namespace  AdjointTools
 

Classes

class  AccelerationForm
 
class  AdjointForm
 
class  AdjointNLProblem
 
struct  AdjointOptUtils
 
class  ALSolver
 
class  AMIPSForm
 
class  AugmentedLagrangianForm
 Form of the augmented lagrangian. More...
 
class  BarrierContactForceDerivative
 
class  BarrierContactForm
 
class  BarycenterTargetForm
 
class  BCLagrangianForm
 Form of the augmented lagrangian for bc constraints. More...
 
class  BodyForceDerivative
 
class  BodyForm
 Form representing body forces. More...
 
class  BoundarySmoothingForm
 
class  BoundedBiharmonicWeights2Dto3D
 
class  BSplineParametrization1DTo2D
 
class  CollisionBarrierForm
 
class  ComplianceForm
 
class  CompositeForm
 
class  CompositeParametrization
 
class  ContactForm
 Form representing the contact potential and forces. More...
 
class  DampingVariableToSimulation
 Maps to viscous damping parameters phi/psi. More...
 
class  DeformedCollisionBarrierForm
 
class  DirichletBoundaryVariableToSimulation
 Maps to dirichlet boundary. More...
 
class  DirichletEnergyForm
 
class  DirichletNodesVariableToSimulation
 Maps to dirichlet boundary. More...
 
class  DivideForm
 
class  ElasticEnergyForm
 
class  ElasticForceDerivative
 
class  ElasticVariableToSimulation
 Maps to lame coefficients per element. More...
 
class  ENu2LambdaMu
 
class  ExponentialMap
 
class  Form
 
class  FrictionForceDerivative
 
class  FrictionForm
 Form of the lagged friction disapative potential and forces. More...
 
class  FrictionVariableToSimulation
 Maps one friction coefficient to the whole state. More...
 
class  FullNLProblem
 
class  HomoCompositeForm
 
class  InequalityConstraintForm
 
class  InertiaForceDerivative
 
class  InertiaForm
 Form of the inertia. More...
 
class  InitialConditionVariableToSimulation
 Maps to initial solution and solution velocity. More...
 
class  InsertConstantMap
 
class  InversionBarrierForm
 
class  KineticForm
 
class  L2ProjectionForm
 
class  LaggedRegForm
 Tikonov regularization form between x and x_lagged. More...
 
class  LayerThicknessForm
 
class  LinearFilter
 Maps to average of neighboring. More...
 
class  LogCompositeForm
 
class  MacroStrainLagrangianForm
 Form of the lagrangian in augmented lagrangian for homogenization. More...
 
class  MatrixLagrangianForm
 Form of the lagrangian in augmented lagrangian. More...
 
class  MaxStressForm
 
class  MeshTargetForm
 
class  MinJacobianForm
 Compute the minimum jacobian of the mesh elements, not differentiable polygon elements not supported! More...
 
class  MinTargetDistForm
 
class  NavierStokesSolver
 
class  NegativeCompositeForm
 
class  NLHomoProblem
 
class  NLProblem
 
class  NodeTargetForm
 
class  NormalAdhesionForceDerivative
 
class  NormalAdhesionForm
 Form representing the contact potential and forces. More...
 
class  OperatorSplittingSolver
 
class  Parametrization
 A function f : x -> y. More...
 
class  ParametrizationForm
 
class  ParametrizedProductForm
 
class  PerBody2PerElem
 Map per body to per element in dim major layout (x1 x2 ... y1 y1 ... z1 z2 ...) More...
 
class  PerBody2PerNode
 Map per body to per FE node in node major layout (x1 y1 z1 x2 y2 z2...) More...
 
class  PeriodicContactForceDerivative
 
class  PeriodicContactForm
 Form representing the contact potential and forces on a periodic mesh This form has a different input format of [fluctuation, affine], only can be used in NLHomoProblem. More...
 
class  PeriodicLagrangianForm
 Form of the augmented lagrangian for bc constraints. More...
 
class  PeriodicMeshToMesh
 
class  PeriodicShapeVariableToSimulation
 
class  PlusConstCompositeForm
 
class  PositionForm
 
class  PowerForm
 
class  PowerMap
 
class  PressureBoundaryVariableToSimulation
 Maps to pressure boundary. More...
 
class  PressureForceDerivative
 
class  PressureForm
 Form representing body forces. More...
 
class  ProxyContactForceForm
 
class  ProxyTransientForm
 
class  QuadraticPenaltyForm
 Form for quadratic soft constraints. More...
 
class  RayleighDampingForm
 Tikonov regularization form between x and x_lagged. More...
 
class  ScalarVelocityParametrization
 
class  Scaling
 
class  SDFTargetForm
 
class  ShapeVariableToSimulation
 Maps to mesh vertex position. More...
 
class  SliceMap
 
class  SmoothContactForceDerivative
 
class  SmoothContactForceForm
 
class  SmoothContactForm
 
class  SolveData
 class to store time stepping data More...
 
class  SpatialIntegralForm
 
class  StaticBoundaryNLProblem
 
class  StaticForm
 
class  StressForm
 
class  StressNormForm
 
class  SumCompositeForm
 
class  TangentialAdhesionForceDerivative
 
class  TangentialAdhesionForm
 Form of the lagged tangential adhesion disapative potential and forces. More...
 
class  TargetForm
 
class  TransientForm
 
class  TransientNavierStokesSolver
 
class  VariableToSimulation
 Maps optimization variables to forward simulation legacy::State variables. More...
 
class  VariableToSimulationGroup
 
class  VolumeForm
 
class  WeightedVolumeForm
 Computes the dot product of the input x (after parametrization) and the volume of each element on the mesh. More...
 

Typedefs

typedef DScalar1< double, Eigen::Matrix< double, Eigen::Dynamic, 1 > > Diff
 

Enumerations

enum class  SpatialIntegralType { Volume , Surface , VertexSum }
 
enum class  ParameterType {
  Shape , LameParameter , FrictionCoefficient , DampingCoefficient ,
  InitialCondition , DirichletBC , PressureBC , MacroStrain ,
  PeriodicShape
}
 
enum class  ElementInversionCheck { Discrete , Conservative }
 

Functions

void apply_objective_json_spec (json &args, const json &rules)
 
bool is_active_geom_nodes_valid (const Eigen::VectorXi &active_geom_nodes, const std::vector< std::shared_ptr< legacy::State > > &states, std::string &reason)
 Validate active geometry nodes selection given states.
 
bool is_active_dims_valid (const Eigen::VectorXi &active_dimensions, const std::vector< std::shared_ptr< legacy::State > > &states, std::string &reason)
 Validate active dimensions selection given states.
 
bool is_active_dofs_valid (const Eigen::VectorXi &active_dofs, const std::vector< std::shared_ptr< legacy::State > > &states, std::string &reason)
 Validate active solution space dofs selection given states.
 
bool is_active_time_slices_valid (const Eigen::VectorXi &active_time_slices, const std::vector< std::shared_ptr< legacy::State > > &states, std::string &reason)
 Validate active time slices selection given states.
 
bool is_active_dirichlet_boundary_ids_valid (const Eigen::VectorXi &active_boundary_ids, const std::vector< std::shared_ptr< legacy::State > > &states, std::string &reason)
 Validate active Dirichlet boundary ids selection given states.
 
bool is_active_dirichlet_node_valid (const Eigen::VectorXi &active_dirichlet_nodes, const std::vector< std::shared_ptr< legacy::State > > &states, std::string &reason)
 Validate active Dirichlet node ids selection given states.
 
bool is_active_pressure_boundary_ids_valid (const Eigen::VectorXi &active_boundary_ids, const std::vector< std::shared_ptr< legacy::State > > &states, std::string &reason)
 Validate active pressure boundary ids selection given states.
 

Typedef Documentation

◆ Diff

typedef DScalar1<double, Eigen::Matrix<double, Eigen::Dynamic, 1> > polyfem::solver::Diff

Definition at line 251 of file SurfaceTractionForms.cpp.

Enumeration Type Documentation

◆ ElementInversionCheck

Enumerator
Discrete 
Conservative 

Definition at line 18 of file ElasticForm.hpp.

◆ ParameterType

enum class polyfem::solver::ParameterType
strong
Enumerator
Shape 
LameParameter 
FrictionCoefficient 
DampingCoefficient 
InitialCondition 
DirichletBC 
PressureBC 
MacroStrain 
PeriodicShape 

Definition at line 5 of file ParameterType.hpp.

◆ SpatialIntegralType

Enumerator
Volume 
Surface 
VertexSum 

Definition at line 28 of file AdjointTools.hpp.

Function Documentation

◆ apply_objective_json_spec()

void polyfem::solver::apply_objective_json_spec ( json args,
const json rules 
)

Definition at line 144 of file Optimizations.cpp.

References apply_objective_json_spec(), and polyfem::logger().

Referenced by apply_objective_json_spec(), and polyfem::solver::AdjointOptUtils::apply_opt_json_spec().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_active_dims_valid()

bool polyfem::solver::is_active_dims_valid ( const Eigen::VectorXi &  active_dimensions,
const std::vector< std::shared_ptr< legacy::State > > &  states,
std::string &  reason 
)

Validate active dimensions selection given states.

Parameters
[in]active_dimensionsVector of active dimensions. Empty implies all active.
[in]statesShared ptr to all states.
[out]reasonReason why validation failed. Set only when invalid.

Definition at line 62 of file ActiveSelectionUtils.cpp.

Referenced by polyfem::solver::ShapeVariableToSimulation::ShapeVariableToSimulation().

Here is the caller graph for this function:

◆ is_active_dirichlet_boundary_ids_valid()

bool polyfem::solver::is_active_dirichlet_boundary_ids_valid ( const Eigen::VectorXi &  active_boundary_ids,
const std::vector< std::shared_ptr< legacy::State > > &  states,
std::string &  reason 
)

Validate active Dirichlet boundary ids selection given states.

Parameters
[in]active_boundary_idsVector of active Dirichlet boundary ids. Empty implies all active.
[in]statesShared ptr to all states.
[out]reasonReason why validation failed. Set only when invalid.
Note
We do not support boundary with inactive dimension for now.

Definition at line 188 of file ActiveSelectionUtils.cpp.

Referenced by polyfem::solver::DirichletBoundaryVariableToSimulation::DirichletBoundaryVariableToSimulation().

Here is the caller graph for this function:

◆ is_active_dirichlet_node_valid()

bool polyfem::solver::is_active_dirichlet_node_valid ( const Eigen::VectorXi &  active_dirichlet_nodes,
const std::vector< std::shared_ptr< legacy::State > > &  states,
std::string &  reason 
)

Validate active Dirichlet node ids selection given states.

Parameters
[in]active_node_idsVector of active geometric node ids. Empty implies all active.
[in]statesShared ptr to all states.
[out]reasonReason why validation failed. Set only when invalid.

Definition at line 247 of file ActiveSelectionUtils.cpp.

References is_active_geom_nodes_valid().

Referenced by polyfem::solver::DirichletNodesVariableToSimulation::DirichletNodesVariableToSimulation().

Here is the call graph for this function:
Here is the caller graph for this function:

◆ is_active_dofs_valid()

bool polyfem::solver::is_active_dofs_valid ( const Eigen::VectorXi &  active_dofs,
const std::vector< std::shared_ptr< legacy::State > > &  states,
std::string &  reason 
)

Validate active solution space dofs selection given states.

Parameters
[in]active_dofsVector of active state dof indexes. Empty implies all active.
[in]statesShared ptr to all states.
[out]reasonReason why validation failed. Set only when invalid.

Definition at line 104 of file ActiveSelectionUtils.cpp.

Referenced by polyfem::solver::InitialConditionVariableToSimulation::InitialConditionVariableToSimulation().

Here is the caller graph for this function:

◆ is_active_geom_nodes_valid()

bool polyfem::solver::is_active_geom_nodes_valid ( const Eigen::VectorXi &  active_geom_nodes,
const std::vector< std::shared_ptr< legacy::State > > &  states,
std::string &  reason 
)

Validate active geometry nodes selection given states.

Parameters
[in]active_geom_nodesVector of active geometry node indexes. Empty implies all active.
[in]statesShared ptr to all states.
[out]reasonReason why validation failed. Set only when invalid.

Definition at line 20 of file ActiveSelectionUtils.cpp.

Referenced by is_active_dirichlet_node_valid(), and polyfem::solver::ShapeVariableToSimulation::ShapeVariableToSimulation().

Here is the caller graph for this function:

◆ is_active_pressure_boundary_ids_valid()

bool polyfem::solver::is_active_pressure_boundary_ids_valid ( const Eigen::VectorXi &  active_boundary_ids,
const std::vector< std::shared_ptr< legacy::State > > &  states,
std::string &  reason 
)

Validate active pressure boundary ids selection given states.

Parameters
[in]active_boundary_idsVector of active pressure boundary ids. Empty implies all active.
[in]statesShared ptr to all states.
[out]reasonReason why validation failed. Set only when invalid.

Definition at line 313 of file ActiveSelectionUtils.cpp.

Referenced by polyfem::solver::PressureBoundaryVariableToSimulation::PressureBoundaryVariableToSimulation().

Here is the caller graph for this function:

◆ is_active_time_slices_valid()

bool polyfem::solver::is_active_time_slices_valid ( const Eigen::VectorXi &  active_time_slices,
const std::vector< std::shared_ptr< legacy::State > > &  states,
std::string &  reason 
)

Validate active time slices selection given states.

Parameters
[in]active_time_slicesVector of active time slice indexes. Empty implies all active.
[in]statesShared ptr to all states.
[out]reasonReason why validation failed. Set only when invalid.

Definition at line 146 of file ActiveSelectionUtils.cpp.

Referenced by polyfem::solver::DirichletBoundaryVariableToSimulation::DirichletBoundaryVariableToSimulation(), and polyfem::solver::PressureBoundaryVariableToSimulation::PressureBoundaryVariableToSimulation().

Here is the caller graph for this function: