Stiffness matrix is nearly singular and cannot be solved error code 20

Если в результате расчёта вместо успешно рассчитанной фазы Вы получили ошибку, в первую очередь необходимо узнать код ошибки. Для этого дважды щёлкните левой кнопкой мыши по фазе с красным крестиком и в правой части появившегося окна Phases найдите информацию в поле Log info for last calculation. В этом окне будет указан код ошибки и её краткое описание.

Если в результате расчёта вместо успешно рассчитанной фазы Вы получили ошибку, в первую очередь необходимо узнать код ошибки. Для этого дважды щёлкните левой кнопкой мыши по фазе с красным крестиком и в правой части появившегося окна Phases найдите информацию в поле Log info for last calculation. В этом окне будет указан код ошибки и её краткое описание.

Ниже представлена таблица, которая поможет Вам разобраться с той или иной проблемой. Таблица состоит из трёх столбцов:

  1. Код ошибки. Номер ошибки.
  2. Сообщение. Описание ошибки.
  3. Подсказка. Возможные причины возникновения ошибки и варианты её решения.

Код ошибки

Сообщение

Подсказка

1, 8, 9 Stiffness matrix too big for reserved RAM memory. (Матрица жёсткости слишком велика для резервной оперативной памяти.) Уменьшите модель или используйте 64-разрядное ядро. Если проблема остается, установите больше оперативной памяти.
2, 3, 4,
5, 6, 7
Problem too big for reserved RAM memory.
(Задача слишком велика для резервной оперативной памяти.)
Уменьшите модель или используйте 64-разрядное ядро. Если проблема остается, установите больше оперативной памяти.
10 Deformation not compatible in STRESBL.
(Деформация не совместима в STRESBL.)
Иногда в расчетах Updated mesh (Изменяемая сетка) элементы могут «вывернуться наизнанку». Проверьте результаты. Может помочь увеличение жесткости в проблемной зоне.
11, 16 Determinant is zero or nearly zero.
(Определитель равен нулю или близок к нулю.)
Определитель равен нулю или близок к нулю. Причины могут быть следующие:

  • Плохое качество сетки конечных элементов (элементы с низким качеством). Качество сетки можно посмотреть в сгенерированной сетке (меню Mesh (Сетка) – пункт Quality (Качество)).
  • Плохое качество сетки конечных элементов (элементы с низким качеством). Качество сетки можно посмотреть в сгенерированной сетке (меню Mesh (Сетка) – пункт Quality (Качество)).
  • Потерянные граничные условия. Проверьте граничные условия на данной фазе.
  • Плавающие (несоединенные) кластеры / объемы.
12 Material set not found.
(Не найден набор данных по материалу.)
Проверьте, все ли присвоенные материалы (грунты и элементы конструкций) доступны и заданы.
13 Water weight is zero.
(Удельный вес воды равен нулю.)
Проверьте удельный вес воды в проекте.
14 Deformation not compatible in GLBMB.
(Деформация не совместима в GLBMB.)
Возникает (очень) большая деформация в (2D) балке, что приводит к очень большому изгибу. Попытайтесь задать меньшие шаги с помощью меньших приращений нагрузки и/или меньшей погрешности (или используйте меньшее максимальное значение DSC).
15 Jacobian matrix is less than or nearly zero.
(Якобиан меньше нуля или близок нулю.)
Обычно это вызвано одной из следующих двух проблем (или их комбинацией):

  • Конечные элементы плохой формы: хорошие конечные элементы близки по форме к равностороннему треугольнику. Пожалуйста, проверьте качество сетки конечных элементов.
  • Большая разница жёсткостей. Из-за численных причин значения жёсткости в модели не могут сильно отличаться друг от друга (например, отношение между наименьшей и наибольшей жёсткостями больше 106).
17, 19 Stiffness matrix is nearly singular and cannot be solved.
(Матрица жёсткости близка к сингулярной и не может быть решена.)
Причины могут быть следующие:

  • Плохое качество сетки конечных элементов. Проверьте качество сетки в Output (Вывод данных) и при необходимости измените её.
  • Потерянные граничные условия. Проверьте граничные условия на данной фазе.
  • Плавающие / несоединенные кластеры / объёмы.
20 Stiffness matrix is nearly singular and cannot be solved.
(Матрица жёсткости близка к сингулярной и не может быть решена.)
Причины могут быть следующие:

  • Плохое качество сетки конечных элементов (элементы с низким качеством). Качество сетки можно посмотреть в сгенерированной сетке (меню Mesh — пункт Quality).
  • Большая разница жёсткостей. Из-за численных причин значения жёсткости в модели не могут сильно отличаться друг от друга (например, отношение между наименьшей и наибольшей жёсткостями больше 106).
  • Комбинация выше названных причин.
  • Потерянные граничные условия. Проверьте граничные условия на данной фазе.
  • Плавающие / несоединённые кластеры / объёмы.
22 Error during startup (path too long?).
(Ошибка во время запуска (путь очень длинный?).)
Измените директорию, в которую сохраняются файлы расчёта. С версии 2D 2012 файлы сохраняются в папку Windows TEMP, поэтому необходимо изменить этот путь.
23 Error in iterative solver.
(Ошибка в итерационном решателе.)
Классический решатель: не хватает памяти или медленная сходимость. Проверьте наличие большой разницы жёсткостей.
24 Material set with zero permeability found, but not allowed in this type of calculation.
(Найден набор данных по материалу с нулевой проницаемостью, что невозможно в этом типе расчёта.)
Расчёты фильтрации грунтовых вод и консолидации требуют ненулевых значений проницаемости во всех элементах. Проверьте материалы и добавьте значение проницаемости: ki > 0.
25 Groundwater weight is zero.
(Удельный вес грунтовой воды равен нулю.)
Проверьте удельный вес воды в проекте.
26 Unable to load dll.<param1>.
(Невозможно загрузить dll.<param1>.)
Проверьте наличие файлов dll для пользовательских моделей грунта в папке программы. <param1> — это название файла.
27 File not found. <param1>.
(Файл не найден. <param1>.)
Не был найден файл, необходимый для расчёта. Эту проблему может решить перегенерация сетки конечных элементов. Если это не решит проблему, пожалуйста, пришлите проект в службу поддержки. <param1> — это название пропавшего файла.
28 Peak plastic shear strain is too low.
(Предельная пластическая сдвиговая деформация слишком мала.)
Модель NGI-ADP: предельные значения близки к нулю. Пожалуйста, проверьте введённые значения. Обратите внимание, что это значение выражается в процентах (%).
29 Error factorization matrix.
(Ошибка разложения матрицы.)
Проверьте наличие плавающих кластеров или неполных граничных условий.
30 Number of dynamic sub-steps is ZERO.
(Количество динамических подшагов равно нулю.)
Заданное значение динамических подшагов равно нулю. Для решения этой проблемы увеличьте количество динамических подшагов (см. итерационные настройки).
31 Error backsub matrix.
(Ошибка обратной матрицы.)
Внутренняя ошибка. Пожалуйста, пришлите проект PLAXIS в службу техподдержки.
32 Allocation memory error.
(Ошибка распределения памяти.)
Не хватает оперативной памяти: ввиду ограничения 32-битной системы и использования 3.6 Гб оперативной памяти или недостаточной оперативной памяти.
33 Internal error. Please, pack this project using Pack project and send to support.
(Внутренняя ошибка. Пожалуйста, заархивируйте данный проект с помощью опции Pack project (Заархивировать проект) и пришлите его в службу техподдержки.)
Возникла внутренняя ошибка. Это может быть вызвано одной из следующих причин:

  • Нулевая длина ряда погруженных балок в 2D. Обновитесь до версии 2D 2012.01 и создайте сетку конечных элементов заново.
  • Ошибка с границами свободного поля. Пожалуйста, проверьте исходные данные.

Если ошибка произошла по другой причине, пожалуйста, пришлите проект PLAXIS в службу техподдержки.

34 Ultimate state not reached in GW-Flow analysis.
(Не достигнуто предельное состояние в расчёте GW-Flow (Фильтрация грунтовых вод).)
Расчёт фильтрации грунтовых вод не сошёлся. Пожалуйста, проверьте исходные данные и настройки фазы.
35 No critical time step found; no draining boundaries.
(Не найден критический временной шаг; нет дренирующих границ.)
Проверьте граничные условия. Есть вероятность, что все границы закрыты.
36 NaN found in an element stiffness matrix.
(Найдено NaN в элементе матрицы жёсткости.)
(NaN = Not a Number (Не число))
Может быть связано с элементами с нулевой площадью или плохими параметрами материала.
37 DeAllocation memory error. (Ошибка перемещения в памяти.) Внутренняя ошибка. Пожалуйста, пришлите проект PLAXIS в службу техподдержки.
38 Invalid plate material table.
(Неверная таблица материалов плиты.)
Проверьте наборы данных нелинейных материалов конструкций.
39 NaN found during calculation, probably severe divergence.
(Найдено NaN в ходе расчёта, возможно, плохая сходимость.)
(NaN = Not a Number (Не число))
Это может быть связано с плохими входными параметрами. Если проблема остаётся, пожалуйста, пришлите проект PLAXIS в службу техподдержки.
40 Severe divergence.
(Плохая сходимость.)
Глобальная погрешность в расчёте слишком велика (> 106). Это может быть связано с плохими входными параметрами грунта. Пожалуйста, проверьте модель на последнем шаге для обнаружения проблемной области. В противном случае пришлите проект PLAXIS в службу техподдержки.
41 Knc≈ 0 in Sekiguchi-Ohta model, please correct.
(Knc≈ 0 в модели Секигучи-Ота. Пожалуйста, исправьте.)
Задайте повторно параметры материала модели Секигучи-Ота.
42 Water file does not exist. <param1>.
(Файл с водой не существует. <param1>.)
2D2011/2D2012: Пожалуйста, сгенерируйте гидравлические условия заново: откройте Staged construction (Поэтапное строительство), сгенерируйте давления воды и нажмите Update (Обновить). Если такая проблема возникает не в одной фазе, генерация сетки конечных элементов может быстрее решить проблему для всех фаз.
43 Not proper Newmark coefficients.
(Неправильные коэффициенты Ньюмарка.)
Задайте повторно коэффициенты Ньюмарка.
44 No drift correction for uneven time steps.
(Нет дрейфа перемещений для неравномерных временных шагов.)
Дрейф перемещений основан на равномерных временных шагах. Создайте таблицу с равномерными временными шагами или выключите опцию дрейфа перемещений (drift correction).
45 At least 2 data points are needed for drift correction.
(Для дрейфа перемещений требуется как минимум 2 точки.)
Для дрейфа перемещений требуется как минимум
2 точки. Увеличьте число точек или выключите опцию дрейфа перемещений (drift correction).
46 Time must be increasing in a tabular multiplier function.
(Время должно увеличиваться в табличной функции коэффициентов.)
Задайте повторно таблицы динамических коэффициентов: время должно увеличиваться на каждом временном шаге.
47 Invalid material parameter set. <param1>.
(Неверный набор данных по материалам. <param1>.)
Повторно задайте упомянутый набор данных по материалам.
48 Error in reading flow communication file. <param1>.
(Ошибка при чтении файла фильтрационной связи. <param1>.)
Файл <param1> не найден, возможно, возникла какая-то ошибка в расчёте фильтрации или расчёт фильтрации очень медленный. Обычно эта проблема решается уменьшением разницы в коэффициентах фильтрации.
49 non-zero dynamic load without multiplier.
(ненулевое значение динамической нагрузки без коэффициента.)
Пожалуйста, присвойте функцию динамического коэффициента всем динамическим нагрузкам.
50 non-zero dynamic displacement without multiplier.
(ненулевое значение динамического перемещения без нагрузки.)
Пожалуйста, присвойте функцию динамического коэффициента всем динамическим нагрузкам.
51 Gravitational acceleration (g) is zero.
(Гравитационное ускорение (g) равно 0.)
Повторно задайте гравитационное ускорение в параметрах проекта.
52 Both left and right hand side free field boundaries must be active.
(Границы свободного поля должны быть активны и справа, и слева.)
Активируйте границы свободного поля с обеих сторон.
53 Number of nodes on lateral boundaries must be equal to tie their degrees of freedom.
(Для связи степеней свободы узлов их количество должно совпадать на боковых границах.)
Перегенерируйте сетку конечных элементов для выполнения этого критерия. Убедитесь, что геометрия слева и справа идентична.
54 Parent phase uses updated mesh while this type of calculation does not support updated mesh.
(Родительская фаза использует изменяемую сетку, тогда как данный тип расчёта не поддерживает расчёт по изменяемой сетке.)
Перезадайте состояние Updated mesh (Изменяемая сетка) для предыдущих фаз или сбросьте перемещения на данной фазе. Обратите внимание, что перемещения не могут быть сброшены после расчёта по изменяемой сетке.
101 Soil body collapses.
(Разрушение грунта.)
Программа обнаружила разрушение грунта. Пожалуйста, оцените результаты расчёта в Output (Вывод данных) для выяснения причины разрушения.
102 Not enough load steps.
(Недостаточно шагов нагружения.)
Увеличьте значение, присвоенное параметру Max steps (Максимальное количество шагов).
103 Load advancement procedure fails.
(Нарушение процедуры развития нагрузки.)
Программа обнаружила проблемы в численном решении. Пожалуйста, проверьте входные параметры и результаты расчёта в Output (Вывод данных) для выяснения причины ошибки.
104 Prescribed ultimate time not reached.
(Не достигнуто заданное предельное время.)
Не достигнут заданный интервал времени в расчёте консолидации, возможно, из-за разрушения грунта. Пожалуйста, проверьте входные параметры и результаты расчёта в Output (Вывод данных) для выяснения причины ошибки.
105 Prescribed minimum excess pore pressure not reached.
(Не достигнуто заданное минимальное избыточное поровое давление.)
Не достигнуто заданное минимальное избыточное поровое давление, возможно, из-за разрушения грунта. Пожалуйста, проверьте входные параметры и результаты расчёта в Output (Вывод данных) для выяснения причины ошибки.
107 Prescribed ultimate level ∑Msf not reached.
(Не достигнут заданный предельный уровень ∑Msf.)
Увеличьте значение, присвоенное параметру Max steps (Максимальное количество шагов).
110 Accuracy condition not reached in last step.
(На последнем шаге не достигнута погрешность.)
Проблема может быть решена увеличением значения параметра Max steps (Максимальное количество шагов).
111 Soil body collapses. Accuracy condition not reached in last step.
(Разрушение грунта. На последнем шаге не достигнута погрешность.)
Комбинация 101 и 110.
112 Not enough load steps. Accuracy condition not reached in last step.
(Недостаточно шагов нагружения. На последнем шаге не достигнута погрешность.)
Комбинация 102 и 110.
113 Not enough load steps. Load advancement procedure fails. Accuracy condition not reached in last step.
(Недостаточно шагов нагружения. Нарушение процедуры развития нагрузки. На последнем шаге не достигнута погрешность.)
Комбинация 101, 103 и 110.
114 Prescribed ultimate time not reached. Accuracy condition not reached in last step.
(Не достигнуто заданное предельное время. На последнем шаге не достигнута погрешность.)
Комбинация 104 и 110.
115 Prescribed minimum excess pore pressure not reached. Accuracy condition not reached in last step.
(Не достигнуто заданное минимальное избыточное поровое давление. На последнем шаге не достигнута погрешность.)
Комбинация 105 и 110.
117 Prescribed ultimate level ∑Msf not reached.  Accuracy condition not reached in last step.
(Не достигнут заданный предельный уровень ∑Msf . На последнем шаге не достигнута погрешность.)
Комбинация 107 и 110.
201 Picos_Dec: matrix type differs from initial type.
(Picos_Dec: тип матрицы отличается от начального типа.)
Внутренняя ошибка. Пожалуйста, пришлите проект PLAXIS в службу техподдержки.
202 Picos_Back: matrix type differs from initial type.
(Picos_Back: тип матрицы отличается от начального типа.)
Внутренняя ошибка. Пожалуйста, пришлите проект PLAXIS в службу техподдержки.
203 Picos_Prep: iDof > nDof. Внутренняя ошибка. Пожалуйста, пришлите проект PLAXIS в службу техподдержки.
204 Picos_Back: incorrect solution, slow convergence.
(Picos_Back: некорректное решение, медленная сходимость.)
Решатель Picos дает медленную сходимость. Возможные причины:

  • Плохое качество сетки конечных элементов (элементы с низким качеством). Качество сетки можно посмотреть в сгенерированной сетке (меню Mesh — пункт Quality).
  • Большая разница жёсткостей. Из-за численных причин значения жёсткости в модели не могут сильно отличаться друг от друга (например, отношение между наименьшей и наибольшей жёсткостями больше 106).
  • Комбинация выше названных причин.
  • Потерянные граничные условия. Проверьте граничные условия на данной фазе.
  • Плавающие / несоединённые кластеры / объёмы.
  • Плита соединена только с погруженными сваями без (неактивных) элементов грунта, соединённых с плитой. Проблема может быть решена путем добавления кластеров грунта ниже плиты с последующим их деактивированием.
205 Picos_Back: error in call to Picos.
(Picos_Back: ошибка в обращении к Picos.)
Возможно, не достаточно оперативной памяти. Используйте 64-битную версию или установите больше оперативной памяти в Ваш компьютер.
206 Picos_Back: incorrect solution, slow convergence. Changed from Pardiso to Picos because of lack of memory.
(Picos_Back: некорректное решение, медленная сходимость. Замените решатель Pardiso на Picos из-за недостатка памяти.)
Комбинация 204 и 10.
241, 244,
245
Unexpected problem. Please contact Plaxis.
(Непредвиденная ошибка. Пожалуйста, свяжитесь с Plaxis.)
Внутренняя ошибка. Пожалуйста, пришлите проект PLAXIS в службу техподдержки.
246 Programmer abort request. For more details see the .Ixx or .Dxx file. <Params>.
(Разработчик прерывает запрос. Более детальную информацию ищите в файле .lxx или .Dxx. <Params>.)
Более детальную информацию ищите в данных файлах или пришлите Ваш проект в службу техподдержки.
247 Complex error. For more details see the .Ixx or .Dxx file. <Params>.
(Комплексная ошибка. Более детальную информацию ищите в файле .lxx или .Dxx. <Params>.)
Более детальную информацию ищите в данных файлах или пришлите Ваш проект в службу техподдержки.
248 Reference to non-existing material set. Redefined staged construction phase.
(Обращение к несуществующему набору данных по материалу. Задайте заново новую фазу поэтапного строительства.)
Задайте заново фазу поэтапного строительства и проверьте присвоенные материалы.
249 Not enough (virtual) memory.
(Недостаточно (виртуальной) памяти.)
Уменьшите размер модели; используйте 64-разрядное ядро. Если проблема останется, установите в Ваш компьютер больше оперативной памяти.
250 Mesh files does not exist.
(Файлы сетки не существуют.)
Потеряна информация по сетке. Сгенерируйте заново сетку конечных элементов.
251 Use dt > 0 for dynamics.
(Используйте dt > 0 для динамики.)
Убедитесь, что значение интервала времени больше нуля: dt > 0.
252 Calculation results of previous phase do not match the current mesh. Recalculate the previous phase.
(Результаты расчёта предыдущей фазы не совпадают с текущей сеткой. Пересчитайте предыдущую фазу.)
Для решения проблемы пересчитайте предыдущую фазу(ы).
253 Disk (nearly) full.
(Диск (близок) к заполнению.)
Диск переполнен: очистите некоторое пространство на диске или переместите расчёт на диск большего размера. Обратите внимание, что с версии 2D2012 все расчёты проводятся в папке Windows TEMP, так же, как в PLAXIS 3D. Это означает, что там должно быть достаточно свободного места на винчестере.
254 Cancelled by user.
(Отменено пользователем.)
Пользователь остановил расчёт.
255 Abort request from USER-subroutine.
(Отказ в запросе от USER-подпрограммы.)
Проблема вызвана программной ошибкой в коде UDSM (пользовательская модель грунта).
256 Run-time-error in kernel. (Ошибка при выполнении программы в ядре.) Проблема вызвана неопределённой ошибкой ядра (в более новых версиях). Пожалуйста, пришлите проект PLAXIS в службу техподдержки.
501 Beam material set: ratio I3/I2 too large.
(Набор данных по материалу балки: отношение I3/I2 слишком велико.)
Проверьте наборы данных по материалу балки, а именно соотношение I3/I2.
501 Beam material set: ratio I2/I3 too large.
(Набор данных по материалу балки: отношение I2/I3 слишком велико.)
Проверьте наборы данных по материалу балки, а именно соотношение I2/I3.
1000 The results from the previous phase are missing. Please recalculate the previous phase.
(Результаты предыдущей фазы потеряны. Пожалуйста, пересчитайте предыдущую фазу.)
Пересчитайте предыдущую фазу.

Содержание

  1. Error: Singular Matrix
  2. Описание проблемы
  3. Решение
  4. Фильтр по разделам
  5. Singular matrix
  6. Описание проблемы
  7. Решение
  8. Фильтр по разделам
  9. Решение матриц вида Ax = B = = > ошибка: Матрица близка к сингулярной или плохо масштабируется
  10. 4 ответов
  11. Fusion 360
  12. Issue:
  13. Causes:
  14. Solution:
  15. Contact
  16. Constraints
  17. Interference
  18. Material Properties
  19. Distorted Mesh
  20. Modal Frequencies
  21. Fusion 360
  22. Проблема
  23. Причины:
  24. Решение
  25. Контактное лицо
  26. Зависимости
  27. Интерференция
  28. Свойства материала
  29. Искаженная сеть
  30. Модальные частоты

Error: Singular Matrix

Описание проблемы

What does the error message «Singular Matrix» mean?

Решение

The problem is that the stiffness matrix of the linear system is singular and the linear solver cannot invert it. Examples of practical modeling situations where this can occur are:

One, or more, of the relevant material properties is zero. Or, the material properties become zero during the solution while solving a nonlinear problem. If you are solving a nonlinear problem, see also: Improving Convergence of Nonlinear Stationary Models. If you are solving a linear problem, see also: What to do when a linear stationary model is not solving

Your problem (equation system combined with the boundary conditions) is over- or underspecified. Check the equations and boundary conditions. You will often see this error if you have an ill-posed initial condition. It can be a good start to look at the initial condition and set it to some educated guess. Another example can be if you apply periodic boundary conditions when the PDE problem you solve does not permit such a solution. Yet another example is a Navier-Stokes problem where the pressure is unconstrained on the boundaries. You will need to make a point constraint somewhere.

You have specified a dependency of an expression defined in terms of coordinate derivatives of the solution variable. As the default initial guess into nonlinear systems is a constant (making the initial guess for the solution-derivative dependent expression zero), this can cause the equation to become singular. The cure is to specify an initial value with a non-zero derivative, such as 1e-6*sqrt(x^2+y^2+z^2) . This problem can sometimes occur when working with nonlinear materials, for example nonlinear magnetic materials (magnetic saturation effects).

You are solving a nonlinear eigenvalue problem with a zero linearization point. Examples of models that often result in a nonlinear eigenvalue problem are eigenfrequency analyses with PMLs or lossy materials, in RF or acoustics. To avoid the error message, you need to specify a non-zero, possibly complex-valued eigenvalue linearization point in the Study->Solver Configurations->Solver->Eigenvalue Solver settings window. Once you have a first solution, use the Global Evaluation under Results->Derived Values to evaluate the expression lambda for the solution that you are interested in. Enter its value as the new eigenvalue linearization point, solve again, and repeat the process until the eigenvalue no longer changes. This should usually not take more than a few iterations.

Фильтр по разделам

Компания COMSOL прилагает все разумные усилия для проверки информации, представленной на этой странице. Предоставляемые ресурсы и документация носят исключительно справочный характер, и компания COMSOL не делает явных или неявных утверждений о корректности этих ресурсов. Компания COMSOL не несет юридической ответственности в отношении точности представленных здесь данных. Все товарные знаки, использованные в настоящем документе, являются собственностью их владельцев. Обратитесь к руководству пользователя ваших программных продуктов за подробной информацией о товарных знаках.

Источник

Singular matrix

Описание проблемы

An error «Singular matrix» occurs.

Решение

The system matrix (Jacobian matrix or stiffness matrix) is singular, so the solver cannot invert it. Usually this means that the system is underdetermined. Check that all equations are fully specified and that the boundary conditions are appropriate. For instance, in a stationary model you usually need to have a Dirichlet condition on some boundary (that is, specifying the value of the solution on the boundary).

A singular matrix could also occur if mesh elements are of too low quality. If the minimum element quality is less than 0.005 you might be in trouble (to check the mesh quality, plot the built-in variable qual ). Another reason for this error message is that you have different element orders for two variables that are coupled by, for example, a weak constraint. Use the same element order for all variables that are coupled.

Фильтр по разделам

Компания COMSOL прилагает все разумные усилия для проверки информации, представленной на этой странице. Предоставляемые ресурсы и документация носят исключительно справочный характер, и компания COMSOL не делает явных или неявных утверждений о корректности этих ресурсов. Компания COMSOL не несет юридической ответственности в отношении точности представленных здесь данных. Все товарные знаки, использованные в настоящем документе, являются собственностью их владельцев. Обратитесь к руководству пользователя ваших программных продуктов за подробной информацией о товарных знаках.

Источник

Решение матриц вида Ax = B = = > ошибка: Матрица близка к сингулярной или плохо масштабируется

у меня возникли проблемы с решением системы вида Ax=B

решение для системы должно быть

однако это не работает.

Я получаю следующее сообщение об ошибке при попытке вышеуказанной строки кода:

кажется, что matlab испытывает проблемы с инвертированием матрицы, которую я указал. Я попытался проверить, что обратная функция работает правильно, введя inv (A)*a

Это должно дать identity matrix, однако я получил ту же ошибку и некоторые номера мусора.

это матрица A, которую я использую:

любые идеи, почему это не работает? Я также попытался преобразовать A в разреженную матрицу(sparse (A)), а затем запустить обратную команду. Без костей.

4 ответов

проблема действительно в вашей математике. Матрица, которую вы предоставили, не имеет полного ранга, поэтому она не обратима. Вы можете проверить это вручную (не потратили время на это), но MATLAB уже указывает на это, показывая это предупреждение.

так как вы работаете с числами с плавающей запятой, это иногда вызывает другие тонкие проблемы, одну из которых вы можете увидеть в результате det(A) , который в порядке 1e-16 , т. е. точность машины или 0 в практиковать.

вы можете видеть, что эта матрица не имеет полного ранга, выполнив rank функция: rank(A) = 8 . Для 9×9 матрица, это действительно означает, что матрица не обратима для двойников (как rank функция учитывает точность машины).

если вы хотите использовать MATLAB для получения результата, соответствующего ручному вычислению, вы можете использовать Symbolic Toolbox и его vpa (арифметика переменной точности) для работы вокруг возможных численных задач ценой более медленного расчета.

как с VPA, так и с плавающими точками вы получите, что ранг равен 8, Размер [9 9], а определитель практически равен 0, т. е. сингулярен или не обратим. Изменение нескольких записей может сделать вашу матрицу регулярной (не сингулярной), но это не гарантирует работу, и это решит другую проблему.

чтобы решить вашу актуальную проблему A*x=b на x , вы можете попробовать использовать mldivide (а.к.а. оператор обратный слеш ) или псевдо-инверсия Мура-Пенроуза:

но помните, что такая система не имеет уникального решения, поэтому как псевдо-обратный, так и оператор обратной косой черты могут (и в этом случае будут) возвращать очень разные решения, является ли любое из них приемлемым, действительно зависит от вашего приложения.

Это означает, что он говорит. Матрица сингулярный, что означает, что он не может быть перевернут. Не все матрицы могут.

в геометрических терминах у вас есть матрица, которая преобразует один 9-мерный объект в другой, но полностью выравнивает одно измерение. Это невозможно исправить; невозможно сказать, как далеко можно зайти в этом направлении.

Источник

Fusion 360

By:

Issue:

Causes:

  • In a static stress analysis, the model is not statically stable.
    • The model has parts that are unconstrained. Either a constraint is missing or contact is missing.
  • In a thermal analysis, contact is missing that bonds the parts together.
  • Highly distorted elements.
    • The mesh is distorted, either because it is too large or because the CAD geometry leads to distorted elements.
    • The parts have interference, and the contact distorts the mesh when the analysis removes the interference.
  • The material properties are wrong or have a wide range in stiffness between parts.
  • The design has issues with the geometry.

Solution:

Contact

Multiple bodies need to use contact to connect parts together. Without contact, the parts can pass through each other (in a stress analysis) or not transfer heat from one part to another (in a thermal analysis). Check the contacts («Contact > Manage Contacts») to confirm that all parts are connected as needed.

Use the «Display > DOF View» to find parts that are not connected to the model.

If using «offset bonded» contact because the parts are not physically touching, set the «Max Activation Distance» to a value larger than the distance between the faces.

Constraints

In a static stress analysis, all parts must be prevented from moving freely in six (6) directions: X, Y, and Z translation and X, Y, and Z rotation about the axes. The constraints provide this stability for the model. Check that the appropriate parts are constrained. Together with the contact, no part should be free to move in any of the six directions.
Be curious, especially using partially fixed constraints, the summary of the constraints should block the elemnts.

Interference

Use the Simplify environment «Inspect > Interference» to detect and remove interferences.

Material Properties

Distorted Mesh

Check the model for any faces that extend to a very small sliver face.
If the geometry looks reasonable, try a smaller mesh size.

Modal Frequencies

If the problem cannot be isolated from the above instructions, perform a Modal Frequencies study to check for parts that show a rigid body motion or unexpected motion. (Parts that are unconstrained will vibrate at a frequency close to zero and show rigid body motion. A distorted mesh will appear to vibrate a few elements while the rest of the model is motionless.)

  1. Clone the study.
  2. Set it up for a Modal Frequencies study. («Manage > Study Type») Solve for at least 8 modes.
  3. Run the analysis.
  4. Check the first modes for frequencies that are near zero (0).
    1. Any part that is not fully constrained (either by contact or constraints) will have a low frequency. The displacement contour will show which part is moving freely (that is, a rigid body). This is the part that is unstable and causes the singularity in the static analysis.
    2. If only a few elements are moving at the low frequencies, use those to identify where the mesh is distorted. The CAD model may need to be adjusted to eliminate the source of the distorted mesh, or the parts removed from the analysis if they are not necessary. (Use the Simplify command in the Simulation workspace to remove bodies from the analysis.)

Note: If the Modal Frequencies analysis fails with the same singularity error, the problem is due to distorted elements. Run the modal frequency study with a finer mesh size. When the mesh is small enough, the analysis will be completed.

Источник

Fusion 360

Автор:

Проблема

Причины:

  • При расчете статических напряжений модель статически нестабильна.
    • Модель содержит детали без зависимостей. Либо отсутствует зависимость, либо отсутствует контакт.
  • При тепловом анализе отсутствует контакт, связывающий детали.
  • Элементы с сильной деформацией.
    • Сеть искажается либо из-за ее слишком большого размера, либо из-за того, что геометрия САПР приводит к искажению элементов.
    • Детали имеют пересечения, и контакт искажает сеть, когда анализ удаляет пересечения.
  • Свойства материала неверны или имеют широкий диапазон жесткости между деталями.
  • В проекте имеются проблемы с геометрией.

Решение

Контактное лицо

Для соединения деталей необходимо использовать контакт для нескольких тел. Без контакта детали могут проходить через друг друга (при анализе напряжений) или не передавать тепло от одной детали к другой (при тепловом анализе). Проверьте контакты («Контакт» > «Управление контактами»), чтобы убедиться в том, что все детали соединены, как требуется.

Используйте «Отображение» > «Вид степеней свободы», чтобы найти детали, которые не соединены с моделью.

При использовании контакта «Offset Linbed», так как детали не соприкасаются физически, задайте для параметра «Max Activation Distance» значение, превышающее расстояние между гранями.

Зависимости

При расчете статического напряжения все детали должны быть защищены от свободного перемещения в шести (6) направлениях: смещение по осям X, Y и Z и вращение по осям X, Y и Z. Зависимости обеспечивают такую стабильность модели. Убедитесь, что на соответствующие детали наложены зависимости. Вместе с контактом ни одна деталь не должна свободно перемещаться в любом из шести направлений.
Любопытно, что, особенно если используются частично фиксированные зависимости, сводка о них должна блокировать элементы.

Интерференция

Используйте среду упрощения «Проверка» > «Пересечения» для обнаружения и удаления пересечений.

Свойства материала

Искаженная сеть

Проверьте модель на наличие граней, которые удлиняются до очень маленькой расщепленной грани.
Если геометрия выглядит приемлемой, попробуйте уменьшить размер сети.

Модальные частоты

Если проблему не удается выделить из приведенных выше инструкций, выполните исследование модальных частот, чтобы проверить детали, которые показывают движение жесткого тела или неожиданное движение. (Детали без зависимостей будут вибрировать на частоте, близкой к нулю, и будут показывать движение жесткого тела. Искаженная сетка будет выглядеть так, что она будет вибрировать несколько элементов, в то время как остальная часть модели неподвижна.)

  1. Создайте копию исследования.
  2. Настройте его для модального исследования частот. («Управление > Тип исследования») Решите не менее 8 форм.
  3. Запустите анализ.
  4. Проверьте первые режимы на частоты, которые близки к нулю (0).
    1. Детали, которые не полностью определены (контактом или зависимостями), будут иметь низкую частоту. Контур смещения покажет, какая деталь свободно перемещается (т. е. жесткое тело). Это неустойчивая деталь, которая вызывает сингулярность в статическом анализе.
    2. Если на низких частотах движутся только несколько элементов, используйте их для определения места искажения сети. Возможно, потребуется откорректировать матмодель, чтобы устранить источник искаженной сетки, или детали, удаленные из анализа, если они не требуются. (Используйте команду «Упростить» в рабочем пространстве «Моделирование», чтобы удалить тела из анализа.)

Примечание. Если при анализе модальных частот возникает та же ошибка сингулярности, проблема заключается в искажении элементов. Запустите модальное исследование частоты с более мелким размером сети. Если сетка достаточно мала, анализ будет завершен.

Источник

Проблема

При сбое моделирования Fusion 360 появляется следующее сообщение.

Ошибка: МАТРИЦА ЖЕСТКОСТИ СИНГЛЯРНАЯ ИЛИ НЕПОЛОЖИТЕЛЬНАЯ 

Причины: 
— При расчете статических напряжений модель не является статически стабильной, поскольку отсутствует зависимость или контакт.
— В тепловом анализе отсутствует контакт, связывающий детали.
-Сетка искажается, либо из-за ее слишком большого размера, либо из-за того, что геометрия САПР приводит к искажению элементов.
— Детали имеют пересечения, и контакт искажает сеть, когда анализ устраняет пересечение.
— Свойства материала неверны или имеют широкий диапазон жесткости между деталями.

Ваши действия:
— Убедитесь, что на соответствующие детали наложены зависимости.
— Используйте вид "Отображение — > Степень свободы" для поиска неподсоединенных элементов.nt- Increase the contact tolerance or model the components differently.
— Проверьте наличие небольших элементов, которые вызывают искажение элементов, и попробуйте подавить эти элементы или выполнить моделирование по-другому.
-Используйте среду упрощения "Проверка -> Пересечения" для обнаружения и удаления пересечений.
— Проверьте свойства материала, чтобы убедиться в их реалистичности.

Снимок экрана 2022-07-13 в 5:19:25 по местному времени

Причины:

  • При расчете статических напряжений модель статически нестабильна.
    • Модель содержит детали без зависимостей. Либо отсутствует зависимость, либо отсутствует контакт.
  • При тепловом анализе отсутствует контакт, связывающий детали.
  • Элементы с сильной деформацией.
    • Сеть искажается либо из-за ее слишком большого размера, либо из-за того, что геометрия САПР приводит к искажению элементов.
    • Детали имеют пересечения, и контакт искажает сеть, когда анализ удаляет пересечения.
  • Свойства материала неверны или имеют широкий диапазон жесткости между деталями.
  • В проекте имеются проблемы с геометрией.

Решение

Для устранения этой проблемы выполните следующие действия. Используйте «Решение» > «Предварительная проверка» в качестве руководства по возможным проблемам с моделью.

Контактное лицо

Для соединения деталей необходимо использовать контакт для нескольких тел. Без контакта детали могут проходить через друг друга (при анализе напряжений) или не передавать тепло от одной детали к другой (при тепловом анализе). Проверьте контакты («Контакт» > «Управление контактами»), чтобы убедиться в том, что все детали соединены, как требуется.

Используйте «Отображение» > «Вид степеней свободы», чтобы найти детали, которые не соединены с моделью.

При использовании контакта «Offset Linbed», так как детали не соприкасаются физически, задайте для параметра «Max Activation Distance» значение, превышающее расстояние между гранями. 

Зависимости

При расчете статического напряжения все детали должны быть защищены от свободного перемещения в шести (6) направлениях: смещение по осям X, Y и Z и вращение по осям X, Y и Z. Зависимости обеспечивают такую стабильность модели. Убедитесь, что на соответствующие детали наложены зависимости. Вместе с контактом ни одна деталь не должна свободно перемещаться в любом из шести направлений.
Любопытно, что, особенно если используются частично фиксированные зависимости, сводка о них должна блокировать элементы.

Интерференция

Используйте среду упрощения «Проверка» > «Пересечения» для обнаружения и удаления пересечений. 

Свойства материала

Проверьте свойства материала, чтобы убедиться в их реалистичности. Примеры ошибочных свойств:

  • Коэффициент Пуассона 0,5. Вместо этого используйте 0,48 или 049.
  • Детали с сильно отличающимся модулем Юнга (модуль упругости). Максимальное значение / (минимальное значение) должно быть в порядке 1000 или меньше.

Искаженная сеть

Проверьте модель на наличие граней, которые удлиняются до очень маленькой расщепленной грани.
Если геометрия выглядит приемлемой, попробуйте уменьшить размер сети.
 

Модальные частоты

Если проблему не удается выделить из приведенных выше инструкций, выполните исследование модальных частот, чтобы проверить детали, которые показывают движение жесткого тела или неожиданное движение. (Детали без зависимостей будут вибрировать на частоте, близкой к нулю, и будут показывать движение жесткого тела. Искаженная сетка будет выглядеть так, что она будет вибрировать несколько элементов, в то время как остальная часть модели неподвижна.)

  1. Создайте копию исследования.
  2. Настройте его для модального исследования частот. («Управление > Тип исследования») Решите не менее 8 форм. 
  3. Запустите анализ.
  4. Проверьте первые режимы на частоты, которые близки к нулю (0).
    1. Детали, которые не полностью определены (контактом или зависимостями), будут иметь низкую частоту. Контур смещения покажет, какая деталь свободно перемещается (т. е. жесткое тело). Это неустойчивая деталь, которая вызывает сингулярность в статическом анализе.
    2. Если на низких частотах движутся только несколько элементов, используйте их для определения места искажения сети. Возможно, потребуется откорректировать матмодель, чтобы устранить источник искаженной сетки, или детали, удаленные из анализа, если они не требуются. (Используйте команду «Упростить» в рабочем пространстве «Моделирование», чтобы удалить тела из анализа.)

Примечание. Если при анализе модальных частот возникает та же ошибка сингулярности, проблема заключается в искажении элементов. Запустите модальное исследование частоты с более мелким размером сети. Если сетка достаточно мала, анализ будет завершен.

Экспорт модели в STEP

Экспорт модели в формат STEP и повторный импорт в Fusion 360. Если проблема не устранена, проверьте еще раз на наличие возможных пересечений или модальных частот.

у меня возникли проблемы с решением системы вида Ax=B

решение для системы должно быть

x = inv(A)*B

однако это не работает.

Я получаю следующее сообщение об ошибке при попытке вышеуказанной строки кода:

Warning: Matrix is close to singular or badly scaled.
     Results may be inaccurate. RCOND = 1.156482e-018. 

кажется, что matlab испытывает проблемы с инвертированием матрицы, которую я указал. Я попытался проверить, что обратная функция работает правильно, введя inv (A)*a

Это должно дать identity matrix, однако я получил ту же ошибку и некоторые номера мусора.

это матрица A, которую я использую:

A = [5/2   1/2  -1     0     0    -1/2  -1/2   0     0
     1/2   1/2   0     0     0    -1/2  -1/2   0     0 
    -1     0     5/2  -1/2  -1     0     0    -1/2   1/2
     0     0    -1/2   1/2   0     0     0     1/2  -1/2
     0     0    -1     0     3/2  -1/2   1/2   0     0
    -1/2  -1/2   0     0    -1/2   2     0    -1     0  
    -1/2  -1/2   0     0     1/2   0     1     0     0 
     0     0    -1/2   1/2   0    -1     0     2     0 
     0     0     1/2  -1/2   0     0     0     0     1]

любые идеи, почему это не работает? Я также попытался преобразовать A в разреженную матрицу(sparse (A)), а затем запустить обратную команду. Без костей.

4 ответов


проблема действительно в вашей математике. Матрица, которую вы предоставили, не имеет полного ранга, поэтому она не обратима.
Вы можете проверить это вручную (не потратили время на это), но MATLAB уже указывает на это, показывая это предупреждение.

так как вы работаете с числами с плавающей запятой, это иногда вызывает другие тонкие проблемы, одну из которых вы можете увидеть в результате det(A), который в порядке 1e-16, т. е. точность машины или 0 в практиковать.

вы можете видеть, что эта матрица не имеет полного ранга, выполнив rank функция: rank(A) = 8. Для 9x9 матрица, это действительно означает, что матрица не обратима для двойников (как rank функция учитывает точность машины).

если вы хотите использовать MATLAB для получения результата, соответствующего ручному вычислению, вы можете использовать Symbolic Toolbox и его vpa (арифметика переменной точности) для работы вокруг возможных численных задач ценой более медленного расчета.

B = [5  1 -2  0  0 -1 -1  0  0;
     1  1  0  0  0 -1 -1  0  0;
    -2  0  5 -1 -2  0  0 -1  1;
     0  0 -1  1  0  0  0  1 -1;
     0  0 -2  0  3 -1  1  0  0;
    -1 -1  0  0 -1  4  0 -2  0;
    -1 -1  0  0  1  0  2  0  0;
     0  0 -1  1  0 -2  0  4  0;
     0  0  1 -1  0  0  0  0  2];
A = B/2;
size(A)    % = [9 9]
det(A)     % = -1.38777878078145e-17
rank(A)    % = 8
C = vpa(A);
det(C)     % = 0.0
rank(C)    % = 8

как с VPA, так и с плавающими точками вы получите, что ранг равен 8, Размер [9 9], а определитель практически равен 0, т. е. сингулярен или не обратим. Изменение нескольких записей может сделать вашу матрицу регулярной (не сингулярной), но это не гарантирует работу, и это решит другую проблему.

чтобы решить вашу актуальную проблему A*x=b на x, вы можете попробовать использовать mldivide (а.к.а. оператор обратный слеш ) или псевдо-инверсия Мура-Пенроуза:

x1 = Ab;
x2 = pinv(A)*b;

но помните, что такая система не имеет уникального решения, поэтому как псевдо-обратный, так и оператор обратной косой черты могут (и в этом случае будут) возвращать очень разные решения, является ли любое из них приемлемым, действительно зависит от вашего приложения.


Это означает, что он говорит. Матрица сингулярный, что означает, что он не может быть перевернут. Не все матрицы могут.

в геометрических терминах у вас есть матрица, которая преобразует один 9-мерный объект в другой, но полностью выравнивает одно измерение. Это невозможно исправить; невозможно сказать, как далеко можно зайти в этом направлении.


матрица и сингулярный, рассмотрим B=2 * A ниже:

B = [5  1 -2  0  0 -1 -1  0  0;
     1  1  0  0  0 -1 -1  0  0;
    -2  0  5 -1 -2  0  0 -1  1;
     0  0 -1  1  0  0  0  1 -1;
     0  0 -2  0  3 -1  1  0  0;
    -1 -1  0  0 -1  4  0 -2  0;
    -1 -1  0  0  1  0  2  0  0;
     0  0 -1  1  0 -2  0  4  0;
     0  0  1 -1  0  0  0  0  2]

det(B)

0

bicgstab(A,b,tol,maxit), итерационный решатель, смог решить сингулярную линейную систему A*x=b для сингулярной матрицы A:

size(A)=[162, 162] 
rank(A)=14 
cond(A)=4.1813e+132 

я:

tol=1e-10; 
maxit=100;

ни один из вышеупомянутых (включая svd, , inv, pinv, gmres) работал на меня, но bicgstab сделал хорошую работу. bicgstab сходится на итерации 4 к решению с относительным остаточным 1.1 e-11. Он работает быстро для разреженных матриц.

см. документацию здесь: https://uk.mathworks.com/help/matlab/ref/bicgstab.html


Понравилась статья? Поделить с друзьями:
  • Steuergerat 24v hydronic 10 коды ошибок
  • Stern weber s200 ошибка e408
  • Step inside ошибка при установке гта 5
  • Step inside ошибка decompression problem uncompressed block size is too big
  • Step inside decompression problem uncompressed block size is too big как исправить